2010bEquipe07 Estudo do Código Fonte
O código fonte
br.ufrgs.f180.math
Pacote de bibliotecas matemáticas comuns utilizadas em todo o programa. Compreende as classes: o ==Point== Representa um ponto no plano com coordenadas X e Y. o Line Representa uma linha no plano com dois pontos P1 e P2. o Circle Representa um círculo no plano com um centro (Point) e raio. o Matrix Representa uma matriz 2x2. o Vector Representa um vetor. É uma especialização da classe “Point” e implementa a interface Cloneable, para que seja possível fazer uma cópia de si mesma. o MathUtils Funções auxiliares úteis genéricas. • br.ufrgs.f180.api Pacote com API (Application Programming Interface, Interface de Programação de Aplicações) fornecida aos jogadores para se comunicar com o simulador. o Player Principal API fornecida aos jogadores para se conectar e comunicar com o simulador. Seu objetivo é fornecer a mesma “visão” que se tem em um jogo de futebol de robôs real. As APIs são publicadas como serviço “Web” e estão disponíveis assim que o sistema é iniciado. Um fluxo normal de jogo consiste em: 1. Login da equipe; 2. Registro de até cinco jogadores; 3. Fornecimento do movimento (ação) dos jogadores; 4. Ler a posição dos jogadores e informações; (volta ao 3) 5. Desconectar. o PlayerImpl Implementação da Classe Player.
• br.ufrgs.f180.api.model Pacote com um conjunto de informações sobre os elementos do jogo. o ElementInformation Classe genérica dentro do pacote. o BallInformation Especialização da classe “ElementInformation” para representar informações sobre a bola. o RobotInformation Especialização da classe “ElementInformation” para representar informações sobre o robô. o GameInformation Especialização da classe “GameInformation” para representar informações sobre o jogo. • br.ufrgs.f180.api.model Pacote com os elementos físicos visuais do jogo. o VisualElement Interface que representa um elemento visual do jogo. o MovingElement Classe abstrata que representa um elemento que se movimenta no jogo, implementação de “VisualElement”. o GameField Classe responsável por representar tanto a simulação física quanto a apresentação visual do campo de jogo, com origem cartesiana no canto esquerdo inferior da tela. o Wall Classe que representa uma parede, implementa “VisualElement”. o WallCollisionPoint Classe para simular um ponto da parede com massa infinita, especializa “MovingElement”. o Ball Classe para representar a bola, especializa “MovingElement”. o Robot Classe para representar o robô, especializa “MovingElement”. • br.ufrgs.f180.gui Pacote com a GUI (Graphical User Interface). o AboutDialog Janela “Sobre”. o MainWindow Janala principal do programa, contém o método “main” do programa e os métodos da atualização da interface. • br.ufrgs.f180.resources Pacote com recursos necessaries para o jogo. o GameProperties Classe responsável por armazenar os parâmetros físicos da simulação, especializa a classe “Properties”, genérica do Java. • br.ufrgs.f180.server Pacote com informações do servidor. o Game Classe que representa o jogo. o Server Classe responsável por implementar o servidor do jogo para comunicação com os clientes. • br.ufrgs.f180.team Pacote para um time de demonstração. o DemoTeam Representa um time de demonstração. • com.cloudgarden.resource Pacote para manipulação dos parâmetros do toolkit SWT, Standard Widget Toolkit. o SWTResourceManager Classe única do pacote para manipulação de recursos gráficos como Fonte, Cor, Imagem e Cursor.