这篇文章主要为大家详细介绍了C#实现猜数字小游戏的代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
猜数字小游戏,供大家参考,具体内容如下
1、实验目的
掌握循环、分支等结构的使用方法,以及数据类型转换的方法。
2、实验内容
设计并实现一款猜数字游戏。游戏开始之后,首先生成一个随机数n。n是在1至100之间的一个整数。玩家有十次机会猜该数字的大小。如果在十次之内猜中n的大小,则游戏成功;否则游戏失败。每次猜的数字如果不对,则程序要给玩家提示,玩家猜的数字相比n是较大还是较小,并将猜数范围更新后显示出来。
3、实验要求
程序应能够具有鲁棒性。
1、如果用户输入的不是数字,程序应提示错误信息,而更不应崩溃。
2、如果用户输入的不是猜数范围内的整数,程序应提示错误信息,而 不应更改猜数范围。
3、如果十次机会,用户都没有猜中,应提示游戏失败,并能结束游戏。
4、如果十次机会之内,用户猜中,应提示游戏成功,并能结束游戏,而不应让用户继续猜数。
4、代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 猜数字小游戏
{
class Program
{
public static int test(string n, int max, int min)
{
try
{
int i = int.Parse(n);
if (i > min - 1 && i < max + 1)//不知道可不可以这样用//
return 1;
else
{
Console.WriteLine("错误:输入的数字超出范围");
return 0;
}
}
catch
{
Console.WriteLine("错误:输入的不是整型数字");
return 0;
}
}
static void Main(string[] args)
{
Console.WriteLine("-------------------------");
Console.WriteLine("***********欢迎**********");
Console.WriteLine("***1、你有十次机会");
Console.WriteLine("***2、随机数的范围为1-100");
Console.WriteLine("-------------------------");
Console.WriteLine("请输入“Y/y”开始游戏,输入其他键退出游戏");
String S = Console.ReadLine();
if (S == "Y" || S == "y")
{
Random R = new Random();
int m = R.Next(1, 101);
int max = 100;
int min = 1;
int i;
Console.WriteLine("-----随机数生成完毕------");
for (i = 0; i < 10; )
{
Console.WriteLine("第" + (i + 1) + "次机会,请输入你的答案:");
String n = Console.ReadLine();
i++;
if (test(n, max, min) == 1)
{
int j = int.Parse(n);
if (i == 10)
{
Console.WriteLine("次数用尽,游戏失败!");
break;
}
if (j == m)
{
Console.WriteLine("恭喜你,猜对了");
break;
}
else if (j > m)
{
max = j-1;
Console.WriteLine("猜错了,范围更新为[" + min + "-" + max + "]");
continue;
}
else if (j < m)
{
min = j+1;
Console.WriteLine("猜错了,范围更新为[" + min + "-" + max + "]");
continue;
}
}
}
}
else
{
Console.WriteLine("游戏退出,按任意键退出");
}
}
}
}
5、测试项
1)、测试Y与y进入游戏是否可行以及退出游戏是否可行;
2)、测试输入非法字符(包括非整型和超范围整型);
3)、测试待猜范围更新是否正确;
4)、测试游戏能否正常成功和结束;
6、测试效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持得得之家。
本文标题为:猜数字小游戏C#实现代码
基础教程推荐
- C# List实现行转列的通用方案 2022-11-02
- unity实现动态排行榜 2023-04-27
- 一个读写csv文件的C#类 2022-11-06
- C# windows语音识别与朗读实例 2023-04-27
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- winform把Office转成PDF文件 2023-06-14
- ZooKeeper的安装及部署教程 2023-01-22
- C# 调用WebService的方法 2023-03-09
- C#类和结构详解 2023-05-30
- C#控制台实现飞行棋小游戏 2023-04-22