[Proj. 1] Interacção com o utilizador na função jogo_galo

A interacção com o utilizador durante o jogo do galo é feita pedindo aos jogadores, alternadamente para introduzirem uma jogada. Uma primeira possibilidade para fazer isso é através da instrução:

jogada = eval(input('Introduza a sua jogada, jogador X: '))

Esta instrução, no entanto, dará origem a um erro se o utilizador tentar introduzir uma cadeia de caracteres.

Solução: Deverá substituir a instrução acima por:

jogada = input('Introduza a sua jogada, jogador X: ')

if jogada != '' and jogada in '012345678':

jogada = eval(jogada)

O resto do seu código deverá permanecer inalterado.

[Proj. 1] As especificações avaliadas são as indicadas no documento de especificações

No exemplo da função jogo_galo apresentado nas páginas 4 e 5, o output mostrado não está completamente de acordo com as especificações. Deverão usar o exemplo fornecido para perceber a sequência de interacção e a dinâmica do jogo, mas não se devem guiar pelo enunciado em termos de output, em relação ao qual deverão seguir o ficheiro de especificações.

Resumindo: Em caso de dúvida, deverão guiar-se pelo ficheiro de especificações.

[Proj. 1] A função jogada_valida deve validar o argumento posição

Na página 5 do enunciado do projecto aparece:

"Todas as funções devem validar os argumentos. Em particular:
    [...]
    • À excepção da função jogada_valida, todas as funções que recebam um inteiro como argumento, correspondente a uma posição, devem verificar que esse argumento é, de facto, um inteiro entre 0 e 8 (inclusive).
    [...]
 Caso receba um argumento inválido, a sua função deverá imprimir para o ecrã uma mensagem de erro e, de seguida, gerar um erro de valor (ValueError) com a mesma mensagem de erro, incluindo o nome da função e o argumento inválido."

 A razão pela qual a função jogada_valida é uma excepção é porque, ao contrário das demais funções, ao receber uma posição inválida o jogada_valida não deve gerar um erro, mas devolver False (de acordo com a especificação).

[Proj. 1] Ao abrir os ficheiros de exemplo, aparece tudo na mesma linha

Editores de texto diferente reconhecem de maneira diferente o caracter que determina a mudança de linha. Por isso, alguns editores poderão apresentar o texto todo na mesma linha (por não reconhecerem devidamente a mudança de linha).

Solução: Experimentar outro editor. Em Windows, por exemplo, o notepad por vezes não interpreta convenientemente os finais de linha. O Write, por outro lado, deverá ser capaz de reconhecer devidamente os finais de linha.