石頭剪刀布小游戲
新建一個玩家類、電腦類、裁判類
玩家類的出拳方式由button控件來決定,一共三個,然后把這三個可能性轉(zhuǎn)化成數(shù)字123用于比較
電腦類的出拳方式由隨機(jī)數(shù)產(chǎn)生123來決定
裁判類主要在于將玩家和電腦的出拳進(jìn)行比較,并且返回一個結(jié)果,結(jié)果就是平手,玩家贏,電腦贏
這一共三個結(jié)果要返回,并且顯示在lable控件上,所以用了一個枚舉類型來存放這個返回的結(jié)果,通過比較玩家和電腦出拳代表的數(shù)字相減的結(jié)果得出答案
這是主程序調(diào)用
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace winform程序練習(xí) { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btn1_Click(object sender, EventArgs e) { string str = "剪刀"; lblFistPlayer.Text = str; Player player = new Player(); int playerNumber = player.ShowFist(str); Computer cpu = new Computer(); int cpuNumber = cpu.ShowFist(); lblFistCpu.Text = cpu.Fist;//把電腦隨機(jī)生成的出拳顯示在電腦的lable控件上 Result res = Judge.Judger(playerNumber, cpuNumber); lblResult.Text = res.ToString(); } private void btn2_Click(object sender, EventArgs e) { string str = "石頭"; lblFistPlayer.Text = str; Player player = new Player(); int playerNumber = player.ShowFist(str); Computer cpu = new Computer(); int cpuNumber = cpu.ShowFist(); lblFistCpu.Text = cpu.Fist;//把電腦隨機(jī)生成的出拳顯示在電腦的lable控件上 Result res = Judge.Judger(playerNumber, cpuNumber); lblResult .Text = res.ToString(); } private void btn3_Click(object sender, EventArgs e) { string str = "布"; lblFistPlayer.Text = str; Player player = new Player(); int playerNumber = player.ShowFist(str); Computer cpu = new Computer(); int cpuNumber = cpu.ShowFist(); lblFistCpu.Text = cpu.Fist;//把電腦隨機(jī)生成的出拳顯示在電腦的lable控件上 Result res = Judge.Judger(playerNumber, cpuNumber); lblResult.Text = res.ToString(); } } }
玩家類
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace winform程序練習(xí) { class Player { public int ShowFist(string Fist) { int num = 0; switch (Fist) { case "石頭":num = 1; break; case "剪刀":num = 2; break; case "布":num = 3; break; } return num; } } }
電腦類
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace winform程序練習(xí) { class Computer { //用來存儲出的拳頭 public string Fist { get; set; } Random r = new Random(); public int ShowFist() { int number = r.Next(1, 4); switch (number ) { case 1:this.Fist = "拳頭"; break; case 2:this.Fist = "剪刀"; break; case 3:this.Fist = "布"; break; } return number ; } } }
裁判類
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace winform程序練習(xí) { public enum Result { 玩家贏, 電腦贏, 平手 } class Judge { public static Result Judger(int playerNumber,int cpuNumber) { if(playerNumber -cpuNumber==-1||playerNumber -cpuNumber==2) { return Result.玩家贏; } else if(playerNumber -cpuNumber ==0) { return Result.平手; } else { return Result.電腦贏; } } } }
控件界面:


浙公網(wǎng)安備 33010602011771號