Exemplo n.º 1
0
    def fight(self, enemy, Seat):
        print('=========战斗开始=========')
        # 创建进攻方和防守方
        atk = [self]
        defc = [enemy]
        atkpoint = 0
        defcpoint = 0

        # 创建询问队列
        ask = []
        for r in Seat:
            if r.dead == 0:
                ask.append(r)
        for r in ask:
            if self.name == r.name:
                ask.remove(r)
        for r in ask:
            if enemy.name == r.name:
                ask.remove(r)

        # 建立进攻方、防守方
        for r in ask:
            if r.ai == 0:
                agree = r.askPlayerFight(self, enemy)
            else:
                agree = r.askAIFight()
            if agree == 1:
                atk.append(r)
            elif agree == 2:
                defc.append(r)

        print('进攻方:', end=' ')
        for r in atk:
            print(r.name, end=' ')
        print()
        print('防守方:', end=' ')
        for r in defc:
            print(r.name, end=' ')
        print()

        # 装备武器
        for r in atk:
            r.fighthurt = 1
            r.equipWeapon()
        for r in defc:
            r.fighthurt = 1
            r.equipWeapon()

        # 计算进攻指数
        for r in atk:
            for g in r.equip:
                if g.id >= 5 and g.id <= 9:
                    atkpoint += g.attack
            atkpoint += r.hp

        # 计算防守指数
        for r in defc:
            for g in r.equip:
                if g.id >= 5 and g.id <= 9:
                    defcpoint += g.attack
            defcpoint += r.hp

        # 显示战斗结果
        Else.load('战斗中', 3)
        print('=========战斗总结=========')
        time.sleep(1)
        print('进攻方体力值共计 {} 点,防守方体力值共计 {} 点'.format(atkpoint, defcpoint),
              end=',')
        if atkpoint > defcpoint:
            print('进攻方获胜!')
            time.sleep(0.5)
            print('=========战斗结束=========')
            return 1
        else:
            print('防守方获胜!')
            time.sleep(0.5)
            print('=========战斗结束=========')
            return 0
Exemplo n.º 2
0
# 获取身份
Me = role
# 角色中去掉玩家获取身份,防止出现身份重复的情况
Roles.pop(number - 1)
# 打乱角色集合
random.shuffle(Roles)

# 游戏AI获取身份
for i in range(playernum - 1):
    Roles[0].ai = i + 1
    AI.append(Roles[0])
    Roles.pop(0)
# 展示所有人身份
print('==========================')
Else.showNameSkill('我:', Me)
Else.load('正在分配AI角色', 4)
for i in range(playernum - 1):
    Else.showNameSkill('AI{}号:'.format(i + 1), AI[i])
    time.sleep(0.5)
print('==========================')

# 分配喜爱和憎恨的人
Else.load('正在分配喜爱和憎恨的人', 3)
Else.loverorhater(playernum, Me, AI, 'lover')
time.sleep(0.5)
Else.loverorhater(playernum, Me, AI, 'hater')
print('==========================')
time.sleep(0.5)

Else.load('即将登船', 3)