遊戲規則說明:
由系統生成一個隨機數,玩家有三次猜數字的機會,如果在三次內猜出數字反饋玩家猜對了,否則Game Over!
程式碼設計說明:
1.首先設計一個簡易的歡迎介面,並提示玩家是否開始遊戲;
public void Rule() { string symbol; bool flag = false; Console.WriteLine("***********************************************"); Console.WriteLine("------------歡迎進入猜數字遊戲!-------------"); Console.WriteLine("我們將從1到10間隨機生成一個數字由玩家進行猜測!"); Console.WriteLine(" 來看看你們的運氣,提供你們三次猜測機會!"); Console.WriteLine(" Y--開始遊戲 N--退出遊戲"); 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}次機會 ", 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(" Y--開始遊戲 N--退出遊戲"); 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}次機會 ", count); if (count >= 3) //判斷玩家是否已輸入三次 { Console.WriteLine("您已用完猜測次數,Game Over!"); break; } Console.WriteLine("請再次輸入猜測數值:"); number = Convert.ToInt32(Console.ReadLine()); } } } } }