猜數字小遊戲C#實現程式碼
阿新 • • 發佈:2020-12-31
猜數字小遊戲,供大家參考,具體內容如下
1、實驗目的
掌握迴圈、分支等結構的使用方法,以及資料型別轉換的方法。
2、實驗內容
設計並實現一款猜數字遊戲。遊戲開始之後,首先生成一個隨機數n。n是在1至100之間的一個整數。玩家有十次機會猜該數字的大小。如果在十次之內猜中n的大小,則遊戲成功;否則遊戲失敗。每次猜的數字如果不對,則程式要給玩家提示,玩家猜的數字相比n是較大還是較小,並將猜數範圍更新後顯示出來。
3、實驗要求
程式應能夠具有魯棒性。
1、如果使用者輸入的不是數字,程式應提示錯誤資訊,而更不應崩潰。
2、如果使用者輸入的不是猜數範圍內的整數,程式應提示錯誤資訊,而 不應更改猜數範圍。
3、如果十次機會,使用者都沒有猜中,應提示遊戲失敗,並能結束遊戲。
4、程式碼
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 猜數字小遊戲 { class Program { public static int test(string n,int max,int min) { try { int i = int.Parse(n); if (i > min - 1 && i < max + 1)//不知道可不可以這樣用// return 1; else { Console.WriteLine("錯誤:輸入的數字超出範圍"); return 0; } } catch { Console.WriteLine("錯誤:輸入的不是整型數字"); return 0; } } static void Main(string[] args) { Console.WriteLine("-------------------------"); Console.WriteLine("***********歡迎**********"); Console.WriteLine("***1、你有十次機會"); Console.WriteLine("***2、隨機數的範圍為1-100"); Console.WriteLine("-------------------------"); Console.WriteLine("請輸入“Y/y”開始遊戲,輸入其他鍵退出遊戲"); String S = Console.ReadLine(); if (S == "Y" || S == "y") { Random R = new Random(); int m = R.Next(1,101); int max = 100; int min = 1; int i; Console.WriteLine("-----隨機數生成完畢------"); for (i = 0; i < 10; ) { Console.WriteLine("第" + (i + 1) + "次機會,請輸入你的答案:"); String n = Console.ReadLine(); i++; if (test(n,max,min) == 1) { int j = int.Parse(n); if (i == 10) { Console.WriteLine("次數用盡,遊戲失敗!"); break; } if (j == m) { Console.WriteLine("恭喜你,猜對了"); break; } else if (j > m) { max = j-1; Console.WriteLine("猜錯了,範圍更新為[" + min + "-" + max + "]"); continue; } else if (j < m) { min = j+1; Console.WriteLine("猜錯了,範圍更新為[" + min + "-" + max + "]"); continue; } } } } else { Console.WriteLine("遊戲退出,按任意鍵退出"); } } } }
5、測試項
1)、測試Y與y進入遊戲是否可行以及退出遊戲是否可行;
2)、測試輸入非法字元(包括非整型和超範圍整型);
3)、測試待猜範圍更新是否正確;
4)、測試遊戲能否正常成功和結束;
6、測試效果
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。