Escreva um programa que a jogue Misère tic-tac-toe. Ou seja, o objetivo é forçar seu oponente a levar três seguidos.
Aceite na entrada padrão um 'X' ou um 'O' (a letra, não zero), para determinar de que lado o programa estará tocando. Em seguida, imprima um único dígito para a sua jogada no seu turno e leia um único dígito no turno do seu oponente até o jogo terminar (X sempre acontece primeiro). Depois que um vencedor é decidido, imprima X ou O para quem ganhou ou D para um empate. Por exemplo, se O obtiver 3 em sequência, X vence.
Suponha que o quadro esteja numerado da seguinte maneira:
0|1|2
-----
3|4|5
-----
6|7|8
Idealmente, uma solução será ótima e nunca perderá. Como jogo da velha, jogo perfeito deve sempre resultar em empate. Se o protocolo acima for respeitado, posso testar os envios automaticamente em relação a uma variedade de estratégias possíveis.
O vencedor é o código mais curto. pontos de bônus se escolher aleatoriamente movimentos igualmente bons para torná-lo um pouco mais imprevisível.
fonte