自己从0开始学习Unity的笔记 IV (C#循环练习-数字猜谜游戏)
想起来现在基础的已经学了不少了,那么这次试一下用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#循环练习-数字猜谜游戏)的更多相关文章
- 自己从0开始学习Unity的笔记 IV (C#循环练习输出素数)
来测试一下循环....刚刚学了while循环,测试一下输出1-100的素数 我想了一下,素数就是只能被1和本身整除,那就是只能被整除2次,我是顺着这个思路写的代码,如果被整除超过2次,那么肯定不是素数 ...
- 自己从0开始学习Unity的笔记 I (C#字符串转换为数字)
我基本上从0开始学习编程,运算符基本上跳过,因为知道了 “=”这个符号相当于赋值,然后“==”才是等于,其他和普通运算符号差不都,也就跳过了. 最基础的赋值那种,我看了下代码,似乎没什么难度,估计新手 ...
- 自己从0开始学习Unity的笔记 V (C#的数组练习)
今天练习了数组输入,先从最简单的开始,因为我输入完这些之后,觉得应该有更简单的方法,先来介绍一下我做的练习代码 //做一个最多能容纳10个数字的,用户可以输入任意1-10个数字,判断长度,输出数字 ] ...
- 自己从0开始学习Unity的笔记 VII (C#中类继承练习)
好久都没有写了.今天做了类继承的练习,做了一个小队,进行简单的判定. namespace 兵团建立练习 { class ServantBasics { public string name; //pr ...
- 自己从0开始学习Unity的笔记 VI (C#的for循环练习)
最近学到了for循环,我觉得其实看情况吧,和while挺像的,不过适合于累加或者累减这类的,for循环要更好用一点 for循环首先格式是 ; i < length; i++) { } 意思很简单 ...
- 自己从0开始学习Unity的笔记 III (C#随机数产生基础练习)
自己开始尝试弄一下随机数,照着方法,自己做了个英雄打怪兽的测试 int heroAttack; ; ; Random attack = new Random(); //初始化一个随机数的类 heroA ...
- 自己从0开始学习Unity的笔记 II (C#条件语句基础练习)
首先,自己用了下三目表达式,来做了一个闰年的判断,也就是能被400整除,或者是能够被4整除,但是不能被100整除的年份. int year; //输入的年 bool fourHunderd; //能被 ...
- 自己从0开始学习Unity的笔记 VIII (C#中类继承练习 II)
自己写了一个关于兵种的,因为一直在测试,到底面向对象是个什么玩意...然后就做了这个 namespace 兵种 { class Role //作为父类,构建一个普通角色属性用于继承 { protect ...
- 从0开始学习Unity的学习笔记(I 界面学习和简单模型拼装)
先给一个大致今天学习的图,然后后面是细节 1.下载Unity :官网下载需要版本 2.Unity安装:一定不要有中文路径:一台电脑可以安装不同版本的Unity,但是要安装在不同的文件夹下: 3. 新建 ...
随机推荐
- C# CS1591 缺少对公共可见类型或成员的 XML 注释 问题解决
最近在写web api的项目,用到微软的Web api help page组件,用于自动对生成API文档,见博文: https://www.cnblogs.com/lenmom/p/9081363.h ...
- 各种装饰器demo及优化
#!/usr/bin/python3# -*- coding: utf-8 -*-# @Time : 2018/5/28 14:06# @File : lianxi.py ## impor ...
- Python实现进度条总结
先说一下文本系统的控制符:\r: 将光标移动到当前行的首位而不换行:\n: 将光标移动到下一行,并不移动到首位:\r\n: 将光标移动到下一行首位. 环境:root@ubuntu16: ...
- 关于RDS for mysql中导入数据库set global event_scheduler =1 需要更多超级权限
关于RDS中导入数据库set global event_scheduler =1 需要更多超级权限 报错提示 其实这个意思是 让mysql自动启动 计划任务 如果在 命令行下 查询 SHOW VAR ...
- 可视化库-Matplotlib-饼图与布局(第四天)
1. 画出一个基本的饼图,通过plt.pie() m = 51212 f = 40742 m_perc = m / (m+f) f_perc = f / (m+f) colors = ['navy', ...
- 【转】volatile关键字。编译器不优化,多线程会改。防止随时变动的
来自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html 1. 为什么用volatile? C/C++ 中的 vol ...
- linux命令之scp远程文件复制
scp是linux中功能最强大的文件传输命令,可以实现从本地到远程以及远程到本地的轻松文件传输操作.下面简单的讲解一些关于scp命令的操作,给有用的人一些参考: 首先是本地到远程的操作:操作的格式如下 ...
- python之name binding
[python之name binding] 1. 名字 名字是对一个对象的称呼,一个对象可以只有一个名字,也可以没有名字或取多个名字.但对象自己却不知道有多少名字,叫什么,只有名字本身知道它所指向 ...
- PEAR
简介:pear是php扩展与应用库(the php extension and application repository)的缩写.它是一个php扩展及应用的一个代码仓库. 编码规范:参考(http ...
- Shiro和Spring 集合实现同一个账号只能一个人在线使用,其它人在使用进行剔除(八)
1.实现原理其实就是自定义过滤器,然后登录时,A登录系统后,B也登录了,这个时候获取此账号之前的session给删除,然后将新的session放入到缓存里面去,一个账户对应一个有序的集合 编写自定义过 ...