C# 石头剪刀布 小游戏

原创 小道  2018-12-20 16:02:46  阅读 91 次 评论 0 条
摘要:

C# 石头剪刀布 小游戏假设:石头 1,剪刀 2,布 3;玩家赢的结果:1-2=-1,2-3=-1,3-1=2;平手:相减=0;其他情况是电脑赢了。

C# 石头剪刀布 小游戏

假设:石头 1,剪刀 2,布 3;

玩家赢的结果:1-2=-1,2-3=-1,3-1=2;

平手:相减=0;

其他情况是电脑赢了。

image.png

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.电脑赢;//返回
            }
        }
    }
}

输出结果:

image.pngimage.pngimage.png

本文地址:https://www.daobk.com/post/153.html
版权声明:本文为原创文章,版权归 小道 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?