欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

丧心病狂编一个400多行的游戏

程序员文章站 2022-07-01 20:30:40
我最近在python编了一个文字游戏大家可以来指点指点代码如下:print(“一定要输入对”)print(“不然程序会混乱”)name = input(“你叫什么名字?”)message = input(“1.向左走 2.向右走”)if message == ‘1’:print(“有一个人站在那”)print(“他数着数”)print(“1……2……3……4……5”)message = input("想上去问问吗")if message == '想': print("你去了"...

我最近在python编了一个文字游戏
大家可以来指点指点
代码如下:

print(“一定要输入对”)
print(“不然程序会混乱”)
name = input(“你叫什么名字?”)
message = input(“1.向左走 2.向右走”)

if message == ‘1’:
print(“有一个人站在那”)
print(“他数着数”)
print(“1……2……3……4……5”)

message = input("想上去问问吗")
if message == '想':
    print("你去了")
    print("他看见你了,立刻和你打起来")
    print("他立刻掏出一把刀")
    print("…………")
    print("你掏出了一把手枪")

    message = input("打他吗?")
    if message == '打':
        print("他跑了")

        message = input("追吗?")
        if message == '追':
            print("你追他")
            print("他向你扔刀子")
            print("你躲开了")
            print("并把他杀了")
            print("GAME OVER")

        elif message == '不追':
            print("你没有追")
            print("你回了家")
            print("GANE OVER")
        else:
            print("你选了别的")
            print("你不能选别的")

    elif message == '不打':
        print("你没有打他")
        print("但把他吓死了")
        print("你犯罪了")
        print("被判了20年才出*")
    else:
        print("你不应该选这个的")
        print("ok?")
elif message == '不想':
    print("你没有问他")
    print("平安无事")
    print("GAME OVER")
else:
    print("请你不要这样")

elif message == ‘2’:
print(“你来到一家游戏厅”)
message = input(“玩游戏吗?”)

if message == '玩':
    print("玩什么游戏")
    message = input("1.3v3决斗 2.猜拳 3.对打")
    if message == '1':
        import time, random

        class Role():
            def __init__(self, name='|角色|'):
                self.name = name
                self.life = random.randint(100, 150)
                self.attack = random.randint(30, 50)


        class Sains_knight(Role):
            def __init__(self, name='|圣光骑士|'):
                Role.__init__(self, name)
                self.life = 5 * self.life
                self.attack = 3 * self.attack

            def fight_buff(self, enemy):
                if enemy == '|暗影刺客|':
                    self.attack *= 1.5
                else:
                    self.attack = self.attack


        class Shadow_Assassin(Role):
            def __init__(self, name='|暗影刺客|'):
                Role.__init__(self, name)
                self.life = 3 * self.life
                self.attack = 5 * self.attack

            def fight_buff(self, enemy):
                if enemy == '|精灵弩手|':
                    self.attack *= 1.5
                else:
                    self.attack = self.attack


        class Faerie_Bowman(Role):
            def __init__(self, name='|精灵弩手|'):
                Role.__init__(self, name)
                self.life = 4 * self.life
                self.attack = 4 * self.attack

            def fight_buff(self, enemy):
                if enemy == '|圣光骑士|':
                    self.attack *= 1.5
                else:
                    self.attack = self.attack


        class GAME():
            def __init__(self):
                self.players = []
                self.enemies = []
                self.show_title()
                self.show_role()
                self.order_role()
                self.pk_role()

            # 随机生成角色的属性
            def born_role(self):
                for i in range(3):
                    self.players.append(random.choice([Sains_knight(), Shadow_Assassin(), Faerie_Bowman()]))
                    self.enemies.append(random.choice([Sains_knight(), Shadow_Assassin(), Faerie_Bowman()]))

            # 生成和展示角色信息
            def show_role(self):
                self.born_role()
                # 展示我方的3个角色
                print('----------------- 角色信息 -----------------')
                print('你的队伍:')
                for i in range(3):
                    print('|我方|%s  血量:%s  攻击:%s'
                          % (self.players[i].name, self.players[i].life, self.players[i].attack))
                print('--------------------------------------------')
                print('敌人队伍:')

                # 展示敌方的3个角色
                for i in range(3):
                    print('|敌方|%s  血量:%s  攻击:%s'
                          % (self.enemies[i].name, self.enemies[i].life, self.enemies[i].attack))
                print('--------------------------------------------')
                input('请按回车键继续。')  # 为了让玩家更有控制感,可以插入类似的代码来切分游戏进程。

            # 角色排序,选择出场顺序。
            def order_role(self):
                order_dict = {}
                for i in range(3):
                    order = int(input('你想让{}第几个上场?(输入数字1-3)'.format(self.players[i].name)))
                    order_dict[order] = self.players[i]

                self.players = []
                for i in range(1, 4):
                    self.players.append(order_dict[i])

                print('\n我方角色的出场顺序是:%s、%s、%s' % (self.players[0].name, self.players[1].name, self.players[2].name))
                print('敌方角色的出场顺序是:%s、%s、%s' % (self.enemies[0].name, self.enemies[1].name, self.enemies[2].name))

            # 角色PK
            def pk_role(self):
                round = 1
                score = 0
                for i in range(3):  # 一共要打三局
                    player_name = self.players[i].name
                    enemy_name = self.enemies[i].name
                    # 判断敌人是否对其有克制效果,有则进行攻击加成
                    self.players[i].fight_buff(enemy_name)
                    self.enemies[i].fight_buff(player_name)
                    player_life = self.players[i].life
                    player_attack = self.players[i].attack
                    enemy_life = self.enemies[i].life
                    enemy_attack = self.enemies[i].attack

                    # 每一局开战前展示战斗信息
                    print('\n----------------- 【第%s局】 -----------------' % round)
                    print('玩家角色:%s vs 敌方角色:%s ' % (player_name, enemy_name))
                    print('%s 血量:%s  攻击:%s' % (player_name, player_life, player_attack))
                    print('%s 血量:%s  攻击:%s' % (enemy_name, enemy_life, enemy_attack))
                    print('--------------------------------------------')
                    input('请按回车键继续。\n')

                    # 开始判断血量是否都大于零,然后互扣血量。
                    while player_life > 0 and enemy_life > 0:
                        enemy_life = enemy_life - player_attack
                        player_life = player_life - enemy_attack
                        print('%s发起了攻击,%s剩余血量%s' % (player_name, enemy_name, enemy_life))
                        print('%s发起了攻击,%s剩余血量%s' % (enemy_name, player_name, player_life))
                        print('--------------------------------------------')
                        time.sleep(1)
                    else:  # 每局的战果展示,以及分数score和局数的变化。
                        # 调用show_result()函数,打印返回元组中的result。
                        print(self.show_result(player_life, enemy_life)[1])
                        # 调用show_result()函数,完成计分变动。
                        score += int(self.show_result(player_life, enemy_life)[0])
                        round += 1
                input('\n点击回车,查看比赛的最终结果\n')

                if score > 0:
                    print('【最终结果:你赢了!】\n')
                elif score < 0:
                    print('【最终结果:你输了!】\n')
                else:
                    print('【最终结果:平局!】\n')

            # 返回单局战果和计分法所加分数。
            def show_result(self, player_life, enemy_life):  # 注意:该函数要设定参数,才能判断单局战果。
                if player_life > 0 and enemy_life <= 0:
                    result = '\n敌人死翘翘了,你赢了!'
                    return 1, result  # 返回元组(1,'\n敌人死翘翘了,你赢了!'),类似角色属性的传递。
                elif player_life <= 0 and enemy_life > 0:
                    result = '\n悲催,敌人把你干掉了!'
                    return -1, result
                else:
                    result = '\n哎呀,你和敌人同归于尽了!'
                    return 0, result

            # 展示标题
            def show_title(self):
                print('''--------------欢迎来到炼狱角斗场-----------------

在昔日的黄昏山脉,陆奥帝国的北境边界上,有传说中的’炼狱角斗场’!
鲜血与战斗是角斗士的归宿,金钱与荣耀是角斗士的信仰!
今日,只要【你的队伍】能取得胜利,你将获得一笔够花一百万的财富!
即将随机生成【你的队伍】和【敌人队伍】!’’’)
input(’\n狭路相逢勇者胜,话不投机半句多(按任意键继续…)’)

        GAME_START = GAME()

    elif message == '2':
        import random  # 导入随机模块

        num = 1
        yin_num = 0
        shu_num = 0
        while num <= 3:
            if shu_num == 2 or yin_num == 2:
                break
            user = int(input('请出拳 0(石头) 1(剪刀) 2(布)'))
            if user > 2:
                print('不能出大于2的值')
            else:
                data = ['石头', '剪刀', '布']
                com = random.randint(0, 2)
                print("您出的是{},电脑出的是{}".format(data[user], data[com]))
                if user == com:
                    print('平局')
                    continue
                elif (user == 0 and com == 1) or (user == 1 and com == 2) or (user == 2 and com == 0):
                    print('你赢了')
                    yin_num += 1
                else:
                    print('你输了')
                    shu_num += 1
            num += 1
    elif message == '3':
        import time
        import random

        lose_player = 0
        lose_enemy = 0
        for i in range(3):
            print('-' * 10 + '第' + str(i + 1) + '局' + '-' * 10)
            hp_player = random.randint(100, 181)
            attack_player = random.randint(30, 51)
            hp_enemy = random.randint(100, 181)
            attack_enemy = random.randint(30, 51)
            print('【玩家血量】:', hp_player, '【玩家战力】:', attack_player)
            print('【敌人血量】:', hp_enemy, '【敌人战力】:', attack_enemy)
            print('-' * 30)
            time.sleep(1.5)
            while hp_player > 0 and hp_enemy > 0:
                hp_player = hp_player - attack_enemy
                hp_enemy = hp_enemy - attack_player
                print('你发起了攻击,【敌人】剩余血量:', hp_enemy)
                print('敌人向你发起了攻击,【玩家】的血量剩余:', hp_player)
                print('-' * 30)
                time.sleep(1.5)
            if hp_enemy <= 0 and hp_player < 0:
                print('玩家和敌人同归于尽了!')
            elif hp_enemy < 0 and hp_player >= 0:
                print('欧耶!敌人被玩家干掉了!')
                lose_enemy += 1
            elif hp_player < 0 and hp_enemy > 0:
                print('悲催,玩家被敌人干掉了!')
                lose_player += 1
            print('-' * 30)
            time.sleep(1.5)
            if lose_enemy == 2:
                print('【最终结果:玩家获胜!】')
                break
            elif lose_player == 2:
                print('【最终结果:你输了!】')
                break
        else:
            if lose_enemy > lose_player:
                print('【最终结果:玩家获胜!】')
            elif lose_player > lose_enemy:
                print('【最终结果:玩家输了!】')
            else:
                print('【最终结果:平局】')
    else:
        print("你是脑残吗?")
        message = input("1.是 2.是")
        if message == '1':
            print("好的")
            print("脑残!")
            print("看来真傻")
            print("说自己是脑残")
            print("·……·")
        elif message == '2':
            print("好吧")
            print("我承认你是脑残")
        else:
            print("你好,脑残!")
            print("想退出游戏?")
            print("没门")
            print("······")
            message = input("我好笑吗?")
            message = input("你真的很傻")
            message = input("你好,傻冒")
            message = input("来回答我问题,好吗?")
            message = input("你 这 样 的 人 ,就 应 该 让 程 序 员 马 死!!!")
            print("……")
            print("……")
            print("认输了吗?")
            print("(可回复“认输了” 和 “不认输”)")
            message = input("认了吗?")

            if message == '认输了':
                print("好吧")
                print("祝你好自为之吧,s——")
            elif message == '不认输':
                print("********")
                print("祖安场地")
                print("********")
                print("专")
                print("为")
                print("不")
                print("守")
                print("规")
                print("的")
                print("人")
                print("打")
                print("造")
                print("你真知道 祖 安 吗")
                print("————————————————————————————")
                print("           头条             ")
                print(   name + "的一家老小死于曹死")
                print("        原因: 找曹  ")
                print("———————————————————————————")
                print("           复条            ")
                print(    name + "一家在医院被J死")
                print("        原因: 想")
                print("你好" + name )
                print("想好了吗")
                print("请 你 好 好 玩 游 戏 !!")
            else:
                print("你 真 想 玩 程 序 员?")
                print("GAME OVER")
                print("**"
                      "**"
                      "**"
                      "**"
                      "**"
                      "**"
                      "**"
                      "**"
                      "**"
                      "**"
                      "**")
                print("OVER 个屁!")
                print("你个孤儿")
                print("你个没妈的孩子")
                print("你想啥呢")
                print("你要干嘛?")
                print("疯了是吗")
                print("连个要饭的都不是")
                print("nmd")
                print("cnm")
                print("rn*")
                print("s*")
                print("二百五")
                print("sm")
                print("Tmd")
                print("你妈怎么教你的你知道吗")
                print("不会?")
                print("先拖了衣服在大街上跑几圈")
                print("想结束游戏")
                print("你配吗")
                print("您不能做回人?")
                print("好吧")
                print("我不说了")

elif message == '不玩':
    print("GAME OVER")

else:
    print("你不应该选别的")
    message = input("知道了吗?")

    if message == '知道':
        message = input("真的知道了吗?")
        if message == '知道了':
            print("好吧")
            print("看来你知道了")
            print("重玩游戏吧")
        elif message == '不知道':
            print("???")
            print("玩我呢?")
            print("你真行")
            print("傻逼")
        else:
            print("真是一个傻逼")
            print("不听劝啊")
            print("还选别的")
    elif message == '不知道':
        print("好吧")
        print("真傻X")
        print("就 是 不 要 选 别 的!")
    else:
        print("还……")
        print("不要选别的")
        print("说你呢")
        print("对,就是你这个傻逼")

else:
print(“你不应该选别的”)
print(“ok?”)

还有上面几个代码呢!

内有彩蛋,要有不正确的输入才能激活

本文地址:https://blog.csdn.net/weixin_44665460/article/details/107660881

相关标签: python 游戏