Board Game - Scotland Yard(Duvidas)

0 respostas
S

Olá pessoal é meu primeiro post aqui, estudo java faz por volta de 6 meses, agora decidi criar um jogo de tabuleiro baseado no jogo "Scotland Yard" um jogo de investigação, o jogo conciste basicamente de um tabuleiro e as peças dos jogadores onde dependendo do valor no dado que sair eles podem mecher as peças meu objetivo é reproduzir o tabulheiro e deixar os players mecherem as peças sozinho sem esquema de turnos como existe no xadrez ou nas damas, gostaria de saber se a maneira que eu criei o tabuleiro é a mais eficiente, gostaria de ideias de como colocar as peças nele! Obrigado!!! Segue o codigo abaixo:

import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class Tabuleiro extends JFrame {
   
    private int x = 18;
    private int y = 23;
    private JLabel[][] casas = new JLabel[x][y];
    private ImageIcon casaBranca, casaPreta;
    private JPanel tela;
    private byte [][] tipoCasas;
   
    
    public Tabuleiro() {
        criarTabuleiro();
    }

    private void criarTabuleiro() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //Casa branca é onde pode andar, casa preta aonde não pode
        casaBranca = new ImageIcon("C:/Users/Santhell/JavaApplication4/imagens/casa.png");
        casaPreta  = new ImageIcon("C:/Users/Santhell/JavaApplication4/imagens/casaPreta.png");
        tela = new JPanel(new GridLayout(x, y, 0, 0));
        add(tela, BorderLayout.WEST);
        int[][] tipoCasas = new int[][] {{0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1}, 
                                         {0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1},
                                         {1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1},  
                                         {1, 0, 0 , 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1},
                                         {1, 0, 0 , 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1},  
                                         {1, 0, 0 , 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1},
                                         {1, 0, 0 , 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1},  
                                         {1, 0, 0 , 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1},
                                         {1, 1, 1 , 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
                                         {1, 1, 0 , 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0},
                                         {1, 1, 0 , 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
                                         {1, 1, 0 , 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
                                         {1, 1, 1 , 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
                                         {1, 1, 1 , 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
                                         {0, 0, 0 , 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
                                         {0, 0, 0 , 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
                                         {0, 0, 0 , 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
                                         {0, 0, 0 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
        for(int i = 0; i < x; i++){
            for(int j = 0; j < y; j++){
                if (tipoCasas[i][j] == 1) {
                casas[i][j] = new JLabel(casaBranca);
                tela.add(casas[i][j]);
                } else {
                casas[i][j] = new JLabel(casaPreta);
                tela.add(casas[i][j]);
                }
            }
        }
        setResizable(false);
        pack();
    }
    
}
Criado 22 de maio de 2009
Respostas 0
Participantes 1