2010bEquipe07 Estudo do Código Fonte
(→Diagrama de Classes) |
(→Diagrama de Classes) |
||
Linha 81: | Linha 81: | ||
==Diagrama de Classes== | ==Diagrama de Classes== | ||
+ | [[Imagem:tewnta.jpg]] |
Edição de 22h06min de 22 de setembro de 2010
O código Fonte
Tabela de conteúdo |
br.ufrgs.f180.math
Pacote de bibliotecas matemáticas comuns utilizadas em todo o programa. Compreende as classes:
Point
Representa um ponto no plano com coordenadas X e Y.
Line
Representa uma linha no plano com dois pontos P1 e P2.
Circle
Representa um círculo no plano com um centro (Point) e raio.
Matrix
Representa uma matriz 2x2.
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.
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.
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.
PlayerImpl
Implementação da Classe Player.
br.ufrgs.f180.api.model
Pacote com um conjunto de informações sobre os elementos do jogo.
ElementInformation
Classe genérica dentro do pacote.
BallInformation
Especialização da classe “ElementInformation” para representar informações sobre a bola.
RobotInformation
Especialização da classe “ElementInformation” para representar informações sobre o robô.
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.
VisualElement
Interface que representa um elemento visual do jogo.
MovingElement
Classe abstrata que representa um elemento que se movimenta no jogo, implementação de “VisualElement”.
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.
Wall
Classe que representa uma parede, implementa “VisualElement”.
WallCollisionPoint
Classe para simular um ponto da parede com massa infinita, especializa “MovingElement”.
Ball
Classe para representar a bola, especializa “MovingElement”.
Robot
Classe para representar o robô, especializa “MovingElement”.
br.ufrgs.f180.gui
Pacote com a GUI (Graphical User Interface).
AboutDialog
Janela “Sobre”.
MainWindow
Janela 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.
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.
Game
Classe que representa o jogo.
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.
DemoTeam
Representa um time de demonstração.
com.cloudgarden.resource
Pacote para manipulação dos parâmetros do toolkit SWT, Standard Widget Toolkit.
SWTResourceManager
Classe única do pacote para manipulação de recursos gráficos como Fonte, Cor, Imagem e Cursor.