猜拳游戏代码(C#)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 猜拳游戏
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//写一个将鼠标点击事务 将字符串转换成响应数值的办法
public int changtoValue(string str)
{
//new一个整型n
int n = 0;
//对传入的字符串进行断定
//若是 为剪刀 则给n 付与值1
if (str == "剪刀")
{
n = 1;
}
//同理
else if (str == "石头")
{
n = 2;
}
//同理
else if (str == "布")
{
n = 3;
}
else
{
throw new Exception("未知错误");
}
//最后返回一个转换成功的整数n
return n;
}
// 剪刀1 石头2 布3
//写一个电脑随机出拳的办法
public string PC()
{
//用一个随机函数 电脑获取的数为1-3
Random ran = new Random();
//random.Next办法 取最小值,但不取最大值, 所以在1-3内随机取值
int n = ran.Next(1, 4);
//new 一个空字符串 strPC
string strPC = "";
//进行简单剖断 获取的随机值 同时转换成响应的字符串
//若是随机值取到
if (n == 1)
{
//则赋给空字符串一个 "剪刀"
strPC = "剪刀";
}
//同理
else if (n == 2)
{
strPC = "石头";
}
//同理
else if (n == 3)
{
strPC = "布";
}
//若是随机值不在1-3局限内 抛出一个异常
else
{
throw new Exception("未知错误!");
}
//将获取的字符串 赋给label框 lblPC
lblPC.Text = strPC;
//并返回一个字符串 strPC
return strPC;
}
//斗劲玩家和电脑的值
public void Judge(int Player, int PC)
{
// 剪刀1 石头2 布3
//赢的景象有2种 1种是 玩家比电脑值大1 一种是小2
if (Player - PC == 1 || Player - PC == -2)
{
lblResult.Text = "你赢了";
pictureBox1.Image = Image.FromFile("shengli.jpg");
}
//平的景象只有1种 即为出拳雷同
else if (Player - PC == 0)
{
lblResult.Text =
"平局";
pictureBox1.Image = Image.FromFile("pingju.jpg");
}
//除此之外 只有输的景象了
else
{
lblResult.Text = "你输了";
pictureBox1.Image = Image.FromFile("shibai.jpg");
}
}
private void btnJiandao_Click(object sender, EventArgs e)
{
//获取当前简单按钮的文本内容"剪刀"
string strJiandao = btnJiandao.Text;
//将按钮上的文本 赋给label框lblPlayer
lblPlayer.Text = strJiandao;
// 调用下面 将文本转换成响应整型的办法 将文本框的内容 剪刀转换成对应的整数
//并赋给 vPlaye
int vPlayer = changtoValue(strJiandao);
// MessageBox.Show(v.ToString());
//运行PC的办法 电脑随机出拳
PC();
//将电脑label框 lblPC的内容赋给字符串strPC
string strPC = lblPC.Text;
//调用转成字符串为整数的办法 将响应的电脑出拳转成整数
int vPC = changtoValue(strPC);
//MessageBox.Show("策画机出了值为:"+ vPC.ToString());
//调用裁判的办法 传入2个整数值 玩家 和电脑的数据 进行对比
Judge(vPlayer, vPC);
}
private void btnShitou_Click_1(object sender, EventArgs e)
{
string strShitou = btnShitou.Text;
lblPlayer.Text = strShitou;
int vPlayer = changtoValue(strShitou);
// MessageBox.Show(v.ToString());
PC();
string strPC = lblPC.Text;
int vPC = changtoValue(strPC);
//MessageBox.Show("策画机出了值为:" + vPC.ToString());
Judge(vPlayer, vPC);
}
private void btnBu_Click_1(object sender, EventArgs e)
{
string strBu = btnBu.Text;
lblPlayer.Text = strBu;
int vPlayer = changtoValue(strBu);
//MessageBox.Show(v.ToString());
PC();
string strPC = lblPC.Text;
int vPC = changtoValue(strPC);
//MessageBox.Show("策画机出了值为:" + vPC.ToString());
Judge(vPlayer, vPC);
}
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("你好啊!欢迎来到猜拳小游戏现场...","开始游戏...");
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("/xsw121814#!/home");
}
}
}