这是我编写的第一个程序:聊天机器人。 必看!如何download课程 代码如下,非常粗陋。希望大家多多指点,谢谢! PS: 这个聊天机器人是在看了杨中科老师的视频后做的,思路都是课上杨老师讲的,只是加了一个食谱。本以为看视频的时候都看明白了,之后自己写一遍不会太难。结果出乎我的意料,光DEBUG就花了很长时间。杨老师课上的一句话“程序员不是听课听出来的,也不是看书看出来的,而是编程编出来的”真的太有道理了。 PS: 程序中创建了一个字符串数组"recipeone".eat时如果输入字符串"food"中包含"recipeone"中的某个字符串,就开始eat。 于是就写了:if(food.Contains(recipeone[]))和if(food.Contains(recipeone)),发现都不行,Contains方法不能包含字符串数组。最后无可奈何,用了foreach循环,一个个比一下。不知道有没有更好的办法,希望大家能告诉我,谢谢! namespaceoneRobot{classProgram{staticvoidMain(string[]args){//构造机器人,名字name:大熊。饥饿值hungerLevel“5”RobotOneMyFirstRobot=newRobotOne("大熊",5);Console.WriteLine("你好!");//开始聊天while(true){ //饥饿值0,饿死退出。0饥饿值3,喊饿,进食。if(MyFirstRobot.hungerLevel0){MyFirstRobot.die();return;}elseif(MyFirstRobot.hungerLevel3MyFirstRobot.hungerLevel=0){MyFirstRobot.hungry();MyFirstRobot.Eat(Console.ReadLine()); }//饥饿值=3,聊天。输入内容含“88”或“再见”,退出。否则,用chat方法聊天。else{stringinput=Console.ReadLine();if(input.Contains("88") input.Contains("再见")){Console.WriteLine("");return;}else{MyFirstRobot.Chat(input);}}}}}classRobotOne{//机器人食谱publicstring[]recipeOne=newstring[]{"果","香蕉","水果","西瓜","草莓","梨","橘子","柚子","荔枝","甘蔗","包子","饺子","驴肉火烧","面","米","肉","粥","蔬菜"};stringname;publicinthungerLevel; //喊饿方法publicvoidhungry(){Console.WriteLine("饿死啦,我要吃饭");hungerLevel--;}//饿死了。publicvoiddie(){Console.WriteLine("饿死了。。。。。");}//如果输入中包含食谱中的内容,进食。publicvoidEat(stringfood){foreach(stringstrinrecipeOne){if(food.Contains(str)){hungerLevel+=3;Console.WriteLine("太好吃了!你是好人");return;}}}//聊天。publicvoidChat(stringtalk){if(talk.Contains("你")(talk.Contains("名字") talk.Contains("叫啥") talk.Contains("是谁"))){Console.WriteLine("我是最聪明的机器人{0}",this.name);hungerLevel--;}elseif(talk.Contains("你好")){Console.WriteLine("你好!");hungerLevel--;}elseif(talk.Contains("天气")(talk.Contains("?") talk.Contains("吗") talk.Contains("怎么样"))){Console.WriteLine("天气很好!");hungerLevel--;}else{Console.WriteLine("听不懂!");hungerLevel--;}}//构造函数。初始化机器人的名字,饥饿度。publicRobotOne(stringinputname,intinputhungry){name=inputname;hungerLevel=inputhungry;} 转载请注明原文网址:http://www.13801256026.com/pgzp/pgzp/8203.html |