Sei sulla pagina 1di 7

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CINCIAS EXATAS E NATURAIS DEPARTAMENTO DE SISTEMAS E COMPUTAO DISCIPLINA: Tpicos em Programao PROFESSOR: Maurcio

Capobianco Lopes ESPECIFICAO DO JOGO 1. Nome do Jogo - Tetris 2. Objetivo - Este jogo tem por objetivo que o jogador consiga a maior pontuao possvel eliminando linhas totalmente preenchidas em um tabuleiro. 3. Como Jogar - O jogo composto de um tabuleiro de 10 colunas e 20 linhas em um total de 200 quadrados, portanto cada linha tem 10 quadrados. Na parte superior do tabuleiro so inseridas peas que ocupam 4 quadrados em formatos aleatrios que vo descendo pelo mesmo. Com estas peas o jogador deve preencher totalmente uma ou mais linhas do tabuleiro a fim de eliminar a linha e marcar pontos. Ao eliminar uma linha, o contedo das linhas acima da linha eliminada descem para a linha imediatamente abaixo. A cada linha eliminada o jogador ganha 10 pontos. O jogo tem nveis de dificuldade que diferem na velocidade de descida da pea. Assim, a cada 100 pontos conquistados, o jogador muda de nvel e as peas passam a descer mais rpido no tabuleiro. As peas podem ser deslocadas para a direita ou esquerda e podem ser giradas no sentido horrio ou antihorrio. 4. Quando termina - O jogo termina quando o jogador no consegue mais encaixar as peas nas linhas do tabuleiro. 5. Requisitos - por ser implementado na linguagem java, necessrio que o computador tenha a mquina virtual java instalada para que o mesmo possa ser utilizado.

6. StoryBoard

MODELO DO JOGO CLASSE Quadrado propriedades int lin int col Color cor mtodos construtor Quadrado(int lin, int col) int getLin() int getCol() Color getCor() incrementarLinha() incrementarColuna() decrementarColuna() atualizarPosicao(int lin, int col) CLASSE Tabuleiro propriedades int linhas int coluna Quadrado tabuleiro[][] mtodos constructor Tabuleiro(int linhas, int colunas) esvaziarTabuleiro() preencherPosicao(int lin, int col, Quadrado quad) esvaziarPosicao(int lin, int col) boolean ehPosicaoVazia(int lin, int col) copiarPosicao(int linOrigem, int colOrigem, int linDestino, int colDestino) int getNroLinhas() int getNroColunas() CLASSE Peca propriedades Quadrado[4] quadrados Tabuleiro tabuleiro int posicao mtodos constructor Peca(Tabuleiro tabuleiro) inserirNoTabuleiro() retirarDoTabuleiro() descer() boolean podeMovimentar(int posicao) movimentarEsquerda() movimentarDireita() girarEsquerda() girarDireita(); Quadrado[] getPosicaoAtual() boolean ehQuadradoDaPeca(int lin, int col) boolean estaNaUltimaLinha() boolean estaNaPrimeiraLinha() boolean colideLinhaAbaixo()

boolean colideEsquerda() boolean colideDireita() CLASSE CLASSE CLASSE CLASSE CLASSE CLASSE CLASSE Peca13 Peca31 Peca3C Peca22D Peca22E PecaReta PecaQuadrada

CLASSE Tetris propriedades Tabuleiro tabuleiro Peca pecaAtual Peca proximaPeca int pontos int nivelAtual int recorde boolean fimJogo boolean emPausa mtodos constructor Tetris() iniciaJogo() Peca sortearPeca() Tabuleiro getTabuleiro() inserirNovaPeca() verificarLinhaCompleta() descerPeca() boolean podeDescer() Peca getPecaAtual() int getNivel() int getPontos() boolean ehFimDeJogo() boolean estaPausado()

CONSTRUINDO A APLICAO USANDO O NETBEANS 5.0 Para desenvolver uma aplicao no NetBeans deve inicialmente ser criado um novo projeto. 1. Criar um novo projeto a) selecionar a opo File | New Project; b) na categoria General selecionar um projeto Java Application; c) na opo Project Name dar o nome de Jogo Tetris ao projeto e na opo Project Location selecionar o diretrio onde o projeto dever ser criado; d) no criara a classe principal (Main); Neste momento criada a estrutura do pacote no Netbeans composta das packages Source e Test. 2. Criando uma package para implementar o modelo a) inicialmente deve ser criado uma package especfica para o modelo, clicando-se com o boto da direita sobre a package Source e escolhendo New | Java Package. A nova package dever ter o nome de model; b) nesta package devem ser criadas e implementadas as classes do modelo apresentado anteriormente. Para se criar uma classe deve ser clicado com o boto da direita sobre a package model e ser selecionada a opo New | Java Class. Na criao das classes use sempre a primeira letra em maiscula. c) as classes das peas (Peca31, Peca13 e assim por diante devem ser criadas dentro de uma package denominada pecas dentro da package model.

CONSTRUINDO A INTERFACE USANDO O NETBEANS 5.0 A interface do jogo seguir o padro apresentado no item Storyboard deste projeto. A interface ter um menu com a opo Jogo e dentro deste menu ter as opes Iniciar e Sair. Existiro labels para verificao do nvel e da pontuao do jogo e tambm um painel com o tabuleiro. O tabuleiro deste painel ser desenhado de forma grfica em tempo de execuo A seguir sero descritos os passos para sua construo. 1. Criando uma package para implementar a interface: a) inicialmente deve ser criada uma package especfica para a interface denominada view. 2. Criando as classes da interface a) as classes da interface devem ser criadas a partir de um JFrame ou um JPanel. Quando for necessrio criar menus, por exemplo, deve ser usado o JFrame. No caso da aplicao aqui apresentada deve ser clicado com o boto da direita na package view e deve ser selecionada a opo New | JFrame Form. Defina o nome da classe como JogoTetrisGUI; b) configure as propriedades do frame conforme a tabela a seguir: Componente Nome JFrame1 Propriedades a configurar Name: frmJogoTetris title: Jogo Tetris da direita sobre o mesmo e selecione a opo: Set Layout | Border Layout. 3. Criando o menu a) Crie o menu apresentado de acordo com a tabela a seguir. Componente Nome JMenuBar jMenu Propriedades a configurar Clicar com o boto da direita e montar a estrutura de menus apresentadas a seguir, sempre usando a opo Add. Text: Jogo Text: Iniciar accelerator: F2 Text: Sair

c) Tambm deve ser configurado o layout do frame: clique com o boto

JMenu1 JMenuItem1 JSeparator1 JMenuItem2

jmnJogo jmnReiniciar

jmnSair

4. Criando os painis a) No layout do frame devem ser inserido 1 painel: Componente Nome JPane pnPontos Propriedades a configurar Set Layout | Grid Bag Layout

b) No pnPontos devem ser inserido quatro labels Componente Nome JLabel lbTxtPontos Propriedades a configurar Text: Pontos: Font ...: Size: 14 foreground ...: [0,0,255] Text: O Font ...: Size: 14 foreground ...: [0,0,255] Text: Nvel: Font ...: Size: 14 foreground ...: [255,0,0]

JLabel

lbPontos

JLabel

lbTxtNivel

JLabel

Text: 1 Font ...: Size: 14 foreground ...: [255,0,0] c) Clique com o boto da direita na paleta Inspector sobre o Layout do pnPontos (GridBagLayout) e selecione a opo Customize para posicionar corretamente os labels no painel. a) Para a criao do painel do Tabuleiro deve ser criada uma classe derivada de JPanel: clique com o boto da direita sobre a package view e selecione a opo New | JPanelForm. b) Neste momento deve ser implementado o desenho do tabuleiro implementando-se o mtodo paint da classe JPanel. Neste mtodo devem ser desenhadas as linhas e colunas do form. c) O TabuleiroGUI deve ser criado e adicionado ao frame JogoVelhaGUI.

lbNivel

5. Criando o painel do Tabuleiro

Potrebbero piacerti anche