- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用C#-Winform写个猜拳小游戏
用C# Winform 写个猜拳小游戏
简介
猜拳游戏,也叫划拳游戏.顾名思义就是:2个人在一起划拳,比谁赢,比谁输.这里的猜拳游戏是 人和电脑之间的较量.
原理
原理很简单,给人3个值(字符串):剪刀 石头布.电脑的岀拳用的随机的 Random 函数得 到整型值,然后将其转换成相应的字符串 用于显示在窗体界面上.同时再写一个方法将字符串
(剪刀 石头 布)转成成相应的整型值.写一个裁判的方法 将两者的整型值进行比较 ,得出输,赢 平局的结果.
界面设计(如图)
代码:
public FingerGuessingGame()
{
lnitializeComponent();
//注册各个按钮的鼠标单击事件
this .btnJiandao.Click += (s, e) = { Jiandao(); };
this .btnShitou.Click += (s, e) = { Shitou();}; this .btnBu.Click += (s, e) = { Bu(); };
}
/// summary
/// 玩家出剪刀
/// /summary
public void Jiandao()
{
//将玩家单击按钮的内容显示在玩家出了的 label框中
IbIPlayer.Text = btnJiandao.Text;
//获取label框中的内容并转换成整数
int vPlayer = ChangeStrTolnt(lblPlayer.Text);
//调用裁判的方法 将玩家和电脑的数据进行对比 并显示在结果框中
lblResult.Text = Judge(vPlayer, PC());
}
/// summary
/// 玩家出石头
/// /summary
public void Shitou()
{
lblPlayer.Text = btnShitou.Text;
int vPlayer = ChangeStrTolnt(btnShitou.Text);
lblResult.Text = Judge(vPlayer, PC());
}
/// summary
/// 玩家出布
/// /summary
public void Bu()
{
lblPlayer.Text = btnBu.Text;
int vPlayer = ChangeStrTolnt(btnBu.Text);
lblResult.Text = Judge(vPlayer, PC());
}
/// summary
/// 写一个将鼠标点击事件 将字符串转换成相应数值的方法
/// /summary
/// vparam name=str 玩家点击的按钮内容 /param
/// returns 按钮相对应的整数值 /returns
public int ChangeStrToInt( string str)
{
int n = 0;
//对传入的字符串进行判断
switch (str)
{
case 剪刀:
n = 1;
break ;
case 石头:
n = 2;
break ;
case 布:
n = 3;
break ;
default
throw new Exception (未知出法”);
}
return n;
}
/// summary
/// 写一个电脑随机出拳的方法
/// /summary
/// returns 电脑的出拳值 /returns
public int PC()
{
Random ran = new Random();
//random.Next 方法取最小值,但不取最大值,所以在1-3内随机取值
int vPC = ran.Next(1,4);
string strPC = string .Empty;
//进行简单判定 获取的随机值 同时转换成相应的字符串
switch (vPC)
{
case 1:
strPC = 剪刀;
break ;
case 2:
strPC = 石头;
break ;
case 3:
strPC = 布;
break ;
default :
throw new Exception (未知错误:无法判断玩家出的拳!);
}
lblPC.Text = strPC; //显示电脑出的拳
return vPC;
}
/// summary
/// 比较玩家和电脑的值
判断谁赢谁输
/// /summary
/// vparam name=Player 玩家的出拳值 /param
III vparam name=PC 电脑的出拳值 /param
public string Judge( int Player, int PC)
{
//剪刀1 石头2
您可能关注的文档
最近下载
- 投标人对保证工程质量及详细的质量违约处罚措施的承诺;.doc
- 2023年深圳市南山区第二外国语学校小升初分班考试英语模拟试卷及答案解析.docx
- 华东理工大学《多元统计学》2020-2021学年第二学期期末试卷.pdf
- 主题班会成功无捷径 学习当奋斗(课堂PPT).ppt
- 习概 推进依法治国.docx VIP
- 安徽大学-2020-2021学年第-一-学期大学英语A试卷及答案.docx
- 常见创伤分类与现场急救(1).ppt
- DENON天龙AV接收机AVC-X8500H产品说明书.pdf
- 中学英语教研组校本研修活动记录.doc
- 河北工业大学2022-2023学年第2学期《高等数学(下)》期末试卷(A卷)附标准答案.pdf
文档评论(0)