Estes exercícios envolvem implementação. Siga corretamente as instruções, para
que eu possa executar os programas.
- Use a linguagem que você preferir. Não é necessário usar C, Java, Prolog
ou qualquer linguagem que você tenha aprendido em alguma disciplina. Fique livre
para usar Ruby, Python, Lisp, Haskell ou o que preferir (este exercício é simples,
e pode até ser interessante fazer em uma linguagem diferente).
- Use entrada e saída padrão! Não use inerfaces gráficas ou bibliotecas
específicas de plataforma (como conio.h no Windows). O programa deve produzir
um tabuleiro usando caracteres ASCII (como o que aparece de exemplo) e usar
scanf (em C), System.in (em Java), etc.
- Lembre-se, o trabalho é individual!
Os exercícios:
- Implemente o jogo da velha em tabuleiro 4x4. O ganhador é aquele que
conseguir uma sequência (horizontal, vertical ou diagonal) de quatro
posições. O programa deve funcionar da seguinte forma:
- Primeiro, o jogo lê uma string, que contém o caracter (x ou o)
que o usuário quer usar
- Depois, o jogo repete os passos:
- Mostra o tabuleiro
- Lê dois números da entrada padrão entre UM e QUATRO.
Os números estarão em uma linha, separados por espaço
- Se a jogada for inválida, o usuário perde a vez!
- O computador escolhe sua jogada
- Implemente uma variante do seu jogo da velha, usando o seguinte critério
para definir o ganhador:
- Uma sequência de tamanho 3 vale 1 ponto
- Uma sequência de tamanho 4 vale 3 pontos
Por exemplo, no tabuleiro a seguir, o jogador "x" ganhou, porque tem três sequências
de tamanho 3 e uma de tamanho 4 (6 pontos), enquanto o jogador "o" tem só duas (2 pontos).
x | o | x | o
--+---+---+---
o | x | o | o
--+---+---+---
x | x | x | o
--+---+---+---
o | x | o | x
- (Interessante) Implemente mais uma variante do jogo da velha 4x4: agora, cada vez que um
jogador escolhe uma posição do tabuleiro, ele consegue aquela posição com probabilidade
0.8, ou uma posição vizinha livre com probabilidade 0.2 (ou seja, as peças podem "escorregar"
para a casa do lado). Claro, se todas as posições vizinhas estiverem ocupadas, então a
peça não "escorrega", e o jogador consegue a posição que queria.