面向对象剪刀石头布小游戏的制作

本文介绍了一种使用面向对象编程思想来创建石头剪刀布游戏的方法,包括了玩家、电脑和裁判三个类的设计。玩家类包含出拳结果和出拳方法,电脑类则有随机出拳功能,裁判类通过枚举判断输赢状态。文章还展示了如何在前端调用这些类的方法来运行游戏并显示结果。
摘要由CSDN通过智能技术生成

分析

石头剪刀布游戏其中的对象人,电脑,判断输赢的中间裁判

人含有的属性和方法,人需要知道出拳的结果,出拳的方法(需要一个参数从前台接收出拳),电脑需要知道出拳结果,出拳方法(随机生成)

然后把两边的出拳结果(使用数字)传递给裁判,裁判进行判断输赢,由于结果有平、输、赢三种,所以我们可以把裁判判断输赢方法的返回值类型设置为枚举


玩家类:namespace 面向对象石头剪刀布游戏
{
   public class person
    {
       //出拳结果
       public string fistResult
       {
           get;
           set;
       }
       /// <summary>
       /// 出拳方法
       /// </summary>
       /// <param name="s"></param>
       /// <returns></returns>
       public int  Resu(string s)
       {
           int result = -1;
           switch (s)
            {
               case "石头":
                   result=1;
              break;
              
               case "剪刀":
                   result=2;
              break;
               case "布":
                 result=3;
              break;
            }
           this.fistResult = s;
           return result;
       }

    }
}


电脑类:

   public class Computer
    {

        public string fistResult
        {
            get;
            set;
        }
        public int ShowFist()
        {
            Random ran= new Random();
            int res= ran.Next(1, 4); //去下限无上限
            
            switch (res)
            {
                case 1:
                    fistResult = "石头";
                    break;
                case 2:
                    fistResult = "剪刀";
                    break;
                case 3:
                    fistResult = "布";
                    break;
            }
            return res;

        }
    }
}

裁判类:

namespace 面向对象石头剪刀布游戏
{

    public enum userState
    {
        Playwin,
        Ulose,
        OK
    }
   public  class CaiPan
    {
    public static userState IsPlayWin(int plays,int comps)//返回值有三中状态 平,赢,输,所以尽量使枚举
       {
           if (plays == comps)
           {
               return userState.OK;
           }
           else if (plays - comps == -1 || plays - comps == 2)
           {
               return userState.Playwin;
           }
           else
           {
               return userState.Ulose;
           }
          
       }

    }
}

前台调用代码:

  private void btn石头_Click(object sender, EventArgs e)
        {
            Button btn = ( Button)sender;//判断事件源
            NewMethod(btn.Text);

        }

        private void NewMethod(string fist)
        {
            person p = new person();
            int pfist = p.Resu(fist);


            Computer com = new Computer();
            int comfist = com.ShowFist();

            label5.Text = com.fistResult;
            lblU.Text = p.fistResult;
            userState user = CaiPan.IsPlayWin(pfist, comfist);
            if (user == userState.Playwin)
            {
                lblResult.Text = "YouWin!";

            }
            else if (user == userState.Ulose)
            {
                lblResult.Text = "Youlose!";

            }
            else
            {
                lblResult.Text = "平手!";
            }
        }

最终效果:



### 回答1: 好的,这是一个简单的剪刀石头布小游戏的 Python 代码: ```python import random print("欢迎来到剪刀石头布游戏!") print("请输入您的选择:剪刀(0)、石头(1)、布(2)") while True: # 玩家出拳 player = int(input()) if player not in [0, 1, 2]: print("输入无效,请重新输入!") continue # 电脑出拳 computer = random.randint(0, 2) # 判断胜负 if player == computer: print("平局!") elif player == 0 and computer == 2: print("你赢了!") elif player == 1 and computer == 0: print("你赢了!") elif player == 2 and computer == 1: print("你赢了!") else: print("你输了!") # 询问是否继续游戏 print("是否继续游戏?是(Y),否(N)") choice = input() if choice.upper() != "Y": print("游戏结束,谢谢参与!") break ``` 运行该代码后,你可以输入 0、1 或 2 来选择剪刀、石头或布,电脑会随机出拳,并判断胜负。最后会询问是否继续游戏,如果选择“是”,则可以继续玩,否则游戏结束。 ### 回答2: 剪刀石头布是一个非常经典的小游戏,下面我将用300字来说明如何用Python制作一个简单的剪刀石头布小游戏。 首先,我们需要导入random模块,以便随机生成电脑的选择。然后,我们需要创建一个循环,让游戏可以连续进行。 在游戏开始时,我们会打印出游戏的规则和选项,并要求玩家选择其中一个选项。随后,我们需要使用input函数来接收玩家的输入,存储在变量中。 接下来,我们可以使用random.choice函数从剪刀、石头和布中随机选择一个,并将其存储在电脑选择的变量中。然后,我们可以使用条件语句来判断玩家和电脑的选择,并根据规则判断游戏的结果。最后,我们可以将结果打印给玩家。 如果玩家想继续进行游戏,我们可以使用条件语句检查玩家的意愿,并在之后继续游戏。否则,我们可以通过打印一条结束语句来结束游戏。 这就是用Python制作一个简单的剪刀石头布小游戏的基本步骤。通过编写这个小游戏,玩家可以体验到随机生成和条件语句的应用,能够加深对Python编程语言的理解和熟练度。希望这个解答对您有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值