C#實(shí)現(xiàn)簡(jiǎn)易猜數(shù)字游戲
本文實(shí)例為大家分享了C#實(shí)現(xiàn)簡(jiǎn)易猜數(shù)字游戲的具體代碼,供大家參考,具體內(nèi)容如下
游戲規(guī)則說明:
由系統(tǒng)生成一個(gè)隨機(jī)數(shù),玩家有三次猜數(shù)字的機(jī)會(huì),如果在三次內(nèi)猜出數(shù)字反饋玩家猜對(duì)了,否則Game Over!
代碼設(shè)計(jì)說明:
1.首先設(shè)計(jì)一個(gè)簡(jiǎn)易的歡迎界面,并提示玩家是否開始游戲;
public void Rule()
{
string symbol;
bool flag = false;
Console.WriteLine("***********************************************");
Console.WriteLine("------------歡迎進(jìn)入猜數(shù)字游戲!-------------");
Console.WriteLine("我們將從1到10間隨機(jī)生成一個(gè)數(shù)字由玩家進(jìn)行猜測(cè)!");
Console.WriteLine(" 來看看你們的運(yùn)氣,提供你們?nèi)尾聹y(cè)機(jī)會(huì)!");
Console.WriteLine("\tY--開始游戲\t\tN--退出游戲");
Console.WriteLine("***********************************************");
Console.Write("是否進(jìn)入游戲:");
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("輸入無效符號(hào)!");
Console.Write("是否進(jìn)入游戲:");
symbol = Convert.ToString(Console.ReadLine());
break;
}
}
}
2.由系統(tǒng)自動(dòng)生成一個(gè)隨機(jī)數(shù);
public int SetRandom()
{
int number;
var random = new Random();
number = random.Next(1,10); // 使用該方法獲得的隨機(jī)數(shù)大于等于1,小于10;
return number;
}
3.由玩家輸入一個(gè)數(shù)值與系統(tǒng)生成隨機(jī)數(shù)進(jìn)行比較,判斷是否相同,如果相同則表示玩家猜對(duì),否則繼續(xù)猜,直到三次機(jī)會(huì)使用完反饋Game Over!
public void Guess(int num)
{
int number;
int count = 0;
Console.WriteLine("請(qǐng)輸入猜測(cè)數(shù)值:");
number = Convert.ToInt32(Console.ReadLine());
while (num <= 10)
{
if (number == num)
{
Console.WriteLine("恭喜你,猜對(duì)了!");
break;
}
else
{
count++; // 獲取玩家輸入次數(shù)
Console.WriteLine("親。猜錯(cuò)了哦! 您以使用{0}次機(jī)會(huì)\n", count);
if (count >= 3) //判斷玩家是否已輸入三次
{
Console.WriteLine("您已用完猜測(cè)次數(shù),Game Over!");
break;
}
Console.WriteLine("請(qǐng)?jiān)俅屋斎氩聹y(cè)數(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("------------歡迎進(jìn)入猜數(shù)字游戲!-------------");
Console.WriteLine("我們將從1到10間隨機(jī)生成一個(gè)數(shù)字由玩家進(jìn)行猜測(cè)!");
Console.WriteLine(" 來看看你們的運(yùn)氣,提供你們?nèi)尾聹y(cè)機(jī)會(huì)!");
Console.WriteLine("\tY--開始游戲\t\tN--退出游戲");
Console.WriteLine("***********************************************");
Console.Write("是否進(jìn)入游戲:");
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("輸入無效符號(hào)!");
Console.Write("是否進(jìn)入游戲:");
symbol = Convert.ToString(Console.ReadLine());
break;
}
}
}
}
class GuessNumber
{
public int SetRandom()
{
int number;
Random random = new Random();
number = random.Next(1, 10); // 使用該方法獲得的隨機(jī)數(shù)大于等于1,小于10;
return number;
}
public void Guess(int num)
{
int number;
int count = 0;
Console.WriteLine("請(qǐng)輸入猜測(cè)數(shù)值:");
number = Convert.ToInt32(Console.ReadLine());
while (num <= 10)
{
if (number == num)
{
Console.WriteLine("恭喜你,猜對(duì)了!");
break;
}
else
{
count++; // 獲取玩家輸入次數(shù)
Console.WriteLine("親。猜錯(cuò)了哦! 您以使用{0}次機(jī)會(huì)\n", count);
if (count >= 3) //判斷玩家是否已輸入三次
{
Console.WriteLine("您已用完猜測(cè)次數(shù),Game Over!");
break;
}
Console.WriteLine("請(qǐng)?jiān)俅屋斎氩聹y(cè)數(shù)值:");
number = Convert.ToInt32(Console.ReadLine());
}
}
}
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Unity圖形學(xué)之ShaderLab入門基礎(chǔ)
Unity中所有Shader文件都通過一種陳述性語言進(jìn)行描述,稱為“ShaderLab”, 這篇文章主要介紹了Unity圖形學(xué)之ShaderLab入門基礎(chǔ),需要的朋友可以參考下2022-01-01
基于C#實(shí)現(xiàn)自定義計(jì)算的Excel數(shù)據(jù)透視表
數(shù)據(jù)透視表(Pivot?Table)是一種數(shù)據(jù)分析工具,通常用于對(duì)大量數(shù)據(jù)進(jìn)行匯總、分析和展示,本文主要介紹了C#實(shí)現(xiàn)自定義計(jì)算的Excel數(shù)據(jù)透視表的相關(guān)知識(shí),感興趣的可以了解下2023-12-12
C#學(xué)習(xí)基礎(chǔ)概念二十五問續(xù)2
C#學(xué)習(xí)基礎(chǔ)概念二十五問續(xù)2...2007-04-04
DataGridView自定義單元格表示值、Error圖標(biāo)顯示的方法介紹
這篇文章介紹了DataGridView自定義單元格表示值、Error圖標(biāo)顯示的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02
C# WebApi Get請(qǐng)求方式傳遞實(shí)體參數(shù)的方法示例
這篇文章主要給大家介紹了關(guān)于C# WebApi Get請(qǐng)求方式傳遞實(shí)體參數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
淺析C# web訪問mysql數(shù)據(jù)庫(kù)-整理歸納總結(jié)
本篇文章是對(duì)C#中的web訪問mysql數(shù)據(jù)庫(kù)的一些知識(shí)點(diǎn)進(jìn)行了整理歸納總結(jié),需要的朋友可以參考下2013-07-07

