分析:
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結果為 二維陣列動態初始化...