Java 将2D数组转换为棋盘
我正在尝试做一个android象棋游戏。我已经让引擎使用基于文本的UI,如下所示:Java 将2D数组转换为棋盘,java,android,Java,Android,我正在尝试做一个android象棋游戏。我已经让引擎使用基于文本的UI,如下所示: bR bN bB bQ bK bB bN bR 8 bp bp bp bp bp bp bp bp 7 ## ## ## ## 6 ## ## ## ## 5 ## ## ## ## 4 ## ## ## ## 3 wp wp wp wp wp wp wp wp 2 wR wN wB wQ wK wB w
bR bN bB bQ bK bB bN bR 8
bp bp bp bp bp bp bp bp 7
## ## ## ## 6
## ## ## ## 5
## ## ## ## 4
## ## ## ## 3
wp wp wp wp wp wp wp wp 2
wR wN wB wQ wK wB wN wR 1
a b c d e f g h
White's move:
我想把这个2D数组转换成图形用户界面。如果移动成功与否,所有移动都正常工作,并打印出结果或错误。我知道这会有点像gridview之类的东西。我不是在寻找代码,而是一种算法或过程,我可以在视图中转换这个2D数组,例如:e2 e4移动棋子将导致这种情况
bR bN bB bQ bK bB bN bR 8
bp bp bp bp bp bp bp bp 7
## ## ## ## 6
## ## ## ## 5
## ## wp ## ## 4
## ## ## ## 3
wp wp wp wp wp wp wp 2
wR wN wB wQ wK wB wN wR 1
a b c d e f g h
Black's move:
我想在移动成功后使用2D阵列中的数据重新绘制电路板。上面看到的电路板数据存储在数据阵列中。您是否考虑过只进行一部分 创建新的UTF8打印流:
PrintStream out = new PrintStream(System.out, true, "UTF8");
请参阅每个棋子的UTF8代码列表
你可能需要一个涵盖这些代码的字体-我发现单间距13适合我
下面是我不久前编写的一些实验代码中的一个示例-在单间距中看起来更好:
♜|♞|♝|♚|♛|♝|♞|♜
—+—+—+—+—+—+—+—
♟|♟|♟|♟|♟|♟|♟|
—+—+—+—+—+—+—+—
+|*| | | | | |
—+—+—+—+—+—+—+—
+| |*|+|*| | |♟
—+—+—+—+—+—+—+—
+| | |♙| | |*|+
—+—+—+—+—+—+—+—
+|*| | | | | |
—+—+—+—+—+—+—+—
♙|♙|♙| |♙|♙|♙|♙
—+—+—+—+—+—+—+—
♖|♘|♗|♔|♕|♗|♘|♖
听起来你只是需要一个坐标转换系统来将象棋符号(e2)转换成数组位置(假设原点在左上角[4][6])我喜欢你制作的ASCII艺术:)你想让用户通过GUI实际移动还是仅仅显示它们?我需要UI引擎是用java编写的,但最终用户界面必须在android中,所以我想只要调用程序发送两个坐标,然后得到2D数组,然后再重新绘制电路板本身……进行一些动作,比如选择要移动的部件及其目的地,然后我将坐标传递给我的引擎,然后得到2D数组,然后重新绘制电路板,以备下次使用移动..这与问题有什么关系,您只是提供了另一个GUI。我希望它像普通的国际象棋游戏一样具有图形化,我可以选择一块棋子和一个目标点,获取坐标,并调用我的引擎获取2D数据并重新绘制。@Aquillo-它只是部分地进行了。@jrdnsingh89-您的调用。祝你好运,那么?你没有向OP提供他要求的任何重新绘制董事会的方法。