Tabuleiro de Xadrez

9 respostas
A

ola amigos estou comecando em java e meu professor pediu p/ desenvolver um tabuleiro de xadrez simples e que colocasse as pecas nos seus devidos lugares eu desenvolvi este codigo abaixo ele esta compilando e rodando mais só que ele me pediu p/ fazer de outra maneira diferente. agora nao sei como mudar o codigo
por favor me ajudem tenho que entregar este codigo urgente

import javax.swing.*;
import java.awt.*;

public class xadrez extends JFrame
{
	JButton x[] = new JButton[64];
	int j=0,casa=0;
	xadrez()
	{
		setTitle("TABULEIRO DE XADREZ");	
		setSize(800,600);
		setResizable(false);
		
		getContentPane().setLayout(new GridLayout(8,8,6,6));
		for (casa=0;casa<64;casa++)
		x[casa]=new JButton();
		casa=0;
	
		ImageIcon torrebranca = new ImageIcon("torrebranca.gif");
		ImageIcon cavalobranco = new ImageIcon("cavalobranco.gif");
		ImageIcon bispobranco = new ImageIcon("bispobranco.gif");
		ImageIcon reibranco = new ImageIcon("reibranco.gif");
		ImageIcon damabranca = new ImageIcon("damabranca.gif");
		ImageIcon peaobranco = new ImageIcon("peaobranco.gif");
	
		ImageIcon torrepreta = new ImageIcon("torrepreta.gif");
		ImageIcon reipreto = new ImageIcon("reipreto.Gif");
		ImageIcon cavalopreto = new ImageIcon("cavalopreto.Gif");
		ImageIcon bispopreto = new ImageIcon("bispopreto.Gif");
		ImageIcon damapreta = new ImageIcon("damapreta.Gif");
		ImageIcon peaopreto = new ImageIcon("peaopreto.Gif");
	
		while(casa<64)
		{			
			for(j=0;j<8;j++)
			if((j%2)==0)
				{
					x[0].setIcon(torrepreta);
					x[1].setIcon(cavalopreto);
					x[2].setIcon(bispopreto);
					x[3].setIcon(damapreta);
					x[4].setIcon(reipreto);
					x[5].setIcon(bispopreto);
					x[6].setIcon(cavalopreto);
					x[7].setIcon(torrepreta);
					x[8].setIcon(peaopreto);
					x[9].setIcon(peaopreto);
					x[10].setIcon(peaopreto);
					x[11].setIcon(peaopreto);
					x[12].setIcon(peaopreto);
					x[13].setIcon(peaopreto);
					x[14].setIcon(peaopreto);
					x[15].setIcon(peaopreto);
					
					x[63].setIcon(torrebranca);
					x[62].setIcon(cavalobranco);
					x[61].setIcon(bispobranco);
					x[60].setIcon(reibranco);
					x[59].setIcon(damabranca);
					x[58].setIcon(bispobranco);
					x[57].setIcon(cavalobranco);
					x[56].setIcon(torrebranca);
					x[55].setIcon(peaobranco);
					x[54].setIcon(peaobranco);
					x[53].setIcon(peaobranco);
					x[52].setIcon(peaobranco);
					x[51].setIcon(peaobranco);
					x[50].setIcon(peaobranco);
					x[49].setIcon(peaobranco);
					x[48].setIcon(peaobranco);			
					
					x[casa].setBackground(Color.black);
					getContentPane().add(x[casa]);
					casa++;
				}
				else
				{
					x[casa].setBackground(Color.white);
					getContentPane().add(x[casa]);
					casa++;
				}
			for(j=0;j<8;j++)				
			if((j%2)==0)
				{
					x[casa].setBackground(Color.white);
					getContentPane().add(x[casa]);
					casa++;
				}
				else
				{
					x[casa].setBackground(Color.black);
					getContentPane().add(x[casa]);
					casa++;
				}
		}
	}
	
	
	
	public static void main(String args[])
	{
		JFrame janela = new xadrez();
		janela.show();
	}
}

9 Respostas

Luca

Olá

Para ajudar quem tentará lhe ajudar, você pode revelar qual é esta outra maneira?

[]s
Luca

A

sem usar vetor

diego2005

Pode ser com matriz???

A

pode ser mais como eu faço?

diego2005

Ao invés de fazer assim:

JButton x[] = new JButton[64];

Você faz assim:

JButton x[][] = new JButton[8][8];

Entendeu???

kaabah

Com matrizes fica mais facil mesmo!

Já usei um jeito para resolver o problema das rainhas, usava apenas um vetor.

Exemplo:

  1. Primeiro preenchi o vetor de 8 posicoes todo com zero.

  2. As posicoes diferente de 0 eram onde as rainhas se encontravam e o numero do conteudo era a linha onde estava a rainha.

vetor[3] = 4; ou seja, na coluna 3, linha 4 do tabuleiro tinha uma rainha.

É uma outra maneira de representar um tabuleiro tb!

A

ok entendi como fazer como matriz

mais na hora de puxar as figuras esta dando erro

diego2005

Qual o erro???

Coloque seu código que fica mais fácil…

A

ai esta o codigo

import javax.swing.<em>;

import javax.swing.</em>;

import java.awt.*;
public class xadrez extends JFrame

{

JButton x[][] = new JButton[8][8];

int j=0,casa=0;

xadrez()

{

setTitle(TABULEIRO DE XADREZ);	

setSize(800,600);

setResizable(false);
getContentPane().setLayout(new GridLayout(8,8,6,6));
	for (casa=0;casa<8;casa++)
	x[casa][casa]=new JButton();
	casa=0;

	ImageIcon torrebranca = new ImageIcon("torrebranca.gif");
	ImageIcon cavalobranco = new ImageIcon("cavalobranco.gif");
	ImageIcon bispobranco = new ImageIcon("bispobranco.gif");
	ImageIcon reibranco = new ImageIcon("reibranco.gif");
	ImageIcon damabranca = new ImageIcon("damabranca.gif");
	ImageIcon peaobranco = new ImageIcon("peaobranco.gif");

	ImageIcon torrepreta = new ImageIcon("torrepreta.gif");
	ImageIcon reipreto = new ImageIcon("reipreto.Gif");
	ImageIcon cavalopreto = new ImageIcon("cavalopreto.Gif");
	ImageIcon bispopreto = new ImageIcon("bispopreto.Gif");
	ImageIcon damapreta = new ImageIcon("damapreta.Gif");
	ImageIcon peaopreto = new ImageIcon("peaopreto.Gif");

	while(casa<8)
	{			
		for(j=0;j<8;j++)
		if((j%2)==0)
			{
				x[0][3].setIcon(torrepreta);
				x[1][2].setIcon(cavalopreto);
				x[2][3].setIcon(bispopreto);
				x[3][4].setIcon(damapreta);
				x[4][5].setIcon(reipreto);
				x[6][7].setIcon(cavalopreto);
				x[7][8].setIcon(torrepreta);
				x[8][9].setIcon(peaopreto);
									
				
				x[casa][casa].setBackground(Color.black);
				getContentPane().add(x[casa][casa]);
				casa++;
			}
			else
			{
				x[casa][casa].setBackground(Color.white);
				getContentPane().add(x[casa][casa]);
				casa++;
			}
		for(j=0;j<8;j++)				
		if((j%2)==0)
			{
				x[casa][casa].setBackground(Color.white);
				getContentPane().add(x[casa][casa]);
				casa++;
			}
			else
			{
				x[casa][casa].setBackground(Color.black);
				getContentPane().add(x[casa][casa]);
				casa++;
			}
	}
}



public static void main(String args[])
{
	JFrame janela = new xadrez();
	janela.show();
}

}

Criado 25 de outubro de 2006
Ultima resposta 25 de out. de 2006
Respostas 9
Participantes 4