Olá Pessoal! Sou nova no fórum e nova em Java também, como programei muito tempo com C, não estou acostumada a orientação a objetos e meu código acaba ficando muito “mecânico”.
Pois bem, estou fazendo um projeto para a faculdade e já procurei em todos os lugares mas nenhum me ajudou! Quero criar um pino de tabuleiro que ande em forma de cruz(como a torre no xadrez) o máximo que consegui fazer foi que ao clicar em uma casa vizinha a que ele se encontra a imagem do pino se torna invisível, porém ainda preciso que ele não deixe andar na diagonal, se eu estiver em uma casa por exemplo: [0,0] ele deixar meu pino aparecer na [7,6] e também deixar andar apenas oq o meu dado sorteou.
Tentei fazer a maioria dessas condições com um if, mas muitas vezes ele não chegava nem a entrar no if… e não conheço outra forma e nem achei!
Comecei testando em um código menor para depois passar para o meu código oficial! Aqui está o meu código!
Desculpa se tiver um tópico já relacionado, mas infelizmente não achei um q me ajudasse ou um muito parecido com o meu caso! Se tiverem agradeceria de mandar o link, ou me ajudassem mesmo! Obrigada
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class MenuAcao extends JFrame implements WindowListener {
JButton novoJogo = new JButton("Novo Jogo");
JButton encerraJogo = new JButton("Encerrar o Jogo");
JPanel painel = new JPanel(new GridLayout(8, 8, 1, 1));
JButton[][] casas = new JButton[8][8];
JPanel barraDeFerramentas = new JPanel(new FlowLayout());
JLabel barraDeEstado = new JLabel("Status do Jogo");
JMenuBar menuBar;
JMenu menuAjuda;
JMenu menuArquivo;
JMenuItem menuNovo;
JMenuItem menuSair;
JMenuItem menuSobre;
public MenuAcao() {
super("Grid - Tabuleiro de xadrez");
addWindowListener(this);
this.setLayout(new BorderLayout());
this.setLayout(new BorderLayout());
barraDeFerramentas.add(novoJogo);
barraDeFerramentas.add(encerraJogo);
add(barraDeFerramentas, BorderLayout.NORTH);
add(barraDeEstado, BorderLayout.SOUTH);
add(painel, BorderLayout.CENTER);
// add(painel);
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
casas[i][j] = new JButton();
painel.add(casas[i][j]);
final int x=i;
final int y=j;
casas[i][j].addActionListener(new ActionListener(){
//Escuta para quando clicar aparecer o peão
public void actionPerformed(ActionEvent e) {
//geradado(e);
casas[x][y].setIcon(new ImageIcon("C:/Users/Aline/Desktop/quadradinhostabuleiro/peaovermelho1.png"));
System.out.println("as coordenas são: "+x +y);
if(x==0 && y==0){
casas[x+1][y].setIcon(null);
casas[x][y+1].setIcon(null);
}
/* if( x == 1 && y==0)
{
casas[x+1][y].setIcon(null);
casas[x][y+1].setIcon(null);
casas[x-1][y].setIcon(null);
}
if( x == 2 && y==0)
{
casas[x+1][y].setIcon(null);
casas[x][y+1].setIcon(null);
casas[x-1][y].setIcon(null);
}
if( x == 3 && y==0)
{
casas[x+1][y].setIcon(null);
casas[x][y+1].setIcon(null);
casas[x-1][y].setIcon(null);
}
if( x == 4 && y==0)
{
casas[x+1][y].setIcon(null);
casas[x][y+1].setIcon(null);
casas[x-1][y].setIcon(null);
}
if( x == 5 && y==0)
{
casas[x+1][y].setIcon(null);
casas[x][y+1].setIcon(null);
casas[x-1][y].setIcon(null);
}
if( x == 6 && y==0)
{
casas[x+1][y].setIcon(null);
casas[x][y+1].setIcon(null);
casas[x-1][y].setIcon(null);
}
if( x == 7 && y==0)
{
casas[x][y+1].setIcon(null);
casas[x-1][y].setIcon(null);
}*/
}
});
if (((i + j) % 2) == 0) {
casas[i][j].setBackground(Color.white);
} else {
casas[i][j].setBackground(Color.black);
}
}
}
}
public static void main(String[] args) {
MenuAcao frame = new MenuAcao();
frame.setSize(400, 450);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
/*public void geradado(ActionEvent e){
Random numero = new Random();
int geradado1 = numero.nextInt(6) + 1;
System.out.println("O valor do dado é: " + geradado1);
}*/
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
dispose();
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
//System.out.println("Terminou com erro");
//System.exit(1);
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
}