fw.jogoCartas
Class Jogo1

java.lang.Object
  |
  +--fw.jogoCartas.Jogo1

public class Jogo1
extends java.lang.Object

Um objeto desta classe representa a interface gráfica do jogo Aces Up.

Version:
1.0
Author:
Fabiana Paulino Guedes, fabianap@dsc.ufpb.br, Raquel Vigolvino Lopes, rakel@dsc.ufpb.br

Field Summary
private  javax.swing.JButton ajuda
          Botão que aciona a ajuda.
private static java.lang.Object[][] dados
           
private  javax.swing.table.DefaultTableModel dtm
          Objeto que auxilia na manipulação da tabela.
private  javax.swing.JFrame frame
          A janela principal do jogo.
private  Jogo jogo
          A lógica do jogo Aces Up.
(package private)  java.util.HashMap mapeaNomeColuna
           
private  javax.swing.JPanel menuDois
          Painel que contém os labels, os combo boxes e o botão ok.
private  javax.swing.JPanel menuUm
          Painel que abriga os botões novoJogo, selecionaJogo e ajuda.
private  javax.swing.JLabel moverDe
          Label "Mover de".
private  javax.swing.JLabel moverPara
          Label "para".
private static java.lang.String[] nomesColunas
           
private static java.lang.String[] nomesPilhasDestino
           
private static java.lang.String[] nomesPilhasFonte
          atributos estáticos
private  javax.swing.JButton novoJogo
          Botão que dá início a um novo jogo.
private  javax.swing.JButton ok
          Botão que efetua as jogadas solicitadas.
private  javax.swing.JComboBox pilhaDestino
          Durante o jogo o jogador precisará mover cartas de uma pilha fonte para uma pilha destino.
private  javax.swing.JComboBox pilhaFonte
          Durante o jogo o jogador precisará mover cartas de uma pilha fonte para uma pilha destino.
private  javax.swing.JLabel pontuacao
          Label "Pontuação".
private  javax.swing.JButton selecionaJogo
          Botão que permite que um novo jogo seja selecionado.
private  javax.swing.JTable tabela
          A tabela que representa as pilhas, onde as cartas serão apresentadas.
private  javax.swing.JScrollPane tabuleiro
          O painel que contém a tabela.
private  javax.swing.JLabel valorPontos
          Label que exibe o valor de pontos do jogo corrente.
 
Constructor Summary
Jogo1()
          Constrói uma nova interface para se jogar Aces Up.
 
Method Summary
(package private)  void ()
           
private  void criaBotaoAjuda()
          Cria o botão ajuda e um ActionListener deste botão que efetuará as operações necessárias para que a ajuda seja exibida.
private  void criaBotaoNovoJogo()
          Cria o botão novoJogo e um ActionListener deste botão que efetuará as operações necessárias para que um novo jogo seja iniciado.
private  void criaBotaoOk()
          Cria o botão ok e um ActionListener deste botão que efetuará as operações necessárias para que a jogada solicitada pelo jogador seja efetuada.
private  void criaBotaoSelecionaJogo()
          Cria o botão selecionaJogo e um ActionListener deste botão que efetuará as operações necessárias para que um novo jogo seja selecionado e iniciado.
private  void criaFrame(java.lang.String titulo)
          Cria a janela principal.
private  void criaInterface()
          Constrói os componentes da interface.
private  void criaMenuDois()
          Constrói o menuDois e seus componentes.
private  void criaMenuUm()
          Constrói o menuUm e seus componentes.
private  void criaTabuleiro()
          Cria o tabuleiro e a tabela.
private  void estoqueParaPilhas()
          Este método efetua as seguintes ações na interface:
-> Ssempre cria uma nova linha na tabela
-> Insere quatro cartas do estoque na primeira linha vazia de cada coluna da tabela que representam as pilhas.
private  void inicializaInterface()
          Inicializa a interface para apresentar um novo jogo.
static void main(java.lang.String[] s)
          O programa principal.
private  void organizaFrame()
          Adiciona os painéis ao frame principal e o torna visível.
private  void pilhaParaFundacao(java.lang.String fonte)
          Este método efetua as seguintes ações na interface:
-> Remove a carta do topo da pilha fonte (da última linha da coluna correspondente na tabela).
private  void pilhaParaPilha(java.lang.String fonte, java.lang.String destino)
          Este método efetua as seguintes ações na interface:
-> Remove a carta do topo da pilha fonte (da última linha da coluna correspondente na tabela).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

frame

private javax.swing.JFrame frame
A janela principal do jogo.

pilhaFonte

private javax.swing.JComboBox pilhaFonte
Durante o jogo o jogador precisará mover cartas de uma pilha fonte para uma pilha destino. Este objeto permite que o jogador selecione a pilha fonte.

pilhaDestino

private javax.swing.JComboBox pilhaDestino
Durante o jogo o jogador precisará mover cartas de uma pilha fonte para uma pilha destino. Este objeto permite que o jogador selecione a pilha destino.

novoJogo

private javax.swing.JButton novoJogo
Botão que dá início a um novo jogo.

ajuda

private javax.swing.JButton ajuda
Botão que aciona a ajuda.

selecionaJogo

private javax.swing.JButton selecionaJogo
Botão que permite que um novo jogo seja selecionado.

ok

private javax.swing.JButton ok
Botão que efetua as jogadas solicitadas.

pontuacao

private javax.swing.JLabel pontuacao
Label "Pontuação".

valorPontos

private javax.swing.JLabel valorPontos
Label que exibe o valor de pontos do jogo corrente.

moverDe

private javax.swing.JLabel moverDe
Label "Mover de".

moverPara

private javax.swing.JLabel moverPara
Label "para".

menuUm

private javax.swing.JPanel menuUm
Painel que abriga os botões novoJogo, selecionaJogo e ajuda.

menuDois

private javax.swing.JPanel menuDois
Painel que contém os labels, os combo boxes e o botão ok.

tabuleiro

private javax.swing.JScrollPane tabuleiro
O painel que contém a tabela.

tabela

private javax.swing.JTable tabela
A tabela que representa as pilhas, onde as cartas serão apresentadas.

dtm

private javax.swing.table.DefaultTableModel dtm
Objeto que auxilia na manipulação da tabela.

jogo

private Jogo jogo
A lógica do jogo Aces Up.
See Also:
Jogo

nomesPilhasFonte

private static final java.lang.String[] nomesPilhasFonte
atributos estáticos

nomesPilhasDestino

private static final java.lang.String[] nomesPilhasDestino

dados

private static final java.lang.Object[][] dados

nomesColunas

private static final java.lang.String[] nomesColunas

mapeaNomeColuna

final java.util.HashMap mapeaNomeColuna
Constructor Detail

Jogo1

public Jogo1()
Constrói uma nova interface para se jogar Aces Up.
Method Detail

void ()
Overrides:
in class java.lang.Object

criaInterface

private void criaInterface()
Constrói os componentes da interface.

criaFrame

private void criaFrame(java.lang.String titulo)
Cria a janela principal.

criaTabuleiro

private void criaTabuleiro()
Cria o tabuleiro e a tabela.

criaMenuUm

private void criaMenuUm()
Constrói o menuUm e seus componentes.

criaBotaoNovoJogo

private void criaBotaoNovoJogo()
Cria o botão novoJogo e um ActionListener deste botão que efetuará as operações necessárias para que um novo jogo seja iniciado.

criaBotaoSelecionaJogo

private void criaBotaoSelecionaJogo()
Cria o botão selecionaJogo e um ActionListener deste botão que efetuará as operações necessárias para que um novo jogo seja selecionado e iniciado.

inicializaInterface

private void inicializaInterface()
Inicializa a interface para apresentar um novo jogo.

criaBotaoAjuda

private void criaBotaoAjuda()
Cria o botão ajuda e um ActionListener deste botão que efetuará as operações necessárias para que a ajuda seja exibida.

criaMenuDois

private void criaMenuDois()
Constrói o menuDois e seus componentes.

criaBotaoOk

private void criaBotaoOk()
Cria o botão ok e um ActionListener deste botão que efetuará as operações necessárias para que a jogada solicitada pelo jogador seja efetuada. Se a jogada não for permitida, o usuário será notificado.

estoqueParaPilhas

private void estoqueParaPilhas()
Este método efetua as seguintes ações na interface:
-> Ssempre cria uma nova linha na tabela
-> Insere quatro cartas do estoque na primeira linha vazia de cada coluna da tabela que representam as pilhas.
-> Atualiza o numero de cartas na com título Estoque.

pilhaParaFundacao

private void pilhaParaFundacao(java.lang.String fonte)
Este método efetua as seguintes ações na interface:
-> Remove a carta do topo da pilha fonte (da última linha da coluna correspondente na tabela).
-> Sempre que todas as colunas da linha (de onde a carta foi retirada) estiverem vazias, a linha será removida.
-> Escreve na coluna intitulada Fundacao o nome da carta que foi inserida nela.
-> Atualiza a pontuacao.
Parameters:
fonte - o nome da pilha fonte.

pilhaParaPilha

private void pilhaParaPilha(java.lang.String fonte,
                            java.lang.String destino)
Este método efetua as seguintes ações na interface:
-> Remove a carta do topo da pilha fonte (da última linha da coluna correspondente na tabela).
-> Sempre que todas as colunas da linha (de onde a carta foi retirada) estiverem vazias, a linha será removida.
-> Insere a carta na primeira linha da coluna correspondente à pilha destino.
Parameters:
fonte - o nome da pilha fonte.
destino - o nome da pilha destino.

organizaFrame

private void organizaFrame()
Adiciona os painéis ao frame principal e o torna visível.

main

public static void main(java.lang.String[] s)
O programa principal. Apenas cria um objeto da classe Jogo1.