雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當前位置:主頁 > 軟件編程 > C#教程 >

C#實現(xiàn)簡易猜數(shù)字游戲

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

本文實例為大家分享了C#實現(xiàn)簡易猜數(shù)字游戲的具體代碼,供大家參考,具體內(nèi)容如下

游戲規(guī)則說明:

由系統(tǒng)生成一個隨機數(shù),玩家有三次猜數(shù)字的機會,如果在三次內(nèi)猜出數(shù)字反饋玩家猜對了,否則Game Over!

代碼設計說明:

1.首先設計一個簡易的歡迎界面,并提示玩家是否開始游戲;

public void Rule()
    {
      string symbol;
      bool flag = false;
      Console.WriteLine("***********************************************");
      Console.WriteLine("------------歡迎進入猜數(shù)字游戲!-------------");
      Console.WriteLine("我們將從1到10間隨機生成一個數(shù)字由玩家進行猜測!");
      Console.WriteLine(" 來看看你們的運氣,提供你們?nèi)尾聹y機會!");
      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.由系統(tǒng)自動生成一個隨機數(shù);

public int SetRandom()
    {
      int number;

      var random = new Random();
      number = random.Next(1,10); // 使用該方法獲得的隨機數(shù)大于等于1,小于10;
      return number;
    }

3.由玩家輸入一個數(shù)值與系統(tǒng)生成隨機數(shù)進行比較,判斷是否相同,如果相同則表示玩家猜對,否則繼續(xù)猜,直到三次機會使用完反饋Game Over!

public void Guess(int num)
    {
      int number;
      int count = 0;
      Console.WriteLine("請輸入猜測數(shù)值:");
      number = Convert.ToInt32(Console.ReadLine());

      while (num <= 10)
      {
        if (number == num)
        {
          Console.WriteLine("恭喜你,猜對了!");
          break;
        }
        else
        {
          count++; // 獲取玩家輸入次數(shù)
          Console.WriteLine("親。猜錯了哦! 您以使用{0}次機會\n", count);

          if (count >= 3) //判斷玩家是否已輸入三次
          {
            Console.WriteLine("您已用完猜測次數(shù),Game Over!");
            break;
          }
          Console.WriteLine("請再次輸入猜測數(shù)值:");
          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("------------歡迎進入猜數(shù)字游戲!-------------");
      Console.WriteLine("我們將從1到10間隨機生成一個數(shù)字由玩家進行猜測!");
      Console.WriteLine(" 來看看你們的運氣,提供你們?nèi)尾聹y機會!");
      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); // 使用該方法獲得的隨機數(shù)大于等于1,小于10;
      return number;
    }

    public void Guess(int num)
    {
      int number;
      int count = 0;
      Console.WriteLine("請輸入猜測數(shù)值:");
      number = Convert.ToInt32(Console.ReadLine());

      while (num <= 10)
      {
        if (number == num)
        {
          Console.WriteLine("恭喜你,猜對了!");
          break;
        }
        else
        {
          count++; // 獲取玩家輸入次數(shù)
          Console.WriteLine("親。猜錯了哦! 您以使用{0}次機會\n", count);

          if (count >= 3) //判斷玩家是否已輸入三次
          {
            Console.WriteLine("您已用完猜測次數(shù),Game Over!");
            break;
          }
          Console.WriteLine("請再次輸入猜測數(shù)值:");
          number = Convert.ToInt32(Console.ReadLine());

        }

      }

    }
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持我們。

上一篇:C# 操作 access 數(shù)據(jù)庫的實例代碼

欄    目:C#教程

下一篇:在C#項目中如何使用NHibernate詳解

本文標題:C#實現(xiàn)簡易猜數(shù)字游戲

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5213.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有