C#实现石头剪刀布游戏
#代码知识 发布时间: 2026-01-12
本文实例为大家分享了C#实现石头剪刀布的具体代码,供大家参考,具体内容如下

代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 石头剪刀布
{
public partial class Form1 : Form
{
int computer_sorce = 0;
int user_sorce = 0;
int i=0,j = 0;
int last_step = -1;//0表示平局,1为电脑上步加一,2为用户上步加一
public Form1()
{
InitializeComponent();
this.Text = "石头剪刀布";
label3.Text = ":";
label1.Visible = false;
label2.Visible = false;
label3.Visible = false;
label4.Visible = false;
button1.Text = "开始游戏";
button2.Text = "重新开始";
button3.Text = "悔棋";
button4.Text = "退出";
button2.Visible = false;
button3.Visible = false;
button4.Visible = false;
pictureBox2.Visible = false;
pictureBox3.Visible = false;
pictureBox3.Visible = false;
pictureBox4.Visible = false;
pictureBox5.Visible = false;
pictureBox6.Visible = false;
pictureBox7.Visible = false;
pictureBox8.Visible = false;
pictureBox9.Visible = false;
pictureBox10.Visible =false;
pictureBox11.Visible = false;
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Visible = false;
button1.Visible = false;
button1.Enabled = false;
pictureBox2.Visible = true;
pictureBox3.Visible = true;
pictureBox4.Visible = true;
pictureBox5.Visible = true;
pictureBox6.Visible = true;
pictureBox7.Visible = true;
pictureBox8.Visible = true;
pictureBox9.Visible = true;
pictureBox10.Visible = true;
pictureBox11.Visible = true;
button2.Visible = true;
button3.Visible = true;
button4.Visible = true;
}
private void game_computer()
{
Random rand = new Random();
i = rand.Next(4);
if (i == 1)
{
pictureBox10.Load("..\\..\\picture\\1.jpg");
}
else if (i == 2)
{
pictureBox10.Load("..\\..\\picture\\2.jpg");
}
else if(i == 3)
{
pictureBox10.Load("..\\..\\picture\\3.jpg");
}
}
private void game_judgment()
{
if (i == 1)//电脑出石头
{
if (j == 1)
{
last_step = 0;
}
else if (j == 2)//用户出剪刀
{
computer_sorce++;
last_step = 1;
}
else if (j == 3)//用户出布
{
user_sorce++;
last_step = 2;
}
}
else if (i == 2)//电脑出剪刀
{
if (j == 1)//用户出石头
{
user_sorce++;
last_step = 2;
}
else if (j == 2)
{
last_step = 0;
}
else if (j == 3)//用户出布
{
computer_sorce++;
last_step = 1;
}
}
else if (i == 3)//电脑出布
{
if (j == 1)//用户出石头
{
computer_sorce++;
last_step = 1;
}
else if (j == 2)//用户出剪刀
{
user_sorce++;
last_step = 2;
}
else if (j == 3)
{
last_step = 0;
}
}
if (computer_sorce == 2)//当电脑分数到2时,显示you lose
{
label1.Visible = true;
pictureBox7.Enabled = false;//结果出来后三个图片按钮失效
pictureBox8.Enabled = false;
pictureBox9.Enabled = false;
label1.Text = "YOU LOSE!";
}
else if (user_sorce == 2)//当用户分数到2时,显示you win
{
label1.Visible = true;
pictureBox7.Enabled = false;
pictureBox8.Enabled = false;
pictureBox9.Enabled = false;
label1.Text = "YOU WIN!";
}
}
private void button4_Click(object sender, EventArgs e)//退出按钮
{
this.Close();
}
private void pictureBox7_Click(object sender, EventArgs e)//用户石头图片
{
j = 1;
pictureBox10.Visible = true;//划拳图片显示正常
pictureBox11.Visible = true;
label2.Visible = true;//计分器三个label显示
label3.Visible = true;
label4.Visible = true;
game_computer();
game_judgment();
label2.Text = computer_sorce.ToString();
label4.Text = user_sorce.ToString();
pictureBox11.Load("D:\\newdesktop\\1.jpg");
}
private void pictureBox8_Click(object sender, EventArgs e)//用户剪刀图片
{
j = 2;
pictureBox10.Visible = true;//划拳图片显示正常
pictureBox11.Visible = true;
label2.Visible = true;//计分器三个label显示
label3.Visible = true;
label4.Visible = true;
game_computer();
game_judgment();
label2.Text = computer_sorce.ToString();
label4.Text = user_sorce.ToString();
pictureBox11.Load("D:\\newdesktop\\2.jpg");
}
private void pictureBox9_Click(object sender, EventArgs e)//用户布图片
{
j = 3;
pictureBox10.Visible = true;//划拳图片显示正常
pictureBox11.Visible = true;
label2.Visible = true;//计分器三个label显示
label3.Visible = true;
label4.Visible = true;
game_computer();
game_judgment();
label2.Text = computer_sorce.ToString();
label4.Text = user_sorce.ToString();
pictureBox11.Load("D:\\newdesktop\\3.jpg");
}
private void button2_Click(object sender, EventArgs e)
{
pictureBox7.Enabled = true;//重新开始后三个图片按钮生效
pictureBox8.Enabled = true;
pictureBox9.Enabled = true;
i = 0;
j = 0;
computer_sorce = 0;
user_sorce = 0;
label2.Text = computer_sorce.ToString();
label4.Text = user_sorce.ToString();
pictureBox10.Visible = false;
pictureBox11.Visible = false;
label1.Visible = false;
label2.Visible = false;
label3.Visible = false;
label4.Visible = false;
}
private void button3_Click(object sender, EventArgs e)
{
label1.Visible = false;
pictureBox7.Enabled = true;
pictureBox8.Enabled = true;
pictureBox9.Enabled = true;
pictureBox10.Visible = false;
pictureBox11.Visible = false;
if (last_step == 0)
{
}
else if (last_step == 1)
{
computer_sorce--;
label2.Text = computer_sorce.ToString();
label4.Text = user_sorce.ToString();
}
else if (last_step == 2)
{
user_sorce--;
label2.Text = computer_sorce.ToString();
label4.Text = user_sorce.ToString();
}
last_step = -1;
}
}
}
效果图
开始游戏
点击开始
划拳
判定胜败
重新开始
悔棋
退出
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
代码知识SEO上一篇 : H5+css3+js搭建带验证码的登录页面
下一篇 : 利用js canvas实现五子棋游戏
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!