控制台到GUI
我试图将我的基于控制台的国际象棋游戏移至GUI。 我现在正在参考这个国际象棋教程,以帮助我开始。 为了测试目的,我目前只在电路板上设置一个白车。 在我的控制台国际象棋程序中,我有一个Rook Class,它决定了Rook如何移动,它是什么颜色,等等。
在教程代码中,他们添加了一块板子,如下所示:
// Add a few pieces to the board
JLabel piece = new JLabel("rl.png");
JPanel panel = (JPanel) chessBoard.getComponent(0);
panel.add(piece);
// my Attempt ---------------------------------------------------//
// String rook = "Rook";
// ImageIcon image4 = new ImageIcon("rl.png");
// Rook firstRook = new Rook(rook, image4);
//
// piece = new JLabelfirstRook);
// panel = (JPanel) chessBoard.getComponent(0);
// panel.add(piece);
然后,车可以全部移动,因为它没有任何移动规则适用于它。 我想把我的白菜班与JLabel作品联系起来,这样这个车就受到移动规则的约束。 因此,我的问题是:
我怎样才能将我的控制台Rook Class连接到板上的Rook? 是否有更好的方法来做到这一点? 任何帮助表示赞赏,我已经在网上寻求帮助,并没有取得成功。 谢谢!
我的车族:
public class RookTest extends ChessPiece
{
String name;
ImageIcon visualRep; //= new ImageIcon("rl.png");
public RookTest(String name, ImageIcon visualRep)
{
this.name = name;
this.visualRep = visualRep;
}
public String setInBoard() {
return "| " + name + " |";
}
public String getName()
{
return name;
}
public String getColor()
{
String pieceColor = null;
if (name.equals("r"))
{
pieceColor = "d";
}
else if (name.equals("R"))
{
pieceColor = "l";
}
return pieceColor;
}
public String toString() {
//something to find the color in here
return "Rook";
}
//legal moves
//-------------------------------------------------------------------------------------------------------//
public boolean legalMove(ChessPiece[][] chess, int startY, int startX, int endY, int endX)
{
boolean thisIsAValidMove = false;
//MOVING NORTH-SOUTH //if its in the same column and not in the same row//
if (startY == endY && startX != endX )
thisIsAValidMove = true;
//MOVING EAST-WEST // if its in the same row but not the same column//
else if(startX == endX && startY != endY)
thisIsAValidMove = true;
else
thisIsAValidMove = false;
return thisIsAValidMove;
}
//-------------------------------------------------------------------------------------------------------//
链接地址: http://www.djcxy.com/p/84649.html
上一篇: console to GUI