Exemple #1
0
def menu_options(p_counter):

    selection = player_turn(p_counter)
    if selection == 1:  #LISTO
        action = Entry(players, p_counter)
        action.a_entry()
        var = change_player(p_counter)
        if var == 1:
            return 0
    elif selection == 2:  #LISTO
        block = Counter_attack(p_counter, players, 2)
        block = block.attack()
        if block == 0:  #Nadie quiso contraatacar, entonces se ejecuta la acción.
            action = Abroad_help(players, p_counter)
            action.a_abroad_help()
        else:  #En este caso se puede hacer un desafío
            attacking = block  #El jugador "block" quiso contraatacar
            action = Challenge(attacking - 1, players, 2, 2)
            a, b, c = action.challenge_player()
            if a == 0 and b == 0:  #Nadie quiso desafiar el contra-ataque, entonces no se ejecuta la acción y le toca al siguiente jugador
                var = change_player(p_counter)
                if var == 1:
                    return 0

            elif a == 0 and b == 1:  #El que contra-atacó mintió, la acción si se ejecuta
                action = Abroad_help(players, p_counter)
                action.a_abroad_help()
            elif b == 3:
                if a == 1:
                    players[attacking - 1]._Players__influence1 = return_card(
                        players[attacking - 1]._Players__influence1)
                elif a == 2:
                    players[attacking - 1]._Players__influence2 = return_card(
                        players[attacking - 1]._Players__influence2)
        var = change_player(p_counter)
        if var == 1:
            return 0

    elif selection == 3:  #LISTO
        action = Hit(players, p_counter)
        result = action.hit()
        if result == 0:
            menu_options(p_counter)
        var = change_player(p_counter)
        if var == 1:
            return 0

    elif selection == 4:  #LISTO
        action = Challenge(
            p_counter, players, 1,
            4)  #El 1 significa que se verifican las influencias de acciones
        a, b, c = action.challenge_player()
        if a == 0 and b == 0:  #Nadie quiso desafiar, entonces se ejecuta la acción
            action = Tax(players, p_counter)
            action.a_tax()
        elif b == 3:
            if a == 1:
                players[p_counter]._Players__influence1 = return_card(
                    players[p_counter]._Players__influence1)
            elif a == 2:
                action = Tax(players, p_counter)
                action.a_tax()
                players[p_counter]._Players__influence2 = return_card(
                    players[p_counter]._Players__influence2)
            action = Tax(players, p_counter)
            action.a_tax()
        var = change_player(p_counter)
        if var == 1:
            return 0

    elif selection == 5:  #ASESINATO---------------
        verif = Murder(players, p_counter)
        verif = verif.verif()
        if verif == 0:
            menu_options(p_counter)

        action = Challenge(p_counter, players, 1, 5)
        a, b, c = action.challenge_player()
        if a == 0 and b == 0:  #Nadie quiso desafiar, luego van los contra-ataques
            action = Counter_attack(p_counter, players, 5)
            player_attack = action.attack()
            if player_attack == 0:  #Nadie quiso contra-atacar ni desafiar, entonces se ejecuta la acción
                action = Murder(players, p_counter)
                action.murder()
            else:  #Nadie quiso desafiar pero si contra-atacar, se pregunta si desafían al que contra-atacó (supuestamente tiene a la Condesa)
                action = Challenge(player_attack - 1, players, 2, 5)
                a, b, c = action.challenge_player(
                )  #c es el jugador que desafió
                if a == 0 and b == 0:  #Nadie desafía el contra-ataque, la acción no se cumple, pierde las monedas
                    players[p_counter]._Players__coins = -3
                    var = change_player(p_counter)
                    if var == 1:
                        return 0
                elif a == 0 and b == 1:  #Pierde el desafío el que contra-atacó, se ejecuta la acción
                    action = Murder(players, p_counter)
                    action.murder()
                elif b == 3:  #El que contraatacó ganó el desafío.
                    if a == 1:
                        players[c]._Players__influence1 = return_card(
                            players[c]._Players__influence1)
                    else:
                        players[c]._Players__influence2 = return_card(
                            players[c]._Players__influence2)

        elif a == 0 and b == 1:  #Alguien quiso contra-atacar, el jugador pierde el desafío entonces no realiza la acción y cambia de turno
            var = change_player(p_counter)
            if var == 1:
                return 0
        elif b == 3:  #Si poseía la carta influencia, entonces pasa a contra-ataques
            if a == 1:
                players[p_counter]._Players__influence1 = return_card(
                    players[p_counter]._Players__influence1)
            elif a == 2:
                players[p_counter]._Players__influence2 = return_card(
                    players[p_counter]._Players__influence2)
            action = Counter_attack(p_counter, players, 5)
            player_attack = action.attack()
            if player_attack == 0:  #Nadie quiso contra-atacar ni desafiar, entonces se ejecuta la acción
                action = Murder(players, p_counter)
                action.murder()
            else:  #Nadie quiso desafiar pero si contra-atacar, se pregunta si desafían al que contra-atacó (supuestamente tiene a la Condesa)
                action = Challenge(player_attack - 1, players, 2, 5)
                a, b, c = action.challenge_player(
                )  #c es el jugador que desafió
                if a == 0 and b == 0:  #Nadie desafía el contra-ataque, la acción no se cumple
                    var = change_player(p_counter)
                    if var == 1:
                        return 0
                elif a == 0 and b == 1:  #Pierde el desafío el que contra-atacó, se ejecuta la acción
                    action = Murder(players, p_counter)
                    action.murder()
                elif b == 3:  #El que contraatacó ganó el desafío.
                    if a == 1:
                        players[c]._Players__influence1 = return_card(
                            players[c]._Players__influence1)
                    else:
                        players[c]._Players__influence2 = return_card(
                            players[c]._Players__influence2)
        var = change_player(p_counter)
        if var == 1:
            return 0

    elif selection == 6:  #EXTORSIÓN-------------
        action = Challenge(p_counter, players, 1, 6)
        a, b, c = action.challenge_player()
        if a == 0 and b == 0:  #Nadie quiso contra-atacar, luego van los contra-ataques
            action = Counter_attack(p_counter, players, 6)
            player_attack = action.attack()
            if player_attack == 0:  #Nadie quiso contra-atacar ni desafiar, entonces se ejecuta la acción
                action = Extortion(players, p_counter)
                action.extortion()
            else:  #Nadie quiso desafiar pero si contra-atacar, se pregunta si desafían al que contra-atacó (supuestamente tiene a la Condesa)
                action = Challenge(player_attack - 1, players, 2, 6)
                a, b, c = action.challenge_player(
                )  #c es el jugador que desafió
                if a == 0 and b == 0:  #Nadie desafía el contra-ataque, la acción no se cumple
                    var = change_player(p_counter)
                    if var == 1:
                        return 0
                elif a == 0 and b == 1:  #Pierde el desafío el que contra-atacó, se ejecuta la acción
                    action = Extortion(players, p_counter)
                    action.extortion()
                elif b == 3:  #El que contraatacó ganó el desafío.
                    if a == 1:
                        players[c]._Players__influence1 = return_card(
                            players[c]._Players__influence1)
                    else:
                        players[c]._Players__influence2 = return_card(
                            players[c]._Players__influence2)

        elif a == 0 and b == 1:  #el jugador pierde el desafío entonces no realiza la acción y cambia de turno
            var = change_player(p_counter)
            if var == 1:
                return 0
        elif b == 3:  #Si poseía la carta influencia, pasa a contra-ataque
            if a == 1:
                players[p_counter]._Players__influence1 = return_card(
                    players[p_counter]._Players__influence1)
            elif a == 2:
                players[p_counter]._Players__influence2 = return_card(
                    players[p_counter]._Players__influence2)
            action = Counter_attack(p_counter, players, 5)
            player_attack = action.attack()
            if player_attack == 0:  #Nadie quiso contra-atacar ni desafiar, entonces se ejecuta la acción
                action = Extortion(players, p_counter)
                action.extortion()
            else:  #Nadie quiso desafiar pero si contra-atacar, se pregunta si desafían al que contra-atacó (supuestamente tiene a la Condesa)
                action = Challenge(player_attack - 1, players, 2, 5)
                a, b, c = action.challenge_player(
                )  #c es el jugador que desafió
                if a == 0 and b == 0:  #Nadie desafía el contra-ataque, la acción no se cumple
                    var = change_player(p_counter)
                    if var == 1:
                        return 0
                elif a == 0 and b == 1:  #Pierde el desafío el que contra-atacó, se ejecuta la acción
                    action = Extortion(players, p_counter)
                    action.extortion()
                elif b == 3:  #El que contraatacó ganó el desafío.
                    if a == 1:
                        players[c]._Players__influence1 = return_card(
                            players[c]._Players__influence1)
                    else:
                        players[c]._Players__influence2 = return_card(
                            players[c]._Players__influence2)
    elif selection == 7:  #LISTA-------------
        action = Challenge(p_counter, players, 1, 7)
        a, b, c = action.challenge_player()
        if a == 0 and b == 0:  #Nadie quiso desafiar, entonces se hace la acción
            action = Change(players, p_counter, influences)
            action.change_cards()

        elif a == 0 and b == 1:  #el jugador pierde el desafío entonces no realiza la acción y cambia de turno
            var = change_player(p_counter)
            if var == 1:
                return 0
        elif b == 3:  #Si poseía la carta influencia, realiza la acción
            if a == 1:
                players[p_counter]._Players__influence1 = return_card(
                    players[p_counter]._Players__influence1)
            elif a == 2:
                players[p_counter]._Players__influence2 = return_card(
                    players[p_counter]._Players__influence2)
            action = Change(players, p_counter, influences)
            action.change_cards()
            var = change_player(p_counter)
            if var == 1:
                return 0