C#實(shí)現(xiàn)簡(jiǎn)易猜數(shù)字游戲
本文實(shí)例為大家分享了C#實(shí)現(xiàn)簡(jiǎn)易猜數(shù)字游戲的具體代碼,供大家參考,具體內(nèi)容如下
游戲規(guī)則說(shuō)明:
由系統(tǒng)生成一個(gè)隨機(jī)數(shù),玩家有三次猜數(shù)字的機(jī)會(huì),如果在三次內(nèi)猜出數(shù)字反饋玩家猜對(duì)了,否則Game Over!
代碼設(shè)計(jì)說(shuō)明:
1.首先設(shè)計(jì)一個(gè)簡(jiǎn)易的歡迎界面,并提示玩家是否開(kāi)始游戲;
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(" 來(lái)看看你們的運(yùn)氣,提供你們?nèi)尾聹y(cè)機(jī)會(huì)!"); Console.WriteLine("\tY--開(kāi)始游戲\t\tN--退出游戲"); Console.WriteLine("***********************************************"); Console.Write("是否進(jìn)入游戲:"); symbol = Convert.ToString(Console.ReadLine()); while (flag == false) { switch (symbol) { case "Y": Console.Clear(); Console.WriteLine("游戲開(kāi)始!"); flag = true; break; case "N": Console.WriteLine("退出游戲!"); Console.ReadKey(); Environment.Exit(0); break; default: Console.WriteLine("輸入無(wú)效符號(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(" 來(lái)看看你們的運(yùn)氣,提供你們?nèi)尾聹y(cè)機(jī)會(huì)!"); Console.WriteLine("\tY--開(kāi)始游戲\t\tN--退出游戲"); Console.WriteLine("***********************************************"); Console.Write("是否進(jìn)入游戲:"); symbol = Convert.ToString(Console.ReadLine()); while (flag == false) { switch (symbol) { case "Y": Console.Clear(); Console.WriteLine("游戲開(kāi)始!"); flag = true; break; case "N": Console.WriteLine("退出游戲!"); Console.ReadKey(); Environment.Exit(0); break; default: Console.WriteLine("輸入無(wú)效符號(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)文章
c# 數(shù)據(jù)庫(kù)的 sql 參數(shù)封裝類(lèi)的編寫(xiě)
c# 數(shù)據(jù)庫(kù)的 sql 參數(shù)封裝類(lèi)的編寫(xiě)...2007-12-12C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)繪圖graphic的方法示例
這篇文章主要介紹了C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)繪圖graphic的方法,結(jié)合實(shí)例形式分析了C#根據(jù)動(dòng)態(tài)數(shù)據(jù)繪制2D數(shù)據(jù)表格的相關(guān)操作技巧,需要的朋友可以參考下2017-09-09C#中調(diào)用SAPI實(shí)現(xiàn)語(yǔ)音合成的2種方法
這篇文章主要介紹了C#中調(diào)用SAPI實(shí)現(xiàn)語(yǔ)音合成的2種方法,本文直接給出示例代碼,需要的朋友可以參考下2015-06-06C# 導(dǎo)出Excel的6種簡(jiǎn)單方法實(shí)現(xiàn)
C# 導(dǎo)出 Excel 的6種簡(jiǎn)單方法:數(shù)據(jù)表導(dǎo)出到 Excel,對(duì)象集合導(dǎo)出到 Excel,數(shù)據(jù)庫(kù)導(dǎo)出到 Excel,微軟網(wǎng)格控件導(dǎo)出到 Excel,數(shù)組導(dǎo)出到 Excel,CSV 導(dǎo)出到 Excel,你都會(huì)了嗎?需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09