c# Winform上实现石头剪刀布游戏

  

本文实例为大家分享了Winform上实现石头剪刀布游戏的具体代码,供大家参考,具体内容如下

  

新建一个windows窗体程序,用数字1代表石头,用数字2代表剪刀,用数字3代表布,结果取玩家和电脑出拳之差,有三种结果

  

玩家赢:1、2

  

平手:0

  

玩家输:其它值

  

新建3个类:,

  

1)电脑。cs电脑随机出拳

        使用系统;   使用System.Collections.Generic;   使用来;   使用text;   使用System.Threading.Tasks;      名称空间石头剪刀布      {      类计算机      {      公共字符串的拳头   {      得到;   设置;      }      公共int ShowFist ()      {   随机rnd=new随机();   int拳头=研发。下(1,4);   开关(拳头)      {      案例1:拳头="石头”;打破;   案例2:拳头="剪刀”;打破;   案例3:拳头="布";打破;      }      返回的拳头;      }      }      }   之前      

2),法官。cs裁判类判断输赢,

        使用系统;   使用System.Collections.Generic;   使用来;   使用text;   使用System.Threading.Tasks;      名称空间石头剪刀布      {   类法官      {      公共枚举结果      {      玩家赢,   电脑赢,   平手      }      公共静态结果WhoWin (int playerNum int computerNum)      {=playerNum - computerNum int结果;   如果(结果==1 | |结果==2)      {      返回结果。玩家赢;      }      else if(结果==0)      {      返回结果。平手;      }      其他的      {      返回结果。电脑赢;      }      }      }      }   之前      

3),球员。cs玩家,出拳,

        使用系统;   使用System.Collections.Generic;   使用来;   使用text;   使用System.Threading.Tasks;      名称空间石头剪刀布      {      类的球员      {      公共静态int ShowFist(字符串拳头)      {      开关(拳头)      {      ”石头”:返回1;   “剪刀”:返回2;   情况下“布”:返回3;   默认值:返回0;      }      }      }      }   之前      

界面后台实现代码:,

        使用系统;   使用System.Collections.Generic;   使用System.ComponentModel;   使用System.Data;   使用System.Drawing;   使用先;   使用来;   使用text;   使用System.Threading.Tasks;   使用System.Windows.Forms;      名称空间石头剪刀布      {      公共部分中类Form1:形式      {      公共Form1 ()      {      InitializeComponent ();      }///& lt; summary>///点击石头按钮///& lt;/summary>///& lt;参数name=胺⒓恕弊4? lt;/param>///& lt;参数name=" e "祝辞& lt;/param>   私人空间btnStone_Click(对象发送方,EventArgs e)      {      字符串的拳头="石头”;      游戏(拳头);      }///& lt; summary>///点击剪刀按钮///& lt;/summary>///& lt;参数name=胺⒓恕弊4? lt;/param>///& lt;参数name=" e "祝辞& lt;/param>      私人空间btnScissors_Click(对象发送方,EventArgs e)      {      字符串的拳头="剪刀”;   游戏(拳头);      }///& lt; summary>///点击布按钮///& lt;/summary>///& lt;参数name=胺⒓恕弊4? lt;/param>///& lt;参数name=" e "祝辞& lt;/param>      私人空间btnCloth_Click(对象发送方,EventArgs e)      {      字符串的拳头="布";   游戏(拳头);            }//背景图片轮播   String[]路径=Directory.GetFiles (@“C: \ \石”);//此目录里面必须有图片,否则会报的错   私人空间timer1_Tick(对象发送方,EventArgs e)      {      这一点。BackgroundImage=形象。FromFile(路径[新的随机()。下一个(0,paths.Length)]);            }   静态int playerWinTimes=0;//玩家赢的次数   静态int gameTimes=0;//总共次数   静态int tieTimes=0;//平手次数///& lt; summary>///通用方法///& lt;/summary>///& lt;参数name=叭贰弊4? lt;/param>      私人空间游戏(字符串拳头)      {      gameTimes + +;   lbPlayer。文本=拳头;   int playerNum=Player.ShowFist(拳头);   计算机cpu=新电脑();   int cpuNum=cpu.ShowFist ();   lbComputer。文本=cpu.Fist;   法官。结果结果=法官。WhoWin (playerNum cpuNum);   lbJudge。文本=result.ToString ();   lbStatistics。文本="统计信息:\ n \ n1。您赢了“+ playerWinTimes +”场比赛!\ n \ n“+”2。平手了”+ tieTimes +“次;\ n \ n " + " 3。输掉了”+ (gameTimes - playerWinTimes tieTimes) +”场比赛;\ n \ n“+”4。共进行了“+ gameTimes +”场比赛! \ n \ n”;         如果结果==Judge.RESULT。玩家赢)      {      playerWinTimes + +;   对话框。显示(“恭喜,您已经赢了”+ playerWinTimes +“场比赛!”+“共进行了”+ gameTimes +“场比赛!”);      }      else if(结果==Judge.RESULT。平手)      {      tieTimes + +;      }         }      }      }

c# Winform上实现石头剪刀布游戏