当前位置: 移动技术网 > IT编程>开发语言>c# > C#实现简易猜数字游戏

C#实现简易猜数字游戏

2019年07月18日  | 移动技术网IT编程  | 我要评论

张艺洋,京香朱莉娅,马齿苋的功效

本文实例为大家分享了c#实现简易猜数字游戏的具体代码,供大家参考,具体内容如下

游戏规则说明:

由系统生成一个随机数,玩家有三次猜数字的机会,如果在三次内猜出数字反馈玩家猜对了,否则game over!

代码设计说明:

1.首先设计一个简易的欢迎界面,并提示玩家是否开始游戏;

public void rule()
    {
      string symbol;
      bool flag = false;
      console.writeline("***********************************************");
      console.writeline("------------欢迎进入猜数字游戏!-------------");
      console.writeline("我们将从1到10间随机生成一个数字由玩家进行猜测!");
      console.writeline(" 来看看你们的运气,提供你们三次猜测机会!");
      console.writeline("\ty--开始游戏\t\tn--退出游戏");
      console.writeline("***********************************************");
      console.write("是否进入游戏:");
      symbol = convert.tostring(console.readline());
      while (flag == false)
      {
        switch (symbol)
        {
          case "y":
            console.clear();
            console.writeline("游戏开始!");
            flag = true;
            break;
          case "n":
            console.writeline("退出游戏!");
            console.readkey();
            environment.exit(0);
            break;
          default:
            console.writeline("输入无效符号!");
            console.write("是否进入游戏:");
            symbol = convert.tostring(console.readline());
            break;
        }
      }      
    }

2.由系统自动生成一个随机数;

public int setrandom()
    {
      int number;

      var random = new random();
      number = random.next(1,10); // 使用该方法获得的随机数大于等于1,小于10;
      return number;
    }

3.由玩家输入一个数值与系统生成随机数进行比较,判断是否相同,如果相同则表示玩家猜对,否则继续猜,直到三次机会使用完反馈game over!

public void guess(int num)
    {
      int number;
      int count = 0;
      console.writeline("请输入猜测数值:");
      number = convert.toint32(console.readline());

      while (num <= 10)
      {
        if (number == num)
        {
          console.writeline("恭喜你,猜对了!");
          break;
        }
        else
        {
          count++; // 获取玩家输入次数
          console.writeline("亲。猜错了哦! 您以使用{0}次机会\n", count);

          if (count >= 3) //判断玩家是否已输入三次
          {
            console.writeline("您已用完猜测次数,game over!");
            break;
          }
          console.writeline("请再次输入猜测数值:");
          number = convert.toint32(console.readline());

        }

      }

    }

完整代码:

using system;

namespace guessnumberapplication
{
  class program
  {
    static void main(string[] args)
    {
      var guessnumber = new guessnumber();
      var ruleexplain = new ruleexplain();

      ruleexplain.rule();
      int number = guessnumber.setrandom();
      guessnumber.guess(number);

      console.readkey();
    }
  }
  class ruleexplain
  {
    public void rule()
    {
      string symbol;
      bool flag = false;
      console.writeline("***********************************************");
      console.writeline("------------欢迎进入猜数字游戏!-------------");
      console.writeline("我们将从1到10间随机生成一个数字由玩家进行猜测!");
      console.writeline(" 来看看你们的运气,提供你们三次猜测机会!");
      console.writeline("\ty--开始游戏\t\tn--退出游戏");
      console.writeline("***********************************************");
      console.write("是否进入游戏:");
      symbol = convert.tostring(console.readline());
      while (flag == false)
      {
        switch (symbol)
        {
          case "y":
            console.clear();
            console.writeline("游戏开始!");
            flag = true;
            break;
          case "n":
            console.writeline("退出游戏!");
            console.readkey();
            environment.exit(0);
            break;
          default:
            console.writeline("输入无效符号!");
            console.write("是否进入游戏:");
            symbol = convert.tostring(console.readline());
            break;
        }
      }      

    }
  }

  class guessnumber
  {
    public int setrandom()
    {
      int number;

      random random = new random();
      number = random.next(1, 10); // 使用该方法获得的随机数大于等于1,小于10;
      return number;
    }

    public void guess(int num)
    {
      int number;
      int count = 0;
      console.writeline("请输入猜测数值:");
      number = convert.toint32(console.readline());

      while (num <= 10)
      {
        if (number == num)
        {
          console.writeline("恭喜你,猜对了!");
          break;
        }
        else
        {
          count++; // 获取玩家输入次数
          console.writeline("亲。猜错了哦! 您以使用{0}次机会\n", count);

          if (count >= 3) //判断玩家是否已输入三次
          {
            console.writeline("您已用完猜测次数,game over!");
            break;
          }
          console.writeline("请再次输入猜测数值:");
          number = convert.toint32(console.readline());

        }

      }

    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

  • 关于C#反射 你需要知道的

    通常,反射用于动态获取对象的类型、属性和方法等信息。今天带你玩转反射,来汇总一下反射的各种常见操作,捡漏看看有没有你不知道的。获取类型的成员type 类的 ge... [阅读全文]
  • c# 字符串操作总结

    字符串操作在任意编程语言的日常编程中都随处可见,今天来汇总一下 c# 中关于字符串的一些你可能遗忘或遗漏的知识点。逐字字符串在普通字符串中,反斜杠字符是转义字符... [阅读全文]
  • C#中静态方法和实例化方法的区别、使用

    1、定义方法的格式 访问修饰符 返回类型 方法名 (参数列表) { // 方法的主体… }2、静态方法在大多数时候,我们定义写一个方法,会把方法区分为实例化方法... [阅读全文]
  • 详解C# FileStream类

    c# filestream类在 c# 语言中文件读写流使用 filestream 类来表示,filestream 类主要用于文件的读写,不仅能读写普通的文本文件... [阅读全文]
  • 快速学习c# 枚举

    一、在学习枚举之前,首先来听听枚举的优点。  1、枚举能够使代码更加清晰,它允许使用描述性的名称表示整数值。  2、枚举使代码更易于维护,有助于确保给变量指定合... [阅读全文]
  • 浅谈C#六大设计原则

    笔者作为一个菜鸟,会尝试以简单的代码和容易理解的语句去解释这几种原则的特性和应用场景。这六种原则分别为单一职责原则、接口隔离原则、里氏替换原则、迪米特法则、依赖... [阅读全文]
  • 解答“60k”大佬的19道C#面试题(上)

    先略看题目:1 请简述async函数的编译方式2 请简述task状态机的实现和工作机制3 请简述await的作用和原理,并说明和getresult()有什么区别... [阅读全文]
  • 解答“60k”大佬的19道C#面试题(下)

    在上篇中,我解析了前 10 道题目,本篇我将尝试解析后面剩下的所有题目。姐妹篇:解析“60k”大佬的19道c#面试题(上)这些题目确实不怎么经常使用,因此在后文... [阅读全文]
  • 如何用C#验证IP是否为局域网地址

    前一阵子有【广州.net群】的客户问起这个问题,说他们需要验证客户输入的网站是否为局域网。其实局域网的ip并没有确定的定义,只要是局域网中,即可设置为任何一个i... [阅读全文]
  • Unity实现截屏以及根据相机画面截图

    在游戏开发和软件开发中,经常需要截图的功能,分带ui的截图和不带ui的截图功能。代码如下:using system.collections;using syst... [阅读全文]
验证码:
移动技术网