使用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; } } }
效果图
开始游戏
点击开始
划拳
判定胜败
重新开始
悔棋
退出
看完上述内容,你们掌握使用C#实现一个石头剪刀布游戏的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。