Laboratório de Programação I

Trabalho Prático #1

 1) Objetivo

          Desenvolvimento de um trabalho prático para a aplicação dos conhecimentos adquiridos sobre programação básica em C, ou seja, programação seqüencial e condicional.

 2) Problema

      O problema consiste na implementação de um antigo jogo de fórmula 1. A idéia é fazer uma versão simplificada deste, sem obstáculos e sem pista móvel. O jogo é formado pelo carro do jogador que se movimenta horizontalmente e pelos carros adversários que se movimentam verticalmente. O objetivo do jogo é que o jogador evite o maior número possível de carros adversários. Os carros adversários descem na tela e o jogador através de deslocamentos horizontais do seu carro tenta evitar colisões. O jogo termina quando o jogador não tiver mais carros (vidas) disponíveis.

 

 

3) REGRAS

     O jogo possui as seguintes regras:

 

4)    Dicas de Implementação:

      Devem ser utilizadas as funções da biblioteca CONIO.H (vide referência). Esta biblioteca oferece funções para limpeza da tela, posicionamento do cursor, escolha de cores, leitura do teclado, etc.

     DICA: Se forem utilizadas cores, é necessário empregar a função cprintf(...) ao invés de

     printf(...), caso contrário as cores não aparecerão.

      É importante lembrar que um jogo não pode ficar esperando o usuário pressionar uma tecla, portanto deverá ser utilizada a função kbhit(), que retorna 1 se uma tecla tiver sido pressionada (mas não espera!). Depois, basta ler a tecla:

    char tecla;
    ...
    if (kbhit()) tecla = getch();   // só lê se uma tecla for pressionada, não fica esperando
    ... continua

      É possível que o jogo fique muito rápido. Para minimizar esse efeito, sugere-se a utilização de uma função de retardo, como delay(int tempo), que faz com que o processador espere tempo milissegundos.

       Um número aleatório pode ser gerado através das funções rand() e random(int num), definidas na biblioteca STDLIB.H (consultar o help para verificar o modo de utilização destas funções).

5) Critérios de avaliação

            5.a) Trabalho a ser desenvolvido individualmente ou em duplas
            5.b) Apresentação mínima:
  
              5.b.1) arquivo com o texto do programa fonte
  
             3.b.2) comentários mínimos exigidos no programa fonte:
                    - nomes dos alunos
                    - data da última alteração
                    - comentários a respeito de variáveis e cálculos realizados
                    - comentário sobre a combinação de teclas a ser utilizada para jogar (deslocamento do carro do jogador e alteração de velocidade)
                5.b.3) listagem do programa, com a correta indentação
            5.c) Trabalhos com erros de sintaxe (compilação) não serão aceitos.
  
         5.d) Em caso de erro de semântica (conteúdo), o peso final do trabalho pode sofrer uma redução de até 100 % do peso inicial.
           
5.e) Em caso de comprovação de fraude escolar os pesos de todos os trabalhos envolvidos serão automaticamente anulados.

6) Entrega do trabalho:

          6.a) Data de entrega: 19 / 09 / 2000, impreterivelmente.

         6.b) O arquivo contendo o programa fonte do trabalho deve ser entregue em disquete 3 1/2" HD, rotulado com os nomes completos.

         6.c) O nome do arquivo do programa fonte a ser entregue deve ser constituído pelos últimos sobrenomes dos nomes, seguidas do dígito "1".
                
Exemplo: Ana Paula Lemos e Robson Silva, seria: LemosSilva1.C
         6.d) A listagem deve ser entregue diretamente ao professor até a data de entrega prevista.