• 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

  • 相关阅读:
    python脚本进度条
    gopacket学习
    logrotate按时间切割supervisor日志
    运维常用工具
    从头开始在vmware虚拟机安装dpdk
    istio http、udp等性能测试工具
    ansible通过通配符批量fetch或copy日志文件
    ts从单独的ts文件中导出interface
    分布式事务最终一致性的简单案例
    win10 右键添加“在此处打开CMD"
  • 原文地址:https://www.cnblogs.com/pengyouqiang88/p/5119163.html
Copyright © 2020-2023  润新知