Computação Gráfica
Trabalho II
Batalha de Robôs
Objetivo
Criar um jogo em que
o usuário controla um robô que dispara tiros em
robôs inimigos. O jogo se passa em um terreno plano que
contém obstáculos em forma de
paralelepípedos.
Requsitos do Trabalho
Terreno
O terreno
é descrito por um arquivo texto, conforme
especificação abaixo.
Sobre
o terreno existem paralelepípedos que representam
obstáculos aos movimentos do jogador e dos robôs
inimigos. O programa deve suportar até 20 obstáculos.
O terreno deve ser
visualizado tanto em primeira quanto em terceira pessoa. A troca entre
estes modos de visualização deve ser feita com uma tecla.
O programa deve iniciar com a visualização em terceira
pessoa.
O centro do terreno deve estar na
posição (0,0,0).
Exemplo de Terreno
#DIMENSAO
100 100 // largura e profundidade
#JOGADOR
50 0 // posicao inicial do jogador
#OBSTACULOS 2
-20 -20 10 15 12 //centro do
obstáculo, altura, largura, profundidade
20 20 5 30 1 //centro do
obstáculo, altura, largura, profundidade
#INIMIGOS 4
30 30 255 0 255//
posição do inimigo 1, COR(R,G,B)
20 -30 0 128 128 //
posição do inimigo 2, COR(R,G,B)
-40 20 128 0 128 //
posição do inimigo 3, COR(R,G,B)
-20 -20 255 255 0 //
posição do inimigo 4, COR(R,G,B)
Robô do
Jogador
O jogador deve ser representado
por um robô com um canhão. Este robô deve ser
formado por pelo menos 10 paralelepípedos e deve ter o aspecto
visual de um tanque ou de um robô humanóide.
O
usuário pode girar seu robô para frente ou para trás com as
teclas de seta LEFT/RIGHT.
O usuário
pode mover seu robô para frente ou para trás com as
teclas de seta UP/DOWN.
O canhão fica
apontado sempre na direção para onde o robô do jogador está olhando e pode ser elevado ou
baixado com as teclas PAGE UP/PAGE DOWN.
O robô do jogador não pode atravessar
os obstáculos. Se houver colisão com os inimigos, o jogo
deve ser encerrado.
Tiros
Os
tiros devem ser disparados pela tecla ESPAÇO. A força do tiro pode ser alterada
pelas teclas MAIS e MENOS.
Visualmente os tiros deve ser representados por
esferas.
O movimento do tiro pode ser traçado de duas
formas:
-
através das leis do movimento de projéteis;
-
através de curvas Bezier ou Hermite.
Ao atingirem um obstáculo ou o solo, o
jogador perde a munição.
Ao atingirem um inimigo, o jogador ganha um ponto e
o robô atingido desaparece.
Inimigos
O jogo deve suportar até 20
inimigos.
Os robôs inimigos devem ser formados por pelo
menos 10 paralelepípedos e devem ter o aspecto visual de um
carro.
Cada inimigo deve ter uma cor diferente.
Os
robôs inimigos andam de forma aleatória, sempre para
frente,
girando, de vez em quando. O giro deve ser de 45 graus à cada
vez.
Ao colidirem entre si ou com os obstáculos,
devem mudar de direção. Esta mudança
também deve
ser de 90 graus à cada vez.
Data da Entrega
Todos os
trabalhos
deverão
ser entregues atrávés
do Moodle
até às 17h30 do dia 07/12/2009.
A partir deste
horário,
os
trabalhos terão
um desconto conforme a seguinte tabela:
Até 08/12/2009
às
17h30 - 3.0 pontos
Até 09/11/2009
às
17h30 - 4.0 pontos
A partir de 09/11/2009
às
17h30 - NÃO
É MAIS ACEITA A ENTREGA.