[英]6x6 Chess with two dimensional array. Moving elements in an array. <JAVA>
這是老師給我們的作業。 它基本上是一個 6x6 國際象棋,有 5 個棋子:2x 矮人、1x 驢、1x 迷你槍、1x 皇后和 1x 國王。 棋子可以按以下順序移動:
矮人 - 一次向前一個方格。 當它碰到棋盤的另一端時,它開始按照相同的規則向后移動。
驢 - 任何方向的兩個方格,但每三步只有一次。
迷你槍- 左/右或上/下一個方格
女王 - 對角線一個正方形
國王 - 任何方向的一個正方形
我的問題是如何讓它們在這個數組中移動? 我知道這對你們大多數人來說可能很容易,但我仍在學習編碼(不是專門針對 java 而是完全沒有)。
public class TheONEChessGameYouNEVER_EXPECTED {
public static void main(String[] args) {
String[][] board = new String[6][6];
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++) {
board[i][j] = " ";
}
}
for (int i = 0; i < 5; i++){
for (int j = 1; j < 4; j++){
board[i][j] = " ";
}
}
// Dwarfs
board[0][0] = "wD1";
board[0][5] = "wD2";
board[5][0] = "bD1";
board[5][5] = "bD2";
// Machine-guns
board[0][4] = "wMG";
board[5][1] = "bMG";
// Donkeys
board[0][1] = "wDK";
board[5][4] = "bDK";
//Queens
board[0][2] = "wQN";
board[5][3] = "bQN";
// Kings
board[0][3] = "wKG";
board[5][2] = "bKG";
System.out.println(" ───────────────────────");
System.out.println("│" + board[0][0] + "│" + board[0][1] + "│" + board[0][2] + "│" + board[0][3] + "│" + board[0][4] + "│" + board[0][5] + "│");
System.out.println("-------------------------");
System.out.println("│" + board[1][0] + "│" + board[1][1] + "│" + board[1][2] + "│" + board[1][3] + "│" + board[1][4] + "│" + board[1][5] + "│");
System.out.println("-------------------------");
System.out.println("│" + board[2][0] + "│" + board[2][1] + "│" + board[2][2] + "│" + board[2][3] + "│" + board[2][4] + "│" + board[2][5] + "│");
System.out.println("-------------------------");
System.out.println("│" + board[3][0] + "│" + board[3][1] + "│" + board[3][2] + "│" + board[3][3] + "│" + board[3][4] + "│" + board[3][5] + "│");
System.out.println("-------------------------");
System.out.println("│" + board[4][0] + "│" + board[4][1] + "│" + board[4][2] + "│" + board[4][3] + "│" + board[4][4] + "│" + board[4][5] + "│");
System.out.println("-------------------------");
System.out.println("│" + board[5][0] + "│" + board[5][1] + "│" + board[5][2] + "│" + board[5][3] + "│" + board[5][4] + "│" + board[5][5] + "│");
System.out.println(" ───────────────────────");
}
}
根據我從您的問題中了解到的情況,我的回答是
您可以創建一個值為 0 的 6x6 數組,並為每個部分賦予一個值,例如 dwarf:1, donkey:2, so n so。
當你想移動時,只需根據數組的索引值移動它們,例如,如果皇后在 arr[1][3] 中,它可以移動到 arr[0][2]、arr[0][4]、 arr[2][2] 和 arr[2][4]。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.