想起来现在基础的已经学了不少了,那么这次试一下用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. springcloud(八) Hystrix监控

    一.Feign项目Hystrix自带的监控 在feign项目pom.xml 添加: <!-- 1,使用 Hystrix的模块 hystrix-metrics-event-stream,就可将这些 ...

  2. Hyberledger-Fabric 1.00 RPC学习(2)尝试建立一个network

    本文参考:http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html 这里我们学习建立第一个Hyperledger Fa ...

  3. delphi 组件容器TObjectList代替List

    delphi 组件容器TObjectList代替List TObjectList objList->delete(0); 这个会释放第0行元素的对象 class TTabFormInfo { p ...

  4. AES 加密算法 跨语言

    aes加密算法 delphi .java.c# .网页在线工具 4个相同 AES/ECB/PKCS5Padding 与网页在线工具加密结果相同 http://tool.chacuo.net/crypt ...

  5. LDAP属性对照表

    AD属性对照表 姓 Sn 名 Givename 英文缩写 Initials 显示名称 displayName 描述 Description 办公室 physicalDeliveryOfficeName ...

  6. 跟我学算法-opencv加载,修改,保存

    #include<opencv2/opencv.hpp> #include<iostream> #include<math.h> using namespace c ...

  7. HTTP 返回码 400

    400(错误请求)服务器不理解请求的语法 404表示页面不存在 返回500表示内部服务出错, 返回301表示资源永久性跳转 HTTP 500 – 内部服务器错误 HTTP 500.100 – 内部服务 ...

  8. 单独运行shell脚本与crontab运行shell脚本的区别

    crontab运行脚本存在两大问题:环境变量和路径,从而导致单独运行脚本没问题,但用crontab运行就报错. 1.环境变量 描述问题:crontab: usage error: no argumen ...

  9. 40. Combination Sum II (Back-Track)

    Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...

  10. How to Get Vertical Line from Point and Line

    Description How to get vertical line cross one point which out of line in line. QPoint Line::Vertica ...