Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

elber clidio

jogo nim em python

Recommended Posts

ola estou fazendo um curso , e preciso fazer um exercicio em python de um jogo chamado nim, eu ja o testei e esta tudo ok, mas

o corretor automatico encontra esses erros:

 

 

Checando partida unica (n = 9, m = 2, jogadas = (1, 2, 2)) - Falhou ***** AssertionError: Deveria comecar com o oponente ***** [0.32 pontos]: Checando partida unica (n = 9, m = 2, jogadas = (1, 2, 1)) - Falhou ***** AssertionError: Deveria comecar com o oponente ***** [0.12 pontos]: Checando campeonato (partida 1: n = 5, m = 3, jogadas = [1]; partida 2: n = 5, m = 3, jogadas = [2]; partida 3: n = 9, m = 2, jogadas = [1, 2, 2]) - Falhou ***** AssertionError: Deveria comecar com o oponente  

 

Alguem poderia me ajudar, estou a mais de uma semana passar por essa liçao

obrigado

 

 

segue meu codigo:

def computador_escolhe_jogada(n, m):
    computadorRemove = 1
    while computadorRemove != m:
        if (n - computadorRemove) % (m+1) == 0:
            return computadorRemove

        else:
            computadorRemove += 1

    return computadorRemove

    


def usuario_escolhe_jogada(n, m):
    jogadaValida = False

    while not jogadaValida:
        jogadorRemove = int(input('Quantas peças você vai tirar? '))
        if jogadorRemove > m or jogadorRemove > n or jogadorRemove < 1:
            print()
            print('Oops! Jogada inválida! Tente de novo.')
            print()

        else:
            jogadaValida = True

    return jogadorRemove


def campeonato():
    numeroRodada = 1
    while numeroRodada <= 3:
        print()
        print('**** Rodada', numeroRodada, '****')
        print()
        partida()
        numeroRodada += 1
    print()
    print('Placar: Você 0 X 3 Computador')


def partida():
    n = int(input('Quantas peças? '))

    m = int(input('Limite de peças por jogada? '))

    vezDoPC = False

    if n % (m+1) == 0:
        print()
        print('Usuario começa!')
        usuario_escolhe_jogada(n, m)
        

    else:
        print()
        print('Computador começa!')
        computador_escolhe_jogada(n, m)
        
        vezDoPC = True

    while n > 0:
        if vezDoPC:
            computadorRemove = computador_escolhe_jogada(n, m)
            n = n - computadorRemove
            if computadorRemove == 1:
                print()
                print('O computador tirou ', computadorRemove,' peça')
                print('Agora resta apenas', n, 'no tabuleiro.')
            else:
                print()
                print('O computador tirou', computadorRemove, 'peças')
                print('Agora resta apenas', n, 'no tabuleiro.')

            vezDoPC = False
        else:
            jogadorRemove = usuario_escolhe_jogada(n, m)
            n = n - jogadorRemove
            if jogadorRemove == 1:
                print()
                print('Você tirou', jogadorRemove, 'peça')
            else:
                print()
                print('Você tirou', jogadorRemove, 'peças')
            vezDoPC = True
        if n == 1:
            print('Agora resta apenas', jogadorRemove, 'no tabuleiro.')
            print()
        else:
            if n <= 0:
                print('Agora restam,', n, 'peças no tabuleiro.')
                print()

    print('Fim do jogo! O computador ganhou!')

print('Bem-vindo ao jogo do NIM! Escolha:')

print()

print('1 - para jogar uma partida isolada')

tipoDePartida = int(input('2 - para jogar um campeonato '))
if tipoDePartida == 2:
    print()
    print('Voce escolheu um campeonato!')
    print()
    campeonato()
else:
    if tipoDePartida == 1:
        partida()    
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.