基于控制台的简单版的聊天机器人,词库可以自己添加。
源码如下:
using System; using System.Collections.Generic; using System.Text; namespace 面向对象聊天机器人1.0 { class Program { static void Main(string[] args) { 机器人 r1 = new 机器人(); r1.Name = "小I"; r1.Eat(5); r1.SayHello(); while (true) { string str = Console.ReadLine(); r1.Speak(str); } } } class 机器人 { public string Name { get; set; } private int Fullevel { get; set; }//饥饿的程度自己知道,所以应该设为私有的属性。 public void SayHello()//可以说话 { Console.WriteLine("\t\t【机器人】你好,我叫{0},很高兴认识你!", Name); } public void Eat(int foodCount) { if (Fullevel > 100) { return; } Fullevel = Fullevel + foodCount; } public void Speak(String str) { if (Fullevel <= 0) { Console.WriteLine("\t\t【机器人】饿死了,别问了,我不说了!"); return; } if (str.Contains("姓名") || str.Contains("名字") || str.Contains("谁") || str.Contains("你好")) { this.SayHello();//类的方法调用同类的另外一个方法 } else if (str.Contains("女朋友")) { Console.WriteLine("\t\t【机器人】年龄小,不考虑!"); }else if (str.Contains("创造") ) { Console.WriteLine("\t\t【机器人说】是星云创造的我。"); }else if(str.Contains("逗比")) { Console.WriteLine("\t\t【机器人】你才是逗比,你一家人都是逗比!"); }else if (str.Contains("呵呵")) { Console.WriteLine("\t\t【机器人】嘻嘻"); }else if (str.Contains("。。。")) { Console.WriteLine("\t\t【机器人】。。。。"); } else if (str.Contains("擦")) { Console.WriteLine("\t\t【机器人】你要擦什么?"); }else { Console.WriteLine("\t\t【机器人】听不懂!"); } Fullevel--; } } }
运行截图:
3.C#面向对象基础聊天机器人,布布扣,bubuko.com
原文:http://www.cnblogs.com/xingyunblog/p/3886690.html