View
216
Download
0
Embed Size (px)
Citation preview
Labyrinth Adelmario Douglas (adclj)Lamberto Augusto (laon)
Millena Andrade (maag)Williams Azevedo (wtoa)
Agenda Labyrinth
Descrição Objetivos
Casos de Uso Visão Geral
Análise Diagrama de Classes Diagrama de Sequência
Arquitetura Mapeamento Análise em Projeto Diagrama com Cápsulas Referências
Labyrinth - Descrição Um jogo de labirinto onde o jogador deve
descobrir qual o caminho de saída do labirinto
É dividido em fases. As fases seguintes terão labirintos mais complexos
Efeitos sonoros para informar que o tempo para sair do labirinto está acabando
Labyrinth – Objetivos Antes de sair do labirinto, o jogador deve
pegar uma chave que permitirá sua saída O jogador deverá chegar ao fim do labirinto
antes de acabar o tempo pré-determinado no início da fase
Conforme o jogador vai passando de fase, os labirintos vão ficando maiores e mais difíceis
Quantos mais rápido ele sair do labirinto, mais pontos ele marcará
Casos de Uso
Casos de Uso – Visão Geral
Movimentar Jogador
Perder Vida
Adicionar Recorde
Iniciar Jogo
Mostrar Recordes
Sair do Sistema
Pontuação do Jogador
Finalizar Jogo
Usuário
Adicionar Recorde ao Ranking
Movimentar Jogador
Checar Movimento
Movimentar Jogador
<<include>>
Usuário
Receber Chamada Chamada
<<include>>
Iniciar timer
Decremento de Tempo
Iniciar Timer
Pontuação do Jogador
Vencer JogoPerder Vida
Perder Jogo Adicionar Recorde
Finalizar Jogo
<<include>>
<<include>>
<<include>>
<<include>>
<<extend>>
<<extend>>
<<include>>
Adicionar Recorde ao Ranking
<<include>>
Análise
Movimentar Jogador Diagrama de Classes
GameScreen Game
1 111
Movimentar Jogador Diagrama de Sequência
Jogador : usuário : GameScreen : Game
keyPressed(int)
move(int, int)
colision(int, int)
boolean
[boolean] setX(int)
[boolean] setY(int)
moveSound(boolean)
[boolean] paint(Graphics)
Iniciar Timer Diagrama de Classes
GameSettings
Game
1
1
1
1
Counter
GameScreen
1..1 1..11
1
1
1
1
11
1
Iniciar Timer Diagrama de Sequência
: GameScreen : GameScreen : Game : Game : Counter : Counter : GameSettings : GameSettings
Counter(GameScreen, Game)
run( )
decTimer( )
initializeTimer( )
paint(Graphics)
o método run() é executado a cada 1s.
setTime(int)
Decrementar Tempo Diagrama de Classes
GameSettings
Game
1
1
1
1
Counter
GameScreen
1..1 1..11
1
1
1
1
11
1
Decrementar Tempo Diagrama de Seqüência
: Counter : Game : GameSettings
: GameScreen
decTimer( ) setTime(int)
Counter irá chamar dectTimer() a cada 1s até que timer chegue a 0 ou acabe a fase.
setTime(int)
paint(Graphics)
Finalizar Jogo Diagrama de Classes
GameScreen GameSettings
1..1 1..1
Finalizar Jogo Diagrama de Seqüência
Jogador : usuário : GameScreen : GameSettings
commandAction(Command, Displayable)
endGame( )
write(Vector)save( )
Adicionar Recorde Diagrama de Classes
RecordGameScreen Game
RecordCollection
0..n0..n
1
1
1..1 1..n
1
1
Adicionar RecordgameScreen : GameScreen
game : Game record : RecordJogador : usuário : RecordCollection
winGame( )
win game: boolean
[win game: boolean] winner()
getScore( )
score : int
getIniciais()
iniciais
Record(String, int)
addRecord(String, int)
getRecord( )
records : RecordRepository
Adicionar Recorde ao Ranking Diagrama de Classes
Diagrama de Pacotes
Diagrama de Pacotes
menugame
settingsLabyrinth
display : Displaysettings : GameSettings
<<boundary>>
records
connection<<subsystem>>
Arquitetura
Negócio
Arquivo
Cadastrode Recordes
Interface J2MEMiDLetMenu
Telas Jogo
Canvas
Lógica
Recordes Configuração
Controle de Configuração
Classes Básicas
Dados
Interface de Dados
Repositório de Recordes
File
Mapeamento Análise em Projeto
Classes de Análise Elementos de Projeto
GameCounterGameScreen
GameCounterGameScreen
LabyrinthMenuRecordsScreen
LabyritnthMenuRecordsScreen
RecordRecordCollection
RecordRecordRegistryRecordRepository
GameSettings GameSettings
Labyrinth Labyrinth
FileFileInterface
SendRecordProtocolConnection
GameProtocolCounterProtocolMenuSelectionProtocol
Diagrama com Cápsula
Referências Labyrinth
adelmario.googlepages.com
Análise e Projeto de Sistemas www.cin.ufpe.br/~if718
Dúvidas