鱼C论坛

 找回密码
 立即注册
查看: 2778|回复: 7

简单的机器人聊天程序

[复制链接]
发表于 2012-5-31 16:33:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 机器人对话程序
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("*****************************");
            Console.WriteLine("     机器人对话程序开始      ");
            Console.WriteLine("*****************************");
            Console.WriteLine("按Y或y开始程序!!按n或N退出程序!!");
            string choose = Console.ReadLine();
            if (choose == "n" || choose == "N")
            {
                return;
            }
            Console.WriteLine("开始执行程序!!!!!");
            Console.Clear();
            
            Console.WriteLine("请输入机器人的代号:1或是2");
            int id;
            try
            {
                string ID = Console.ReadLine();
                id = Convert.ToInt32(ID);
            }
            catch
            {
                Console.WriteLine("输入错误,请重新输入!!");
                return;
            }
            Console.Clear();
            robotName a1 = new robotName();
            switch (id)
            {
                case 1:
                    {
                        Console.WriteLine("您选择的为第一个机器人\n属性:\n性别:男  年龄:21  身高:175cm  爱好:聊天、数学、文学、篮球。");
                        break;
                    }
                case 2: { Console.WriteLine("您选择的为第二个机器人\n属性:\n性别:女  年龄:19  身高:168cm  爱好:聊天、看小说、韩剧、购物。"); break; }
                    
            }
            Console.WriteLine("是否要修改机器人的名字,是的话按y或Y,否则按n或N");
            string choose2 = Console.ReadLine();
            if (choose2 == "y" || choose2 == "Y")
            {
                Console.Write("请输入名字:");
                if (id == 1) a1.Name1 = Console.ReadLine();
                if (id == 2) a1.Name2 = Console.ReadLine();
            }
            string namerobot="";
            switch (id)
            {
                case 1:namerobot=a1.Name1;break;
                case 2: namerobot = a1.Name2; break;
            }
            Console.WriteLine("开始和机器人{0}聊天",namerobot);
            robot ROBOT = new robot();
            ROBOT.Eat=10;
            Console.Clear();
            Console.WriteLine("请输入想问的问题:");

            while (true)
            {
                    Console.Write("我:");
                string str1 = Console.ReadLine();
               
                            Console.Write(namerobot+":");
               // Console.WriteLine("{0}:", namerobot);这种表达式也行。
                if (str1.Contains("姓名"))
                {
                    Console.WriteLine("{0}。", namerobot);
               
                }
                if (str1.Contains("恋爱"))
                {
                    Console.WriteLine("你多少岁了");
                    string str2 = Console.ReadLine();
                    if (Convert.ToInt32(str2) > 20)
                    {
                        Console.WriteLine("甜蜜的事");
                    }
                    else Console.WriteLine("少儿不宜!!");
                }
                else Console.WriteLine("听不懂");
                ROBOT.Eat--;
                while (ROBOT.Eat < 0)
                { Console.WriteLine("饿死了!!!主人不给啊!!");
                Console.WriteLine("即将退出程序!");
                    return; }
                Console.WriteLine("还剩" + ROBOT.Eat + "点食物!");
                ROBOT.xunwen();
            }
           
        }
        class robotName//名字
        {
            public string Name1 = "机器猫";
            public string Name2 = "叮当猫";
            public string this[int index]
            {
                set
                {
                    if (index == 1)
                    {
                        Name1 = value;
                    }
                    if (index == 2)
                    {
                        Name2 = value;
                    }
                }
                get
                {
                    if (index == 1)
                        return Name1;
                    if (index == 2)
                        return Name2;
                    else throw new Exception("输入的数字错误,请输入1或2!");
                }

            }
        }
           class robot//喂食
           {public int Eat{set;get;}
         
           
               public void xunwen()
               {
                   Console.WriteLine("是否喂食??是的话请按y或Y");
                   if (Console.ReadLine()=="y"||Console.ReadLine()=="Y")
                   {
                       Random p = new Random();
                       int t = p.Next(3,10);
                       if (t > 5) Console.WriteLine("踩到狗屎了,你得到食物{0}点", t);
                       Eat = Eat + t;
                   }
               }
                    }
        }

评分

参与人数 1鱼币 +5 收起 理由
镜花水月 + 5 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-5-31 16:35:29 | 显示全部楼层
先自己顶一个,本帖仅适用于新手,代码有点乱,新手可以凑合着看,高手误入,免得浪费时间
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-13 19:03:32 | 显示全部楼层
楼主强大,学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-27 11:18:09 | 显示全部楼层
:o 这样也行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-27 13:37:12 | 显示全部楼层
这个是什么语言?...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-6-27 22:19:23 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-17 00:02:05 | 显示全部楼层
还记得,当初刚开始和面向对象编程的时候,混乱的一塌糊涂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-28 17:31:38 | 显示全部楼层
哈哈,这个晚上用JAVA实现一个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 19:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表