猜数字小游戏C#实现代码

 更新时间:2020年12月30日 08:50:04   作者:“考研必胜”  
这篇文章主要为大家详细介绍了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#获得程序的根目录以及判断文件是否存在的实例讲解

    今天小编大家分享一篇C#获得程序的根目录以及判断文件是否存在的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • C#中多线程更新UI控件的常用方案

    C#中多线程更新UI控件的常用方案

    在C#中,特别是在使用Windows窗体(WinForms)或WPF(Windows Presentation Foundation)进行UI开发时,处理多线程与UI控件的交互需要特别小心,本文给大家介绍了几种在C#中安全地从多线程更新UI控件的常用方案,需要的朋友可以参考下
    2024-07-07
  • c# DevExpress gridcontrol日期行的显示格式设置

    c# DevExpress gridcontrol日期行的显示格式设置

    这篇文章主要介绍了c# DevExpress gridcontrol日期行的显示格式设置,需要的朋友可以参考下
    2017-02-02
  • C#实现自定义windows系统日志的方法

    C#实现自定义windows系统日志的方法

    这篇文章主要介绍了C#实现自定义windows系统日志的方法,涉及C#针对windows系统日志的创建、读写及删除技巧,非常具有实用价值,需要的朋友可以参考下
    2015-08-08
  • WPF实现能自由改变形状的四边形和六边形

    WPF实现能自由改变形状的四边形和六边形

    这篇文章主要为大家详细介绍了WPF如何实现能自由改变形状的四边形和六边形,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-03-03
  • C#使用Task实现异步方法

    C#使用Task实现异步方法

    本文主要介绍了C#使用Task实现异步方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • C#在新建线程中使用Timer无效问题及解决

    C#在新建线程中使用Timer无效问题及解决

    这篇文章主要介绍了C#在新建线程中使用Timer无效问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 从C#程序中调用非受管DLLs的方法

    从C#程序中调用非受管DLLs的方法

    这篇文章主要介绍了从C#程序中调用非受管DLLs的方法,是非常实用的技巧,有助于深入理解Windows程序设计,需要的朋友可以参考下
    2014-10-10
  • C#实现毫秒转换成时分秒的方法

    C#实现毫秒转换成时分秒的方法

    这篇文章主要介绍了C#实现毫秒转换成时分秒的方法,涉及C#时间的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • C#泛型约束的深入理解

    C#泛型约束的深入理解

    本篇文章是对C#中的泛型约束进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论