C# 石头剪刀布 小游戏
C# 石头剪刀布 小游戏
假设:石头 1,剪刀 2,布 3;
玩家赢的结果:1-2=-1,2-3=-1,3-1=2;
平手:相减=0;
其他情况是电脑赢了。
Form1代码:
using System;
using System.Windows.Forms;
namespace 石头剪刀布
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void btnST_Click(object sender, EventArgs e)//石头 按钮单击事件
        {
            string str = "石头";
            PlayGame(str);//调用方法
        }
        private void btnJD_Click(object sender, EventArgs e)//剪刀 按钮单击事件
        {
            string str = "剪刀";
            PlayGame(str);//调用方法
        }
        private void btnB_Click(object sender, EventArgs e)//布 按钮单击事件
        {
            string str = "布";
            PlayGame(str);//调用方法
        }
        private void PlayGame(string str)
        {
            lblPlayer.Text = str;//将玩家 出拳 显示出来
            Player player = new Player();//创建 玩家类
            int pNum = player.ShowFist(str);//调用方法
            CPU cpu = new CPU();//创建 电脑类
            int cNum = cpu.ShowFist();//调用方法
            lblCPU.Text = cpu.Fist;//将电脑 出拳 显示出来
            Result res = Judgment.Judge(pNum, cNum);//调用方法
            lblJudgment.Text = res.ToString();//显示结果
        }
    }
}Player类代码:
using System;
namespace 石头剪刀布
{
    class Player
    {
        public int ShowFist(string fist)//将玩家 出的拳 传过来
        {
            int num = 0;//声明整数变量
            switch (fist)//判断
            {
                case "石头"://如果出的是 石头
                    num = 1;//赋值
                    break;
                case "剪刀":
                    num = 2;
                    break;
                case "布":
                    num = 3;
                    break;
            }
            return num;//返回值
        }
    }
}CPU类代码:
using System;
namespace 石头剪刀布
{
    class CPU
    {
        public string Fist { get; set; }//属性
        public int ShowFist()//方法 
        {
            Random r = new Random();//随机数
            int rNum = r.Next(1, 4);//随机一个1~3之间的一个数
            switch (rNum)//判断 随机的数是几
            {
                case 1:
                    this.Fist = "石头";//赋值
                    break;
                case 2:
                    this.Fist = "剪刀";//赋值
                    break;
                case 3:
                    this.Fist = "布";//赋值
                    break;
            }
            return rNum;//返回
        }
    }
}Judgment类代码:
using System;
namespace 石头剪刀布
{
    public enum Result//枚举
    {
        玩家赢,
        电脑赢,
        平手
    }
    class Judgment
    {
        public static Result Judge(int pNum,int cNum)//得到  玩家和电脑的数。
        {
            if (pNum - cNum == -1 || pNum - cNum == 2)//判断结果
            {
                return Result.玩家赢;//返回
            }
            else if (pNum - cNum == 0)//判断结果
            {
                return Result.平手;//返回
            }
            else
            {
                return Result.电脑赢;//返回
            }
        }
    }
}输出结果:





 
                        ![拓源纯净主题tpure 修改 站长简介 [图标]](https://daobk.com/zb_users/cache/thumbs/c5b8ebcad49f36c4c34c34c798657675-210-147-1.jpg) 
                         
                         
                        