如果我正在设计一个简单的国际象棋游戏代码,并且已经创建了棋盘布局,我想知道如何实现棋子(P, p, R, r, N, n, B, b, Q, q, K, k) (大写代表白色棋子,小写是黑色棋子),以便ChessBoard对象更新以将棋子存储在输入位置?
我应该将这些片段声明为实例变量吗?或者我应该只在main中声明它们?
至于用户输入一个已经被占用的位置,我完全不知道如何将其转换为代码。
但是,我实现了代码的一部分,如果用户的输入超出了主板范围,则会显示错误消息。
(顺便说一句,这都是用java写的)
任何帮助都将不胜感激!提前感谢!如果看到我的一些代码会有帮助,请让我知道。
我正在尝试用Java编写一款国际象棋游戏,它将完全显示在控制台中。我正在使用Unicode字符,如白棋皇后U+2655。我的问题是我找不到与棋子宽度匹配的空格字符,所以我不能正确地显示棋盘。看看下面的输出,我将典当从h2移到h4:
8 ♜♞♝♛♚♝♞♜
7 ♟♟♟♟♟♟♟♟
6
5
4 ♙
3
2 ♙♙♙♙♙♙♙
1 ♖♘♗♕♔♗♘♖
a b c d e f g h
编辑:下面的示例更容易指出问题:
♙♙♙♙♙♙♙♙
xxxxxxxx
iiiiiiii
|
我是java的新手,正在尝试建立运行国际象棋游戏的逻辑。我有一个名为‘块’的超类,以及国王、骑士、王后等的子类。我正在尝试实现一个移动方法,在这个方法中,我动态地确定棋子的类型,然后调用那个棋子的相应的移动方法。例如:
int typeOfPiece = _board[startX][startY]._theKind;
Piece myPiece;
switch(typeOfPiece)
{
case 1:
myPiece = new Pawn(startX, startY, team);
case 2:
myPiece = new Rook
我正在尝试为windows application.And创建一个国际象棋游戏,我创建了一个国际象棋桌,我把棋子的图片放在象棋board.But上,我没有移动棋子。我写了以下代码:
//the creation of the chess board
this.ClientSize = new System.Drawing.Size(600, 600);
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{