C#实现石头剪刀布游戏

本文实例为大家分享了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;
    }
  }
}

效果图

开始游戏

点击开始

划拳

判定胜败


重新开始

悔棋


退出

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C# Winform实现石头剪刀布游戏

    本文实例为大家分享了Winform实现石头剪刀布游戏的具体代码,供大家参考,具体内容如下 新建一个windows窗体程序,用数字1代表石头,用数字2代表剪刀,用数字3代表布,结果取玩家和电脑出拳之差,有三种结果 玩家赢: -1,2 平手: 0 玩家输: 其它值 新建3个类: 1)Computer.cs 电脑随机出拳 using System; using System.Collections.Generic; using System.Linq; using System.Text; using

  • C#实现剪刀石头布游戏

    本文实例为大家分享了C#实现剪刀石头布游戏的具体代码,供大家参考,具体内容如下 游戏界面如下所示: 首先我们必须知道要创建三个类玩家类,电脑类,裁判类 1.玩家类中的代码为 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace PlayGame { class Player { public int showFist(string str) { int num

  • C#语言使用Unity实现剪刀石头布游戏

    本文实例为大家分享了C#语言使用Unity实现剪刀石头布游戏的具体代码,供大家参考,具体内容如下 游戏:剪刀石头布 实现功能: 1.电脑随机出牌(剪刀石头布) 2.玩家选择出牌(剪刀石头布) 3.玩家没有出牌时,电脑变幻牌面: 玩家出牌后,电脑出牌,并停止变幻牌面3秒,期间玩家无法选择出牌 4.玩家和电脑出牌后,电脑自动计分. using UnityEngine; using System.Collections; public class hw0310a : MonoBehaviour { /

  • ruby实现石头剪刀布游戏示例

    ruby实现石头剪刀布游戏 复制代码 代码如下: #encoding: utf-8arr = ['石头', '剪刀', '布']win_arr = [['石头', '剪刀'], ['剪刀', '布'], ['布', '石头']]#随机computer的值,放入result数组中result = [arr.sample]while (true)  puts "请输入石头.剪刀.布"  input_value = gets.force_encoding("GBK").e

  • Java实现石头剪刀布游戏

    本文实例为大家分享了Java实现石头剪刀布游戏的具体代码,供大家参考,具体内容如下 题目: 用 JAVA 语言设计如下界面的石头剪刀布游戏.游戏的一方点击界面上石头.剪刀.布按钮,游戏的另一方计算机随机选择,然后给出游戏结果. Java: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; @SuppressWarning

  • java实现简单石头剪刀布游戏

    本文实例为大家分享了java实现简单石头剪刀布游戏的具体代码,供大家参考,具体内容如下 问题描述 Alice, Bob和Cindy一起玩猜拳的游戏.和两个人的猜拳类似,每一轮,他们会从石头.剪刀.布中各自选一个出拳,基本的胜负规则是石头赢剪刀.剪刀赢布.布赢石头.如果一轮中正好可以分成胜负两边,则负边的每个人要支付给胜边的每个人一块钱.如果无法分成胜负两边,则都不出钱.比如,如果Alice出石头,而Bob和Cindy都出布,则Alice要分支付Bob和Cindy一块钱.再如,如果Alice出石头

  • 用Python实现石头剪刀布游戏

    从控制台输入要出的拳 —— 剪刀(0)/石头(1)/布(2) 电脑 **随机** 出拳 比较胜负 增加错误输入的检测模块 # -*- coding = utf-8 -*- # @Time : 22:03 # @Author : huanhuan # @File : test.py # @Software : PyCharm import random def show(num): if num == 0: sign = "剪刀" elif num == 1: sign = "

  • C#简易人机对抗“石头剪刀布”游戏的实现

    需要实现如下图所示的人机猜拳小游戏: 我们需要建立一个玩家类Player.一个电脑类Computer.一个裁判类Judge来分别模拟各自的操作: [Player.cs] /* * 作者:JeronZhou * 时间:2021-11-01 * 功能:石头剪刀布游戏 */ using System; namespace Test2_2 { public class Player { public string FistName { get; set; } public int Play(string

  • JavaScript实现的石头剪刀布游戏源码分享

    这个游戏主要设计到两点: 首先是胜负运算 由于石头剪刀布是循环性的 石头 杀 剪子 剪子 杀 布 布   杀  石头 石头  杀  剪子 ... 根据以上特点找出规律,写出算法即可. 让电脑随机 这点比较容易,前面我有写过文章介绍,不明白的童鞋可以去看看. 随机刷屏 其实这个效果不是游戏的关键性,但为了看起来更加互动,好玩,我就给加上了.这里用到了一个取模算法,根据余数去循环显示即可达到效果. 界面截图 最后上代码 <!DOCTYPE html> <html> <head&g

  • Python实现简单石头剪刀布游戏

    近日在学习Python的一些基础知识,觉得还是很有趣的一个一门语言!就目前的学习的一些知识,编写了一些一个简单的石头剪刀布的游戏.主要是熟悉一些Python的一些控制语句. import random while 1: s=int(random.randint(1,3)) print(s) print() if s==1: ind="stone" elif s==2: ind="scissors" elif s==3: ind="paper" m

  • js实现石头剪刀布游戏

    前言 用户选择出石头剪刀布,电脑系统随机生成石头剪刀布,然后判断结果并显示给用户 一.实现效果 二.使用步骤 1.HTML和CSS <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale

  • Python实现石头剪刀布游戏

    本文实例为大家分享了一个简单的小游戏,分享给大家. 利用随机函数制作石头剪刀布小游戏 程序只运行一次 import random a = input("请出拳(石头/剪刀/布):") b = ["剪刀", "石头", "布"] # 定义赢的列表 win_list = [["石头", "剪刀"], ["剪刀", "布"], ["布"

随机推荐