27
Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Embed Size (px)

Citation preview

Page 1: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Labyrinth Adelmario Douglas (adclj)Lamberto Augusto (laon)

Millena Andrade (maag)Williams Azevedo (wtoa)

Page 2: 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

Page 3: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

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

Page 4: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

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á

Page 5: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Casos de Uso

Page 6: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

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

Page 7: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Movimentar Jogador

Checar Movimento

Movimentar Jogador

<<include>>

Usuário

Receber Chamada Chamada

<<include>>

Page 8: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

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>>

Page 9: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Análise

Page 10: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Movimentar Jogador Diagrama de Classes

GameScreen Game

1 111

Page 11: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

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)

Page 12: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Iniciar Timer Diagrama de Classes

GameSettings

Game

1

1

1

1

Counter

GameScreen

1..1 1..11

1

1

1

1

11

1

Page 13: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

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)

Page 14: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Decrementar Tempo Diagrama de Classes

GameSettings

Game

1

1

1

1

Counter

GameScreen

1..1 1..11

1

1

1

1

11

1

Page 15: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

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)

Page 16: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Finalizar Jogo Diagrama de Classes

GameScreen GameSettings

1..1 1..1

Page 17: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Finalizar Jogo Diagrama de Seqüência

Jogador : usuário : GameScreen : GameSettings

commandAction(Command, Displayable)

endGame( )

write(Vector)save( )

Page 18: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Adicionar Recorde Diagrama de Classes

RecordGameScreen Game

RecordCollection

0..n0..n

1

1

1..1 1..n

1

1

Page 19: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

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

Page 20: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Adicionar Recorde ao Ranking Diagrama de Classes

Page 21: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Diagrama de Pacotes

Page 22: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Diagrama de Pacotes

menugame

settingsLabyrinth

display : Displaysettings : GameSettings

<<boundary>>

records

connection<<subsystem>>

Page 23: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

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

Page 24: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

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

Page 25: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Diagrama com Cápsula

Page 26: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Referências Labyrinth

adelmario.googlepages.com

Análise e Projeto de Sistemas www.cin.ufpe.br/~if718

Page 27: Labyrinth Adelmario Douglas (adclj) Lamberto Augusto (laon) Millena Andrade (maag) Williams Azevedo (wtoa)

Dúvidas