nomed.gif (10587 bytes)

Biografia

wolrdpress.gif (34333 bytes)

Rádio

Björk

Universidade

Wong Kar-Wai

Programação e Algoritmos III

Space Invaders em Java

Introdução Como jogar este jogo O jogo Space Invaders
Decisões de Implementação O que faltou fazer Comentários / O original
Classes e Métodos Enunciado do projecto Índice Universidade

Programação orientada a objectos: Utilização da linguagem Java

É suposto os grupos entregarem:

  • uma versão do código a funcionar;
  • um manual de utilização adequado, onde se refere essencialmente, como instalar, como executar, que restrições possam existir, para que possa ser executado o programa;
  • um relatório onde se descrevem as características essenciais para avaliação das componentes mais técnicas da realização do trabalho:
  • decisões de implementação
  • descrição dos objectos e processos
  • limitações e suas razões

    Cada grupo terá de fazer a apresentação do trabalho, e a avaliação será feita em base individual, tendo que estar todos os alunos presentes, para esclarecimento de dúvidas quanto à intervenção de cada um dos elementos do grupo. Cada elemento, se identificada uma componente em que mais interveio, será questionado sobre essa componente, mas também deverá mostrar capacidades de discutir as restantes partes do projecto.

     Serão tidos em conta, para avaliação, os seguintes aspectos:

  • teste funcional (inclui a apresentação) 40%
  • teste estrutural (inclui a discussão, na apresentação) 40%
  • relatórios 20% 

Implementação do jogo Space Invaders

    Para quem não conhece este jogo, uma velha relíquia dos PC’s, do qual se apresenta um écran à esquerda, encontrará aqui uma versão executável, não igual à original, mas adequada à compreensão do jogo, que é o que se pretende. Além disso, poderá divertir-se um pouco, nos momentos em que a disposição para implementar a sua versão em Java não for a mais adequada.

    O objectivo do jogo é a destruição dos aliens e das suas naves, antes que eles o destruam a si, tentando acunular o maior número de pontos. Algumas regras, simples, mas necessárias para a implementação do jogo, são necessárias:

  • os alines deslocam-se a uma velocidade dependente do seu número, para a esquerda e para a direita, descendo quando os extremos forem alcançados;
  • só há um tiro activo em cada instante, o que significa que só é possível dar um tiro quando o último tiver atingido o limite superior do écran ou algum dos aliens (pode ser modificado, para uma cadência fixa de tiro);
  • por cada alien atingido, há uma pontuação:
    • 10 pontos por alien para as duas linhas mais baixas,
    • 20 pontos por alien para as duas linhas seguintes,
    • 30 pontos por alien para a linha superior
    • de tempos a tempos, uma nave atravessa os céus, na horizontal, de um extremo ao outro do écran; acertar-lhe vale 50 pontos
  • se os aliens (algum deles), chegarem ao fundo, o jogo termina
  • os aliens largam dois tipos de tiros, um normal, com determinada frequência, outro muito mais rápido, mas com uma frequência muito menor;
  • após 2000 pontos, o jogador tem um bónus de uma vida, podendo acumular até às cinco vidas
  • o jogo continua indefinidamente, repetindo-se todo o processo, a partir do momento em que uma leva de aliens seja eliminada

    O que se pretende não é a versão completa do jogo, onde a complexidade do mesmo ia aumentando, quer pelo aumento da velocidade de deslocamento dos aliens, quer pelo aumento da frequência de tiro dos mesmos. Também não é necessário deslocamento vertical da nave do jogador. No fundo, a implementação que se disponibiliza acima é a adequada.

    Para detalhes quanto à frequência de tiros, e à frequência da passagem das naves, apesar das dependências em termos de máquina poderem ser muito grandes, poderá usar os seguintes valores indicativos:

  • por cada varrimento total dos jogadores, a probabilidade de dar um tiro é de 1/50
  • um tiro especial acontece com uma probabilidade 10 vezes menor
  • a velocidade dos tiros do jogador, para cima, é igual à dos tiros normais dos aliens, para baixo
  • a velocidade dos tiros especiais dos aliens é 3 vezes superior à normal
  • um tiro do jogador pode destruir outro tiro do alien (esta não é uma característica do jogo apresentado)

    A velocidade de deslocação dos aliens deverá ser ajustada de modo a que, no écran original, com a presença de todos os aliens, se demora 30 segundos a atravessar o écran. Um só alien demora aproximadamente dois segundos a fazer o mesmo percurso. A nave demora 5 segundos a atravessar o écran todo. O ritmo de descida dos aliens, cada vez que se alcança o extremo, é de modo que, à 13ª descida, o jogo termina por ter chegado um alien ao fundo. As naves aparecem com igual probabilidade da esquerda ou da direita, com entre 30 a 50 segundos de intervalo entre cada uma, intervalo definido aleatoriamente.

 Miguel Anjo
6-Março-1999