C#实现简易猜数字游戏

本文实例为大家分享了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#面向对象编程之猜拳游戏实现方法
  • 详解从零开始---用C#制作扫雷游戏
  • C#贪吃蛇游戏实现分析
  • C#拼图游戏编写代码
  • C#利用控件拖拽技术制作拼图游戏
  • C#实现的24点游戏实例详解
  • C#实现简单的井字游戏实例
  • C#实现的算24点游戏算法实例分析
  • C#实现洗牌游戏实例
  • 基于C#实现俄罗斯方块游戏
(0)

相关推荐

  • C#利用控件拖拽技术制作拼图游戏

    主要实现的功能: 1.程序附带多张拼图随机拼图. 2.可手动添加拼图. 3.游戏成功判断. 4.30秒超时判断. Puzzle.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms

  • C#实现简单的井字游戏实例

    本文实例讲述了C#实现简单的井字游戏.分享给大家供大家参考.具体如下: /* * Created using: SharpDevelop * Created by: Tony Misner * Date: 1/2/2007 * Time: 2:34 PM * */ using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; namespace TicTacToe

  • 详解从零开始---用C#制作扫雷游戏

    学C#的原因其实挺简单的,因为一直对游戏挺感兴趣,查了下比较流行的游戏引擎Unity的主要开发语言是C#,所以就决定从C#入手,学学面向对象的编程方法. 以前基本都做的是嵌入式开发,做嵌入式久了,基本上只用C语言,C语言面向过程的特性在嵌入式编程这种资源极度受限的情况确实十分有利,但这种方式在面对大型软件的开发的时候就很难胜任了.编程的模式其实是一种思维习惯,习惯久了以后,想改变确实是一个艰难的过程··· 说起C#,其实在大学的时候学过一个学期,说来惭愧那时候倒也没把它当一门面向对象的语言(其实

  • C#面向对象编程之猜拳游戏实现方法

    本文实例讲述了C#面向对象编程之猜拳游戏实现方法.分享给大家供大家参考.具体实现方法如下: 1.需求 现在要制作一个游戏,玩家与计算机进行猜拳游戏,玩家出拳,计算机出拳,计算机自动判断输赢. 2.需求分析 根据需求,来分析一下对象,可分析出:玩家对象(Player).计算机对象(Computer).裁判对象(Judge). 玩家出拳由用户控制,使用数字代表:1石头.2剪子.3布 计算机出拳由计算机随机产生 裁判根据玩家与计算机的出拳情况进行判断输赢. 3.类对象的实现 ①.玩家类示例代码: 复制

  • C#实现洗牌游戏实例

    棋牌类游戏是目前比较火的游戏之一.今天本文就以实例形式实现洗牌游戏.本文实例所采用的算法是:遍历每个位置上的牌,然后与随机位置上的牌交换. 运行结果如下图所示: 对于牌来讲,2个关键的因素是面值和类型(如红桃.梅花等). 代码如下: public class Card { private string mianzhi; private string leixin; public Card(string m, string l) { mianzhi = m; leixin = l; } publi

  • C#实现的算24点游戏算法实例分析

    本文实例讲述了C#实现的算24点游戏算法.分享给大家供大家参考.具体如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Calc24Points { public class Cell { public enum Type { Number, Signal } public int Number; public ch

  • 基于C#实现俄罗斯方块游戏

    最近在看C#,写了一个很水的方块游戏练手. 代码: namespace game { class Square { public Square() { state = 0; positionY = 0; positionX = 0; } public Square(int InitShapeCnt, int InitState) { state = InitState; positionY = 0; positionX = 0; InitShape(InitShapeCnt); } public

  • C#贪吃蛇游戏实现分析

    今天无聊突发奇想做个贪吃蛇,虽然网上很多这东西了,不过自己写的感觉还行吧 贪吃蛇分析 游戏规则: 1.蛇起始长度5,每吃一个食物增加1,最大15过关 2.蛇用蓝色表示,食物用绿色,障碍物用黑色 3.当蛇碰到自己.墙壁.障碍物则游戏失败 4.方向键控制蛇的移动方向,蛇不可反方向移动,如正在向上移动,不能马上向下,只能向左.右.上运动 5.每过关一次速度提升一次 大概思路: 1.地图用网格的形式表示,蛇由方格组成,保存在list中 2.1中提到了方格,方格保存的内容有,颜色,坐标,是否可以通过,是否

  • C#实现的24点游戏实例详解

    本文实例分析了C#实现的24点游戏.分享给大家供大家参考.具体如下: 1. 24点游戏规则及算法 规则:给出4个自然数,找出能够求出24的四则运算式,要求数字不能重复使用 分析: 本算法是一种暴力求解法: 给出任意两个数字,可以进行6种四则运算,求出最多6个值.以数字a和b为例,有: 加(a+b).减(a-b).被减(b-a).乘以(a*b).除以(a/b)和除(b/a) abcd共计四个数,如果顺序固定,则有5种计算顺序(★代表上面6种四则运算中的一种): ((a★b)★c)★d.(a★b)★

  • C#拼图游戏编写代码

    本文设计了C#拼图游戏程序,供大家参考,具体内容如下 功能描述: 1.用户自定义上传图片 2.游戏难度选择:简单(3*3).一般(5*5).困难(9*9)三个级别 3.纪录完成步数 模块: 1.拼图类 2.配置类 3.游戏菜单窗口 4.游戏运行窗口 代码文件VS2013版本: 下载链接: 拼图游戏 --------------------------------------------------我叫分割线---------------------------------------------

随机推荐