[英]Move diagonally in 2d array
我有我的迷宫,可以往东北向西南方向走,但是我应该如何向北或向南移动。 如果可能的话,你们可以使用我的代码给我示例。 感谢它的4x4阵列。
用户界面
//Begin user dialog
System.out.println("Welcome");
input ="";
while(!input.equals("quit"))
{
System.out.println(map.rooms[row][col].name);
System.out.print(">");
input = scan.nextLine().toLowerCase();
switch (input) {
case "n":
if(map.rooms[row][col].isValidExit("n"))
row--;
else
System.out.println("You cant go that way");
break;
case "s":
if(map.rooms[row][col].isValidExit("s"))
row++;
else
System.out.println("You cant go that way");
break;
case "w":
if(map.rooms[row][col].isValidExit("w"))
col--;
else
System.out.println("You cant go that way");
break;
case "e":
if(map.rooms[row][col].isValidExit("e"))
col++;
else
System.out.println("You cant go that way");
break;
您需要进行字符解析
while(!input.equals("quit"))
{
System.out.println(map.rooms[row][col].name);
System.out.print(">");
input = scan.nextLine().toLowerCase();
char[] inputArray = input.toCharArray();
for(char c : inputArray){
switch (input) {
case "n":
if(map.rooms[row][col].isValidExit("n"))
row--;
else
System.out.println("You cant go that way");
break;
case "s":
if(map.rooms[row][col].isValidExit("s"))
row++;
else
System.out.println("You cant go that way");
break;
case "w":
if(map.rooms[row][col].isValidExit("w"))
col--;
else
System.out.println("You cant go that way");
break;
case "e":
if(map.rooms[row][col].isValidExit("e"))
col++;
else
System.out.println("You cant go that way");
break;
东北示例:
case "ne":
if(map.rooms[row][col].isValidExit("ne")) {
col++;
row--;
}
else {
System.out.println("You cant go that way");
}
break;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.