c#--【简单】猜拳游戏

首先,界面代码

 1 namespace 石头剪刀布
 2 {
 3     public partial class Form1 : Form
 4     {
 5         public Form1()
 6         {
 7             InitializeComponent();
 8         }
 9 
10         private void btnShitou_Click(object sender, EventArgs e)
11         {
12             //将sender强转换为Button类型(Button首字母必须大写,否则会出错)
13             Button btn = (Button)sender;
14             //判断是否为null
15             if (btn != null)
16             { 
17                 //创建玩家对象
18                 wanjia wan = new wanjia();
19                 int w=wan.Showfi(btn.Text);//调用玩家方法
20                 lbwan.Text = wan.fiName;//界面输出
21 
22                 //创建电脑对象
23                 diannao dian = new diannao();
24                 int d=dian.Showfi();//调用电脑方法
25                 lbdian.Text = dian.fiName;//向界面输出的值
26 
27                 //创建裁判对象
28                 caipan c = new caipan();
29                 lkbjie.Text= c.ISuw(w, d);//调用裁判的方法,并传值到界面
30             }
31         }
32     }
33 }
界面代码

玩家类(wanjia)

 1 namespace 石头剪刀布
 2 {
 3     public class wanjia
 4     {
 5         //保存玩家的出拳结果
 6         public string fiName
 7         {
 8             set;
 9             get;
10         }
11         //玩家的出拳方法
12         public int Showfi(string fi)
13         {
14             this.fiName = fi;
15             int s = -1;
16             //根据用户的输入,得到相应的数值
17             switch (fi)
18             { 
19                 case "石头":
20                      s=1;
21                     break ;
22                 case "剪刀":
23                      s=2;
24                     break ;
25                 case "":
26                      s=3;
27                     break ;
28             }
29             return s;
30 
31         }
32     }
33 }
玩家类

电脑类(diannao)

 1 namespace 石头剪刀布
 2 {
 3     public class diannao
 4     {
 5         //保存电脑出拳的结果
 6         public string fiName
 7         {
 8             set;
 9             get;
10         }
11         //计算电脑的出拳
12         public int Showfi()
13         { 
14             //因为电脑是算计出拳,首先要先创建一个随机对象
15             Random random = new Random();
16             //通过随机得到数值,有效取值范围为1、2、3;
17             //1、代表“石头”;2、代表“剪刀”;3、代表“布”
18             int r = random.Next(1,4);
19             //判断随机数
20             switch (r)
21             { 
22                 case 1:
23                     this.fiName = "石头";
24                     break;
25                 case 2:
26                     this.fiName = "剪刀";
27                     break;
28                 case 3:
29                     this.fiName = "";
30                     break;
31             }
32             return r;
33         }
34     }
35 }
电脑类

裁判类(caipan)--规则

 1 namespace 石头剪刀布
 2 {
 3     public class caipan
 4     {
 5         public string ISuw(int w, int d)
 6         {
 7             if (w == d)
 8             { 
 9                 return ("平局!");
10             }
11             else if ((w - d) == -1 || (w - d) == 2)
12             {
13                 return ("赢了!");
14             }
15             else
16             { 
17                 return ("输了!");
18             }
19 
20         }
21     }
22 }
裁判类

这个小游戏不太难,主要注意的又一下几点

【注意】:

  1、object sender, EventArgs e

    第一个参数 sender 是指“发生事件”的那个东东(比如Button按钮) ;

    第二个参数 e 是指“事件发生的时附加的参数”

  2、将sender强转换为Button类型(Button首字母必须大写,否则会出错)

    Button btn = (Button)sender;  //sender是对象类型

  3、类的默认修饰符是internal

原文地址:https://www.cnblogs.com/pengyouqiang88/p/5119163.html