TRB2 2008

Share

TRB2: Trabalho de Algoritmos

Computação I – Turma E 06/11/2008

Introdução

O trabalho consiste em desenvolver um jogo chamado Mina de Diamantes.
O Mina de Diamantes é um jogo de lógica onde o objetivo é pegar todos os 5 diamantes de uma mina e sair dela sem causar nenhum desabamento fazendo o menor número de movimentos possível.

A Mina é uma matriz 13×8 onde os elementos do jogo serão espalhados aleatoriamente. Cada posição da matriz é escavada quando o jogador entra nela. Se o jogador escavar um diamante ele ganha 50 pontos. Se o jogador escavar uma casa com uma rachadura o jogo termina e os pontos são contados. Ao final do jogo ele perde um ponto para cada posição vazia escavada.

O jogador começa na posição (1,1) com zero diamantes. Esta posição começa escavada e o jogo termina se o jogador voltar a ela com todos os diamantes.

O jogador possui um aparelho que a cada movimento, conta separadamente o número de diamentes e rachaduras adjacentes à sua posição atual.

Conteúdo do trabalho

O trabalho deve conter:

  1. Capa com os dados dos membros do grupo
  2. Um estudo detalhado das entradas, saídas, auxiliares e estruturas necessárias para sua construção.
  3. O algoritmo em um nível de detalhamento menor(refinamentos) e seu mapeamento para comandos em Portugol(versão dada em sala de aula)
  4. Uma implementação real em um computador:
    1. Código fonte do Mina de Diamantes na liguagem de programação escolhida.

Comentários

Utilize funções e procedimentos para facilitar tarefas repetitivas e separar o código em partes funcionais mais simples.

Espalhe comentários úteis para facilitar o entendimento do seu código(entre { }).

Assuma que exista 5 diamantes e 5 rachaduras por mina. Você deve registrar as posições dos elementos e se a posição ja foi escavada. Use um segunda matriz de lógicos, um campo registro ou um outro valor somado para indicar se a posição já foi escavada.

Na implementação utilize um gerador aleatório para as posições dos diamantes e rachaduras(procure por c
omandos como aleatorio, random, etc). Não deixe um valor sobrescrever outro, garanta 5 diamantes e 5 rachaduras.

Limpe a tela e imprima o estado da mina antes de ler a jogada. Imprima um “.” para posição não escavada ou o valor correto(“D” para diamante,” ” para posição vazia, “R” para rachadura e um “O” para indicar a posição atual do jogador) caso a casa já tenha sido escavada.

Guarde a posição atual do jogador em variáveis separadas como L e C. Não é preciso por um elemento na mina simbolizando o jogador(é mais difícil de controlar). Defina um código para os movimentos do jogador, exemplo: “w” move para cima, “a” para a esquerda, “s” para baixo e “d” para a direita.

Entrega

O trabalho deve ser enviado por e-mail(igorknop+dcc009@gmail.com), no formato PDF
até o dia 25/11/2008. Trabalho entregue em data posterior terá um desconto imediato
de 20% da nota máxima.

Share

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*