一个控制台程序,模拟机器人对话

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace RobotTest
{
    class Program
    {
        static void Main(string[] args)
        {
            机器人 robot = new 机器人();
            robot.Name = "小艾";
            robot.Eat(5);
            robot.SayHello();
            while(true)
            {
                string qu = Console.ReadLine();
                robot.Speak(qu);
            }
            Console.ReadKey();
        }
    }
    class 机器人
    {
        public string Name { get; set; }
        private int FullLeve { get; set; }
        public void SayHello()
        {
            Console.WriteLine("您好,我是{0}",this.Name);
        }
        public void Eat(int foods)
        {
            if (FullLeve > 100 )
            {
                Console.WriteLine("撑死了,不能吃了!");
                return;
            }
            FullLeve += foods;
        }
        int num = 0;
        public void Speak(string Question)

        {

            if (FullLeve <= 0)
            {
                if (num == 0)
                {
                    Console.WriteLine("饿死了,赶紧为我点吃的吧,我只能吃数字^-^"); num ++;return;
                }
               // var Cusfood =  Console.ReadLine();
                int number = 0;
                if (!int.TryParse(Question, out number) || Question.IndexOf("-") >= 0)
                {
                    Console.WriteLine("不带这么玩的,喂我点能吃的东西行吗,亲");
                    num++;
                    return;
                }
                else
                {
                    FullLeve += Convert.ToInt32(Question);
                    Console.WriteLine("谢谢亲,我吃饱了!可以继续愉快的玩耍了!");
                    return;
                }

            }
            if (Question.Contains("姓名") || Question.Contains("名字"))
            {
                this.SayHello();
            }
            else if (Question.Contains("女朋友"))
            {
                Console.WriteLine("年龄小,不考虑!");
            }
            else
            {
                Console.WriteLine("听不懂!");
            }
            FullLeve--;
        }
        public bool ValidateNum(string no)
        {
            Regex rg = new Regex("^\\d+$"); return true;
          //  Match mt = rg.Matches(no);
        }
    }
}
时间: 2024-10-06 07:35:19

一个控制台程序,模拟机器人对话的相关文章

ASP.NET一个简易的WebServer,用控制台程序模拟IIS 托起web服务

     ProcessRequestHandler( page,  query, TextWriter writer);      WebServer : MarshalByRefObject, IRegisteredObject     {          ProcessRequest( page,  query, TextWriter writer)         {             SimpleWorkerRequest worker =  SimpleWorkerReque

C#零基础入门-3-第一个控制台程序

打开VS2017 文件 新建 项目 模板选择Visual C# Windows 控制台应用程序 快速写入Console.WriteLine 输入cw,然后快速按tab键两次即可. 原文地址:https://www.cnblogs.com/mobilecard/p/9868549.html

CreateProcess执行一个控制台程序,隐藏DOS窗口

STARTUPINFO   StartupInfo;//创建进程所需的信息结构变量    GetStartupInfo(&StartupInfo);    StartupInfo.lpReserved=NULL;    StartupInfo.lpDesktop=NULL;    StartupInfo.lpTitle=NULL;    StartupInfo.dwX=0;    StartupInfo.dwY=0;    StartupInfo.dwXSize=0;    StartupInf

跟我一起学WCF(4)——第一个WCF程序

一.引言 前面几篇文章分享了.NET 平台下其他几种分布式技术,然而前面几种分布式技术专注于某一特定的领域,并且具有不同编程接口,这使得开发人员需要掌握多个API的使用.基于这样的原因,微软在.NET 3.0时实现了WCF.WCF是.NET平台下各种分布式技术的集成,它将前面介绍的几种分布式技术完全整合在一起,并提供了一套统一的编程接口(API).对于,开发人员来来说只需要掌握WCF一套的API,就可以实现之前分布式技术所实现的所有功能. 二.WCF详细介绍 WCF(Windows Commun

HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo

26 集群使用初步 HDFS的设计思路 l 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: l 在大数据系统中作用: 为各类分布式运算框架(如:mapreduce,spark,tez,--)提供数据存储服务 l 重点概念:文件切块,副本存放,元数据 26.1 HDFS使用 1.查看集群状态 命令:   hdfs  dfsadmin –report 可以看出,集群共有3个datanode可用 也可打开web控制台查看HDFS集群

C#控制台程序使用Log4net日志组件

1.Log4net一般都不陌生,但是在配置上不同类型的项目又不相同的地方比如C#控制台程序和C# MVCWeb项目,拿控制台项目为例 2.首先创建一个控制台程序,引入Log4net.dll    --使用NuGet    3.进行一些简单的配置,在App.config文件中配置,如果大家没有App.config文件,可以通过在解决方案中,添加新建项→应用程序配置文件,进行添加. <?xml version="1.0" encoding="utf-8" ?>

【Owin 学习系列】1. 第一个 Owin 程序

IIS 中的 Owin 在 IIS 里面部署 Owin,既能得到 Owin 管道模型的灵活性和模块特性,也能很好地利用 IIS 成熟的配置,Owin 程序将会跑在 ASP.NET request 的管道中. 首先建一个空的 Web 项目 添加 Nuget 包 Microsoft.Owin.Host.SystemWeb 添加一个 Startup 类 替换 Startup.cs 的代码 using System; using System.Threading.Tasks; using Microso

你们信不信一句Console.WriteLine就能让你的控制台程序失去响应

好久没更新博客了,今天是扒衣见君节,难得闲下来就来说说一个最近有趣的发现吧. 首先废话不多说,直接上代码吧 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 var bytes = new byte[4096]; 6 for (int i = 0; i < bytes.Length; i++) 7 { 8 bytes[i] = 7; 9 } 10 11 Console.WriteLine(Encoding.ASCII.GetS

控制台程序如何加图标

刚因为需要生成一个控制台程序供网站调用,由于生成的exe默认是没有图标的. 不直观,而且不好看. 通过谷歌找到了方法. 测试环境是vs2013 在工程中,及main.cpp所在目录下 创建一个"XXX.rc",   XXX是你的工程名 拷贝你想替换的图标(比如:"YYY.ico")放到工程目录下, 用记事本打开之前创建的rc文件 添加下面一句话: IDI_ICON               ICON                    "YYY.ico