DAS-5102 Fundamentos da Estrutura da Informação
Trabalhos para 2004/1
Trabalhos entregues após a data estipulada perdem 1 ponto por
dia de atraso, inclusive sábado e domingo.
T1 - Implementação de um Jogo de Batalha Naval para um jogador
31/maio
Implementar no computador o jogo "Batalha Naval", a ser jogado entre humano
e computador.
O tabuleiro deverá ter 10 por 10 posições. Os navios
são:
Submarino: 2 posições
Cruzador: 3 posições
Destróier: 4 posições
Porta-aviões: 5 posições
Cada navio pode ser disposto na horizontal ou na vertical, podem encostar
entre si e nas
bordas do tabuleiro.
Cada jogador atira uma bala de cada vez, independente de acertar ou
não.
Para afundar o navio é necessário acertar todas as posições
que ele ocupa.
Deve ser mostrado na tela o tabuleiro com os tiros do jogador humano
e o tabuleiro
com os navios do jogador humano e os tiros do jogador computador. O
tabuleiro
pode ser feito com caracteres, por exemplo:
- água
. tiro sem acertar
X navio
O navio afundado
0 1 2 3 4 5 6 7 8 9
- - - - - - - - - - 0
- - X X - - - - - - 1
- - - - - - - - - X 2
- - - - - X - - - X 3
- - - - - X - - - X 4
- - - - - X - - - X 5
- - - - - - - - - X 6
- - - - - - - - - - 7
- - - - - - - - - - 8
- - - - - X X X X - 9
T2 - Implementação de um Jogo de Xadrez apenas com peões
(que podem virar damas)
5/julho
Implementar no computador um jogo de xadrez cuja única peça
inicial são 8 peões por jogador.
Os peões são movimentados como no jogo de xadrez:
- Peão caminha só para frente;
- Primeiro movimento de cada peão pode ser uma ou duas casas,
demais movimentos apenas uma;
- Como na diagonal para frente;
- Inicia na segunda linha do tabluleiro.
Quando um peão chega no final do tabuleiro ele vira uma dama
(rainha) e passa
a poder mover-se sem restrições de casas e tanto na vertical,
como na horizontal e
diagonal.
Vence a partida o jogador que comer todas as peças do adversário.
A apresentação do tabuleiro na tela pode ser simples,
com caracteres alfa-numéricos,
por exemplo: "b", "B" para brancas e "p", "Q" para pretas.
- - - - - - - Q 0
p p p p p p p - 1
- - - - - - - - 2
- - - - - - - - 3
- - - - - - - - 4
- - - - - - - - 5
- - - - - - - - 6
- - - - - - - - 7
b b b b b b b - 8
- - - - - - - B 9
As brancas sempre aparecem em baixo da tela e as pretas em cima da
tela,
as brancas sempre iniciam jogando.
Deve ser possível duas pessoas jogarem entre si, ou uma pessoa
com o computador.
No caso do computador jogar, o mesmo deverá fazer jogadas válidas,
podendo
ser usado qualquer algoritmo, inclusive movimentos aleatórios
(desde que
válidos).
Quando uma pessoa joga contra o computador, deve ser possível
para ela
escolher se deseja jogar com as brancas ou com as pretas.
Após o término da partida, deve ser possível fazer
um replay de todo o
jogo, quando os movimentos de toda a partida são reproduzidos,
com
sleep de 1 segundo entre cada dois movimentos.
Fazem parte da avaliação, além dos requisitos funcionais:
- Organização (design) do programa
- Legibilidade do código fonte
- Elegância das soluções