C#簡易人機對抗“石頭剪刀布”游戲的實現(xiàn)
需要實現(xiàn)如下圖所示的人機猜拳小游戲:
我們需要建立一個玩家類Player、一個電腦類Computer、一個裁判類Judge來分別模擬各自的操作:
【Player.cs】
/* * 作者:JeronZhou * 時間:2021-11-01 * 功能:石頭剪刀布游戲 */ using System; namespace Test2_2 { public class Player { public string FistName { get; set; } public int Play(string name) { FistName = name; switch (FistName) { case "石頭": return 1; case "剪刀": return 2; case "布": return 3; default: return 0; } } } }
【Computer.cs】
/* * 作者:JeronZhou * 時間:2021-11-01 * 功能:石頭剪刀布游戲 */ using System; namespace Test2_2 { public class Computer { public string FistName { get; set; } public int RandomPlay() { Random random = new Random(Guid.NewGuid().GetHashCode()); int num = random.Next(1, 4); switch (num) { case 1: FistName = "石頭"; break; case 2: FistName = "剪刀"; break; case 3: FistName = "布"; break; } return num; } } }
【Judge.cs】
/* * 作者:JeronZhou * 時間:2021-11-01 * 功能:石頭剪刀布游戲 */ using System; namespace Test2_2 { public class Judge { public string Win(int play, int computer) { int result = play - computer; switch (result) { case -1: return "你贏了"; case 2: return "你贏了"; case -2: return "你輸了"; case 1: return "你輸了"; default: return "平手"; } } } }
【窗體設計】
共有5個標簽(3個空標簽),三個按鈕。
【MainForm.cs】
/* * 作者:JeronZhou * 時間:2021-11-01 * 功能:石頭剪刀布游戲 */ using System; using System.Windows.Forms; namespace Test2_2 { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } void Button1Click(object sender, EventArgs e) { Player p = new Player(); int playerName = p.Play(button1.Text); label3.Text = p.FistName; Computer c = new Computer(); int computerName = c.RandomPlay(); label4.Text = c.FistName; Judge judge = new Judge(); label5.Text = judge.Win(playerName, computerName); } void Button2Click(object sender, EventArgs e) { Player p = new Player(); int playerName = p.Play(button2.Text); label3.Text = p.FistName; Computer c = new Computer(); int computerName = c.RandomPlay(); label4.Text = c.FistName; Judge judge = new Judge(); label5.Text = judge.Win(playerName, computerName); } void Button3Click(object sender, EventArgs e) { Player p = new Player(); int playerName = p.Play(button3.Text); label3.Text = p.FistName; Computer c = new Computer(); int computerName = c.RandomPlay(); label4.Text = c.FistName; Judge judge = new Judge(); label5.Text = judge.Win(playerName, computerName); } } }
【Program.cs】
/* * 作者:JeronZhou * 時間:2021-11-01 * 功能:石頭剪刀布游戲 */ using System; using System.Windows.Forms; namespace Test2_2 { internal sealed class Program { [STAThread] private static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); } } }
【測試結果】
到此這篇關于C#簡易人機對抗“石頭剪刀布”游戲的實現(xiàn)的文章就介紹到這了,更多相關C# 石頭剪刀布內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SQL Server存儲過程在C#中調(diào)用的簡單實現(xiàn)方法
這篇文章主要給大家介紹了關于SQL Server存儲過程在C#中調(diào)用的簡單實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用SQL Server存儲過程具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-05-05Stream.Write 與 StreamWriter.Write 的不同
Stream.Write 與 StreamWriter.Write 是我們在向流中寫數(shù)據(jù)時,最常用的方法。下面就詳細講解這兩個方法。2013-04-04Unity UGUI的LayoutElement布局元素組件介紹使用示例
這篇文章主要為大家介紹了Unity UGUI的LayoutElement布局元素組件介紹使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07