一、新建
打开VS,新建项目,新建windowsform项目。
二、布局

插入3个按钮button,调整按钮和文字大小;插入5个label标签,设置标签和文字大小;按上图设置各个控件内容Text;分别设置上述控件Name分别为(“你”和“电脑”name保持默认即可):lblPlayer、lblComputer、lblResult、btnRock、btnScissors、btnPaper。
三、添加类
右键项目,添加类。
添加玩家Player类:
class Player
{
public string FistName
{
get;
set;
}
public int showFist(string fistname)
{
this.FistName = fistname;
int result = -2;
switch (fistname)
{
case "石头": result = 1; break;
case "剪刀": result = 2; break;
case "布": result = 3; break;
default: break;
}
return result;
}
}
添加电脑Computer类:
class Computer
{
public string FistName
{
get;
set;
}
public int showFist()
{
Random rd = new Random();
int result = rd.Next(1, 4);
switch (result)
{
case 1: this.FistName = "石头"; break;
case 2: this.FistName = "剪刀"; break;
case 3: this.FistName = "布"; break;
default: break;
}
return result;
}
}
添加裁判Judge类(同时添加枚举类):
class Judge
{
static public UserState CaiDing(int playerfist, int computerfist)
{
if (playerfist == computerfist)
{
return UserState.PingShou;
}
else if ((playerfist - computerfist == -1) || (playerfist - computerfist == 2))
{
return UserState.PlayerWin;
}
else
{
return UserState.PlayerLose;
}
}
}
public enum UserState
{
PlayerWin,
PlayerLose,
PingShou
}
四、后台代码
打开form窗体后台代码,在form1类中添加代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
btnPaper.Click += OnClick;
btnRock.Click += OnClick;
btnScissors.Click += OnClick;
}
private void OnClick(object sender, EventArgs e)
{
Player p1 = new Player();
int p1fist = p1.showFist((sender as Button).Text);
lblPlayer.Text = p1.FistName;
Computer c1 = new Computer();
int c1fist = c1.showFist();
lblComputer.Text = c1.FistName;
UserState result = Judge.CaiDing(p1fist, c1fist);
switch (result)
{
case UserState.PingShou:
lblResult.Text = "平手";
break;
case UserState.PlayerLose:
lblResult.Text = "你输了";
break;
case UserState.PlayerWin:
lblResult.Text = "你赢了";
break;
default: break;
}
}
}
五、运行
点击启动,或者执行不调试,查看运行结果。
