fw.jogoCartas
Class Jogo2

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

public class Jogo2
extends java.lang.Object

Um objeto desta classe representa a interface gráfica do jogo Baker's Dozen.

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[][] dadosFundacoes
           
private static java.lang.Object[][] dadosPilhas
           
private  javax.swing.table.DefaultTableModel dtmFundacoes
          Objeto que auxilia na manipulação da tabelaFundacoes.
private  javax.swing.table.DefaultTableModel dtmPilhas
          Objeto que auxilia na manipulação da tabelaPilhas.
private  javax.swing.JFrame frame
          A janela principal do jogo.
private  Jogo jogo
          A lógica do jogo Baker's Dozen.
(package private)  java.util.HashMap mapeaNomeColunaFundacoes
           
(package private)  java.util.HashMap mapeaNomeColunaPilhas
           
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[] nomesColunasFundacoes
           
private static java.lang.String[] nomesColunasPilhas
           
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 tabelaFundacoes
          A tabela que representa as fundacoes, onde as cartas serão apresentadas.
private  javax.swing.JTable tabelaPilhas
          A tabela que representa as pilhas, onde as cartas serão apresentadas.
private  javax.swing.JScrollPane tabuleiroFundacoes
          O painel que contém a tabelaFundacoes.
private  javax.swing.JScrollPane tabuleiroPilhas
          O painel que contém a tabelaPilhas.
private  javax.swing.JLabel valorPontos
          Label que exibe o valor de pontos do jogo corrente.
 
Constructor Summary
Jogo2()
          Constrói uma nova interface para se jogar Baker's Dozen.
 
Method Summary
(package private)  void ()
           
(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 criaTabuleiroFundacoes()
          Cria o tabuleiroFundacoes e a tabelaFundacoes.
private  void criaTabuleiroPilhas()
          Cria o tabuleiroPilhas e a tabelaPilhas.
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, 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).
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.

tabuleiroFundacoes

private javax.swing.JScrollPane tabuleiroFundacoes
O painel que contém a tabelaFundacoes.

tabuleiroPilhas

private javax.swing.JScrollPane tabuleiroPilhas
O painel que contém a tabelaPilhas.

tabelaFundacoes

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

tabelaPilhas

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

dtmFundacoes

private javax.swing.table.DefaultTableModel dtmFundacoes
Objeto que auxilia na manipulação da tabelaFundacoes.

dtmPilhas

private javax.swing.table.DefaultTableModel dtmPilhas
Objeto que auxilia na manipulação da tabelaPilhas.

jogo

private Jogo jogo
A lógica do jogo Baker's Dozen.
See Also:
Jogo

nomesPilhasFonte

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

nomesPilhasDestino

private static final java.lang.String[] nomesPilhasDestino

dadosFundacoes

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

dadosPilhas

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

nomesColunasFundacoes

private static final java.lang.String[] nomesColunasFundacoes

nomesColunasPilhas

private static final java.lang.String[] nomesColunasPilhas

mapeaNomeColunaFundacoes

final java.util.HashMap mapeaNomeColunaFundacoes

mapeaNomeColunaPilhas

final java.util.HashMap mapeaNomeColunaPilhas
Constructor Detail

Jogo2

public Jogo2()
Constrói uma nova interface para se jogar Baker's Dozen.
Method Detail

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

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.

criaTabuleiroFundacoes

private void criaTabuleiroFundacoes()
Cria o tabuleiroFundacoes e a tabelaFundacoes.

criaTabuleiroPilhas

private void criaTabuleiroPilhas()
Cria o tabuleiroPilhas e a tabelaPilhas.

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.

pilhaParaFundacao

private void pilhaParaFundacao(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.
-> Escreve o nome da carta na coluna Fundacao selecionada pelo jogador.
-> Atualiza a pontuacao.
Parameters:
fonte - o nome da pilha fonte.
destino - o nome da pilha destino.

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