使用C#编写一个猜数字小游戏
创始人
2024-12-27 15:03:49
0次

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)、测试游戏能否正常成功和结束;

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...