Java 将2D数组转换为棋盘

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

我正在尝试做一个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 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提供他要求的任何重新绘制董事会的方法。