Java 二維陣列迷宮遊戲

2021-08-14 09:28:18 字數 2554 閱讀 5868

分析:

1.列印地圖 --- 二維陣列的遍歷

初始角標array[1][1]

結束角標array[1][9]

2.如何讓'0'走起來

通過修改橫縱角標達到讓'0'走起來的目的

如何碰到牆'#'不交換移動

可以先把要走位置的元素取出來判斷一下是否為牆'#'

是牆'#'進行交換移動,不是就不進行交換移動

3.迴圈輸入(迴圈的停止條件就是array[1][9] == ' ' --> array[1][9] == '0'

如果有明確的停止迴圈條件使用 while 迴圈比較方便

public

static

void main(string args) ,// 0 ----- x

,// 1

,// 2

,// 3

,// 4

,// 5

,// 6

,// 7

};// 列印地圖

printarray(array);

// 宣告要用的變數(起始角標、結束角標)

// 起始

int x = 1;

int y = 1;

// 結束

int ex = 1;

int ey = 9;

scanner scanner = new scanner(system.in);

while(array[ex][ey] != '0')

break;

case

"a":

// 判斷移動位置是否為牆

if (array[x][y - 1] != '#')

break;

case

"s":

// 判斷移動位置是否為牆

if (array[x + 1][y] != '#')

break;

case

"d":

// 判斷移動位置是否為牆

if (array[x][y + 1] != '#')

break;

default:

break;

}// 修改後再列印一遍地圖

printarray(array);

}system.out.println("恭喜你通關了!");

scanner.close();

}// 列印地圖的方法

public

static

void printarray(char array)

system.out.println();

}}

把迷宮寫成函式 在main函式中呼叫 並新增些功能 例如 過三關 和 計分

static scanner scanner = new scanner(system.in);

static

int num = 0;

public

static

void main(string args) ,// 0 ----- x

,// 1

,// 2

,// 3

,// 4

,// 5

,// 6

,// 7

};char array1 = ,// 0 ----- x

,// 1

,// 2

,// 3

,// 4

,// 5

,// 6

,// 7

};char array2 = ,// 0 ----- x

,// 1

,// 2

,// 3

,// 4

,// 5

,// 6

,// 7

};for (int i = 0; i < 3; i++)

}}// 列印地圖的方法

public

static

void printarray(char array)

system.out.println();

}}// 迴圈遊戲

public

static

void game(char array)

break;

case

"a":

// 判斷移動位置是否為牆

if (array[x][y - 1] != '#')

break;

case

"s":

// 判斷移動位置是否為牆

if (array[x + 1][y] != '#')

break;

case

"d":

// 判斷移動位置是否為牆

if (array[x][y + 1] != '#')

break;

default:

break;

}// 修改後再列印一遍地圖

printarray(array);

}system.out.println("恭喜你通關了!");

}

java二維陣列

定義二維陣列寫法1class numthree public static void main string args float numthree 定義乙個float型別的2維陣列 numthree new float 5 5 為它分配5行5列的空間大小 numthree 0 0 1.1f 通過下...

java二維陣列

定義二維陣列寫法1class numthree public static void main string args float numthree 定義乙個float型別的2維陣列 numthree new float 5 5 為它分配5行5列的空間大小 numthree 0 0 1.1f 通過下...

Java二維陣列

二維陣列靜態初始化 格式 陣列名 new 資料型別,一般都是定義和初始化同時進行 資料型別 陣列名 new 資料型別,例如 int arr new int,package hello public class test 利用for迴圈輸出陣列元素 for int i 0 i結果為 二維陣列動態初始化...