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.电脑赢;//返回
}
}
}
}输出结果:
