C# 石头剪刀布 小游戏
C# 石头剪刀布 小游戏
假设:石头 1,剪刀 2,布 3;
玩家赢的结果:1-2=-1,2-3=-1,3-1=2;
平手:相减=0;
其他情况是电脑赢了。
Form1代码:
using System; using System.Windows.Forms; namespace 石头剪刀布 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnST_Click(object sender, EventArgs e)//石头 按钮单击事件 { string str = "石头"; PlayGame(str);//调用方法 } private void btnJD_Click(object sender, EventArgs e)//剪刀 按钮单击事件 { string str = "剪刀"; PlayGame(str);//调用方法 } private void btnB_Click(object sender, EventArgs e)//布 按钮单击事件 { string str = "布"; PlayGame(str);//调用方法 } private void PlayGame(string str) { lblPlayer.Text = str;//将玩家 出拳 显示出来 Player player = new Player();//创建 玩家类 int pNum = player.ShowFist(str);//调用方法 CPU cpu = new CPU();//创建 电脑类 int cNum = cpu.ShowFist();//调用方法 lblCPU.Text = cpu.Fist;//将电脑 出拳 显示出来 Result res = Judgment.Judge(pNum, cNum);//调用方法 lblJudgment.Text = res.ToString();//显示结果 } } }
Player类代码:
using System; namespace 石头剪刀布 { 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;//返回值 } } }
CPU类代码:
using System; namespace 石头剪刀布 { class CPU { public string Fist { get; set; }//属性 public int ShowFist()//方法 { Random r = new Random();//随机数 int rNum = r.Next(1, 4);//随机一个1~3之间的一个数 switch (rNum)//判断 随机的数是几 { case 1: this.Fist = "石头";//赋值 break; case 2: this.Fist = "剪刀";//赋值 break; case 3: this.Fist = "布";//赋值 break; } return rNum;//返回 } } }
Judgment类代码:
using System; namespace 石头剪刀布 { public enum Result//枚举 { 玩家赢, 电脑赢, 平手 } class Judgment { public static Result Judge(int pNum,int cNum)//得到 玩家和电脑的数。 { if (pNum - cNum == -1 || pNum - cNum == 2)//判断结果 { return Result.玩家赢;//返回 } else if (pNum - cNum == 0)//判断结果 { return Result.平手;//返回 } else { return Result.电脑赢;//返回 } } } }
输出结果: