想起来现在基础的已经学了不少了,那么这次试一下用while写一个数字猜谜的。

            Random roll = new Random(); //建立一个骰子
int rollNum = roll.Next(, ); //让骰子在1-100内随机一个数 int num = ; //记录用户的数字
int count = ; //记录猜数字次数
bool input; //判断输入是否正确 Console.WriteLine("请玩家输入一个1-100的数字来进行猜谜"); while (true)
{ input = int.TryParse(Console.ReadLine(), out num); if (input == false || num > || num < )
{
Console.Clear();
Console.WriteLine("输入错误!请玩家输入一个1-100的数字");
Console.ReadKey(true); }
else
{
break;
}
} while (true)
{
while (count < )
{
count++;
if (num == rollNum)
{
Console.WriteLine("真厉害,居然第{0}次就猜中了",count);
break;
}
else if (num > rollNum)
{
Console.WriteLine("你输入的{0}数字大了", num);
Console.WriteLine("请继续输入一个数字进行猜数");
while (true)
{ input = int.TryParse(Console.ReadLine(), out num); if (input == false || num > || num < )
{ Console.WriteLine("输入错误!请玩家输入一个1-100的数字");
Console.ReadKey(true); }
else
{
break;
}
}
}
else
{
Console.WriteLine("你输入的{0}数字小了", num);
Console.WriteLine("请继续输入一个数字进行猜数");
while (true)
{ input = int.TryParse(Console.ReadLine(), out num); if (input == false || num > || num < )
{ Console.WriteLine("输入错误!请玩家输入一个1-100的数字");
Console.ReadKey(true); }
else
{
break;
}
}
}
} while(count < )
{
count++;
if (count == )
{
break;
}
if (num == rollNum)
{ Console.WriteLine("还不错,第{0}次猜中了", count);
break;
}
else if (num > rollNum)
{
Console.WriteLine("你输入的{0}数字大了", num);
Console.WriteLine("请继续输入一个数字进行猜数");
while (true)
{ input = int.TryParse(Console.ReadLine(), out num); if (input == false || num > || num < )
{ Console.WriteLine("输入错误!请玩家输入一个1-100的数字");
Console.ReadKey(true); }
else
{
break;
}
}
}
else
{
Console.WriteLine("你输入的{0}数字小了", num);
Console.WriteLine("请继续输入一个数字进行猜数");
while (true)
{ input = int.TryParse(Console.ReadLine(), out num); if (input == false || num > || num < )
{ Console.WriteLine("输入错误!请玩家输入一个1-100的数字");
Console.ReadKey(true); }
else
{
break;
}
}
}
}
if (count != && num == rollNum)
{
break;
}
else if (count == && num == rollNum)
{
Console.WriteLine("海底捞月,厉害!");
}
else
{
Console.WriteLine("抱歉,你没猜中,正确的数字是"+rollNum);
break;
} }
Console.ReadKey(true);

写的途中调试了很多次。。。也发现一些麻烦的东西,比如每次用户输入我都要判断用户输入的正确性,以后应该可能会学到简单的方法,我觉得应该有那种,写过判断用户输入命令的代码后,可以用一句话调用此代码,而不是我这样长篇复制。。。。反正好不容易自己写成功了,虽然看着很麻烦,不过都是顺着思路走的,应该比较容易看懂。

自己从0开始学习Unity的笔记 IV (C#循环练习-数字猜谜游戏)的更多相关文章

  1. 自己从0开始学习Unity的笔记 IV (C#循环练习输出素数)

    来测试一下循环....刚刚学了while循环,测试一下输出1-100的素数 我想了一下,素数就是只能被1和本身整除,那就是只能被整除2次,我是顺着这个思路写的代码,如果被整除超过2次,那么肯定不是素数 ...

  2. 自己从0开始学习Unity的笔记 I (C#字符串转换为数字)

    我基本上从0开始学习编程,运算符基本上跳过,因为知道了 “=”这个符号相当于赋值,然后“==”才是等于,其他和普通运算符号差不都,也就跳过了. 最基础的赋值那种,我看了下代码,似乎没什么难度,估计新手 ...

  3. 自己从0开始学习Unity的笔记 V (C#的数组练习)

    今天练习了数组输入,先从最简单的开始,因为我输入完这些之后,觉得应该有更简单的方法,先来介绍一下我做的练习代码 //做一个最多能容纳10个数字的,用户可以输入任意1-10个数字,判断长度,输出数字 ] ...

  4. 自己从0开始学习Unity的笔记 VII (C#中类继承练习)

    好久都没有写了.今天做了类继承的练习,做了一个小队,进行简单的判定. namespace 兵团建立练习 { class ServantBasics { public string name; //pr ...

  5. 自己从0开始学习Unity的笔记 VI (C#的for循环练习)

    最近学到了for循环,我觉得其实看情况吧,和while挺像的,不过适合于累加或者累减这类的,for循环要更好用一点 for循环首先格式是 ; i < length; i++) { } 意思很简单 ...

  6. 自己从0开始学习Unity的笔记 III (C#随机数产生基础练习)

    自己开始尝试弄一下随机数,照着方法,自己做了个英雄打怪兽的测试 int heroAttack; ; ; Random attack = new Random(); //初始化一个随机数的类 heroA ...

  7. 自己从0开始学习Unity的笔记 II (C#条件语句基础练习)

    首先,自己用了下三目表达式,来做了一个闰年的判断,也就是能被400整除,或者是能够被4整除,但是不能被100整除的年份. int year; //输入的年 bool fourHunderd; //能被 ...

  8. 自己从0开始学习Unity的笔记 VIII (C#中类继承练习 II)

    自己写了一个关于兵种的,因为一直在测试,到底面向对象是个什么玩意...然后就做了这个 namespace 兵种 { class Role //作为父类,构建一个普通角色属性用于继承 { protect ...

  9. 从0开始学习Unity的学习笔记(I 界面学习和简单模型拼装)

    先给一个大致今天学习的图,然后后面是细节 1.下载Unity :官网下载需要版本 2.Unity安装:一定不要有中文路径:一台电脑可以安装不同版本的Unity,但是要安装在不同的文件夹下: 3. 新建 ...

随机推荐

  1. requests and BeautifulSoup

    requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作, ...

  2. 在coursera上有哪些值得推荐的课程

    来自知乎 https://www.zhihu.com/question/22436320/answer/224996328

  3. 【318】C# 学习笔记

    笔记 01:C# 数据结构 引用类型(Reference types) 引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用. 换句话说,它们指的是一个内存位置.使用多个变量时,引用类型可以指 ...

  4. Source命令及脚本的执行方式

    [Source命令及脚本的执行方式] source filename 与 sh filename 及./filename执行脚本的区别在那里呢? 1.当shell脚本具有可执行权限时,用sh file ...

  5. go_组合接口

    main函数入口 package main import ( "fmt" "learngo/retriever/mock" "learngo/retr ...

  6. Leetcode:Add Two Numbers分析和实现

    Add Two Numbers这个问题的意思是,提供两条链表,每条链表表示一个十进制整数,其每一位对应链表的一个结点.比如345表示为链表5->4->3.而我们需要做的就是将两条链表代表的 ...

  7. tomcat 403 forbidden

    server.xml和tomcat-users.xml都是设置于过了,还是403,最后发现context.xml中多了一行 <Valve className="org.apache.c ...

  8. NLTK和Stanford NLP两个工具的安装配置

    这里安装的是两个自然语言处理工具,NLTK和Stanford NLP. 声明:笔者操作系统是Windows10,理论上Windows都可以: 版本号:NLTK 3.2 Stanford NLP 3.6 ...

  9. [SoapUI]怎样从应答报文中获取某个字段的值,然后用其改写某个变量

    import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def holde ...

  10. socket收发消息

    .socket通讯类 using System; using System.Collections.Generic; using System.Net; using System.Net.Socket ...