...collaborate on

Trabalho Prático II

Objectivos e Organização

Este trabalho prático tem como principais objectivos:

  • familiarização com tipos de dados estruturados;
  • utilização de estruturas de controle em situações mais elaboradas;
  • incrementar os cuidados na validação dos dados introduzidos pelo utilizador.

Dos vários enunciados apresentados deverá escolher apenas um que deverá resolver e defender. Se tiver tempo, invista na qualidade melhorando e acrescentando funcionalidades extra à sua aplicação (use a imaginação).

O relatório a elaborar, deve ser claro e sucinto e, além do respectivo enunciado e da descrição do problema, deverá conter exemplos de utilização e o código do programa.

Como foi dito, o relatório terá de ser escrito em LaTeX? sugerindo-se que adoptem o esqueleto proposto que pode ser descarregado a partir da página principal dos trabalhos práticos.


Enunciados

Minesweeper

Implemente o conhecido jogo minesweeper.

Dado um tabuleiro m * n e um conjunto de p bombas (que o programa distribuirá aleatoriamente no tabuleiro), o objectivo do jogador é acertar em todas as casas do tabuleiro sem acertar nas bombas. As jogadas são realizadas da seguinte forma:

  1. o jogador indica uma casa do tabuleiro;
  2. se acertou numa bomba, perdeu!
  3. se existe alguma bomba na vizinhança dessa casa (portanto, nas 8 casas circundantes), o programa deverá mostrar (nessa casa) o número de bombas que existem à sua volta;
  4. se não existe nenhuma bomba na vizinhança, o programa deve realizar jogadas automaticamente para cada uma das 8 casas vizinhas, prosseguindo assim até já não haver mais casas nestas condições.

Joga da Forca

Implemente o jogo da forca. Nesta implementação, o programa deve pedir inicialmente a frase mistério com que vai jogar. Depois, mostra-a na forma de um mapa com a posição das letras em relação aos espaços.

Em cada uma das 6 tentativas (este número pode ser variável), o jogador vai fornecer uma letra que, caso exista na frase mistério, será substituída no mapa. No caso de não existir, deve ser apresentada, em todas as posteriores jogadas, numa zona de letras usadas em vão.

Como resultado final, o computador deve mostar sempre a frase mistério indicando se o Jogador consegui descobrir todas as letras, ou se perdeu por ter esgotado as tentativas.

Opcionalmente, poderá tentar retirar a palavra (ou frase) aleatóriamente de um ficheiro. Uma vez que este trabalho terá um prazo mais apertado do que o que seria necessário para apresentar o funcionamento com ficheiros, está por sua conta para investigar os comandos fopen, fgets, fclose e relacionados.

Joga dos Provérbios

Implemente o jogo dos provérbios (é uma variante do jogo da forca descrito em cima). Nesta implementação, o programa deve pedir inicialmente a provérbio mistério com que vai jogar. Depois, mostra-o na forma de um mapa com a posição das letras em relação aos espaços.

No início do jogo, o jogador dispõe de um determinado saldo. Em cada jogada, o jogador vai comprar uma letra ou tentar adivinhar o provérbio. No caso da letra, se esta existir no provérbio mistério, será substituída no mapa e o saldo do jogador decrementado, se não existir, deve ser apresentada, em todas as posteriores jogadas, numa zona de letras usadas em vão. No caso do jogador acertar no provérbio, o seu saldo será incrementado pelo valor das letras ainda não compradas e presentes no provérbio. Se falhar ao adivinhar, o seu saldo será decrementado pelo valor correspondente ao das letras ainda em jogo.

Como resultado final, o computador deve mostar sempre o provérbio mistério indicando se o Jogador conseguiu descobrir todas as letras, ou se perdeu por ter esgotado as tentativas.

O jogo termina quando o saldo do jogador se tornar negativo ou quando este decidir abandonar o jogo.

Opcionalmente, poderá tentar retirar o provérbio aleatóriamente de um ficheiro. Uma vez que este trabalho terá um prazo mais apertado do que o que seria necessário para apresentar o funcionamento com ficheiros, está por sua conta para investigar os comandos fopen, fgets, fclose e relacionados.

r4 - 17 Mar 2004 - 10:03:14 - JoseCarlosRamalho
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM