py基础之掷骰子游戏的实现

掷骰子游戏(循环的使用及掌握)
0、两个骰子都是1-6
1、玩游戏要有金币,没有金币不能玩游戏
2、玩一局游戏赠金币一枚,充值获得金币
3、充值为10元的倍数,10元/20个金币,20元/40个,每次最高100块
4、玩游戏消耗5个金币
玩法:
1、猜大小,猜对奖励2枚,猜错没有奖励并退出此轮
2、超出6点为大,否则为小
3、游戏结束:1、主动退出  2、没有金币退出
4、游戏结束打印剩余金币数,共玩了几局,赢了几局

import random


class DiceGame:
    # 金币数
    gold = 0
    # 胜场数
    win_num = 0
    # 总场数
    count = 0

    # 是否开始游戏
    def game_start(self):
        print("~~~~~~欢迎来到掷骰子游戏~~~~~~")
        try:
            is_start = int(input("开始新游戏请输入1,退出请输入0\n请输入:"))
        except:
            print("错误警告:不要淘气,请按提示输入!!!")
            self.game_start()
        else:
            if is_start == 1:
                self.top_or_game()
            elif is_start == 0:
                print("退出游戏成功")
                self.p_num()

    # 判断去充值还是直接开始游戏
    def top_or_game(self):
        if self.gold >= 5:
            # 开始游戏
            print("~~~~~~~游戏开始~~~~~~~")
            self.gold = self.gold - 5
            print("金币-5,剩余金币{}".format(self.gold))
            self.gold = self.gold + 1
            print("奖励金币+1,剩余金币{}".format(self.gold))
            self.game_begin()
        else:
            print("您只有{}个金币,不能进入游戏哦".format(self.gold))
            # 去充值
            self.top_gold()

    # 充值
    def top_gold(self):
        try:
            add_money = int(input("请选择你要充值的金额:(1)10元20个金币  (2)20元40个金币  (3)50元100个金币  (4)100元200个金币\n请输入:"))
        except:
            print("错误警告:!!!不要淘气,请按提示输入!!!")
            self.top_gold()
        else:
            if add_money == 1:
                self.gold = self.gold + 20
                print("充值10元成功,当前金币{}个".format(self.gold))
            elif add_money == 2:
                self.gold = self.gold + 40
                print("充值20元成功,当前金币{}个".format(self.gold))
            elif add_money == 3:
                self.gold = self.gold + 100
                print("充值50元成功,当前金币{}个".format(self.gold))
            elif add_money == 4:
                self.gold = self.gold + 200
                print("充值100元成功,当前金币{}个".format(self.gold))
            else:
                print("错误警告:!!!不要淘气,请按提示输入!!!")
        self.top_or_game()

    # 游戏开始
    def game_begin(self):
        self.count += 1
        # 电脑的随机骰子数
        computer1 = random.randint(1, 6)
        computer2 = random.randint(1, 6)
        com_num = computer1 + computer2
        # 用户输入大/小
        try:
            user_num = int(input("压大请按1,压小请按2\n请输入:"))
        except:
            print("错误警告:!!!不要淘气,请按提示输入!!!")
            self.game_begin()
        else:
            if user_num == 1:
                print("您压大")
            elif user_num == 2:
                print("您压小")
            else:
                print("错误警告:!!!不要淘气,请按提示输入!!!")
            print("1号骰子的点数是:{},2号骰子的点数是:{},总点数是{}".format(computer1, computer2, com_num))
        self.is_rebegin(com_num, user_num)

    # 判断输赢
    def is_rebegin(self, com_num, user_num):
        if user_num == 1 and com_num > 6 or user_num == 2 and com_num <= 6:
            print("您赢了")
            self.win_num += 1
            self.gold = self.gold + 2
            self.game_begin()
        else:
            print("您输了")
            self.game_start()

    # 输出相关数据
    def p_num(self):
        print("您的剩余金币是{}".format(self.gold))
        print("您一共玩了{}局".format(self.count))
        print("您一共赢了{}局".format(self.win_num))


if __name__ == '__main__':
    gs = DiceGame()
    gs.game_start()

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值