OOP入门Demo-猜拳游戏

简单OOP-猜拳游戏

图2

主要代码

namespace 猜拳游戏
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
      public  int ownScore = 0;//自己分数
       public int ownComputerSocre = 0;//电脑分数
        private void btnstone_Click(object sender, EventArgs e)
        {
            math(btnstone.Text);  
        }

        private void btnjiandao_Click(object sender, EventArgs e)
        {
            math(btnjiandao.Text); 
        }

        private void btncloth_Click(object sender, EventArgs e)
        {
            math(btncloth.Text); 
        }
        /// <summary>
        /// 开始比赛
        /// </summary>
        /// <param name="first"></param>
        public void math(string first) {
            own play = new own();
            int playresult = play.punching(first);
            lbown.Text = play.first;
            computer computerplay = new computer();
            int computerresut = computerplay.punching();
            lbcomputer.Text = computerplay.first;
            caipan.woner woner = caipan.match(playresult, computerresut);//获得枚举
            if (woner == caipan.woner.computerWin)
            {
                lbresult.Text = "电脑赢";
                ownComputerSocre += 1;
                lbComputerScore.Text = ownComputerSocre.ToString();
            }
            if (woner == caipan.woner.ownWin)
            {
                lbresult.Text = "我赢";
                ownScore += 1;
                lbOwnScore.Text = ownScore.ToString();
            }
            if (woner == caipan.woner.pinshou)
            {
                lbresult.Text = "平手";
            }
        }
    }
}

caipan.cs

class caipan
    {
        public enum woner {
            ownWin,//我赢
            computerWin,//电脑赢
            pinshou//平手
        }
        public static woner match(int playfirst,int computerfirst) {
           //石头是1,剪刀是2,布是3 1-2=-1,,1-3=2,2-3=-1
            if (playfirst - computerfirst == 0) {
                return woner.pinshou;//平手
            }
            if (playfirst - computerfirst == -1 || playfirst - computerfirst == 2)
            {
                return woner.ownWin;//我赢
            }
            else {
                return woner.computerWin;
            }
        }
    }

computer.cs

public class computer
    {
        public string first;
       //随机出拳
        public int punching() {
            Random ran = new Random();
          int reslut=  ran.Next(1, 4);
            switch (reslut) {
                case 1: first = "石头"; break;
                case 2: first = "剪刀"; break;
                case 3: first = "布"; break;
            }
            return reslut;
        }

    }

own.cs

public class own
    {   //1是石头,2是剪刀,3是布
        public string first{get;set;}
       //出拳方法
        public int punching(string fist) {
            int result=0;
            switch (fist) {
            case "石头": result= 1; break;
            case "剪刀": result=2;break;
            case "布":  result=3;break;
            }
            this.first = fist;
            return result;
        }
    }

上一篇
LINQ LINQ
LINQ 基础LINQ LINQ关键字 from 指定数据源和范围变量 where 根据布尔表达式(由逻辑与 或 等组成)从数据源中筛选元素 select 指定查询结果中的元素所具有的类型或表现形式 group 对对查询结果按照键值进行分组
2019-01-15
下一篇
OOP入门Demo-小宠物 OOP入门Demo-小宠物
OOP入门Demo-小宠物class Program { static void Main(string[] args) { Pet pet = new Pet();
2019-01-14
目录