您好我正在嘗試在Java中構建一個小遊戲,但是我遇到了一些困難,我使用了一個多維數組並使用從0開始的數字填充它。 用戶選擇他們想要去的號碼,然後該號碼/單元格被應用到它,然後多維數組顯示在這裏是我的代碼(我是一個新手);多維數組遊戲 - Java
import java.util.*;
public class showMap{
private int rows;
private int columns;
private int counter = 0;
private int counter1 = 0;
private int sp1;
private int sp2;
private int passedval = 0;
public showMap(){
System.out.println("Enter Height");
Scanner input = new Scanner(System.in);
int i = input.nextInt();
System.out.println("Enter Width");
int x = input.nextInt();
showMap(createaMap(i,x));
System.out.println("You Start At 0");
System.out.println("Pick the number you want to go to");
passedval = input.nextInt();
//spliting(passedval);
showMap(createaMap(i,x));
}
public int[][] createaMap(int x,int y){
rows = x;
columns = y;
int[][] map = new int[rows][columns];
return map;
}
public int[][] showMap(int[][] maps)
{
if(passedval == 0)
{
for(int x=0;x<rows;x++)
{
for(int y=0;y<columns;y++)
{
maps[x][y] = counter;
counter++;
}
}
}else
{
for(int q=0;q<rows;q++)
{
for(int x=0;x<columns;x++)
{ //PROBLEM HERE!
if(maps[q][x] == passedval)
{
maps[q][x]= 00;
sp1 = q;
sp2 = x;
}
}
}
}
for(int q=0;q<rows;q++)
{
for(int x=0;x<columns;x++)
{
System.out.printf("%-2d",maps[q][x]);
System.out.print("|");
}
System.out.println("");
}
return maps;
}
}
想要它看起來像嗎?
O|1|2|3|4|
5|6|7|8|9|
選擇一個數字? - 1
O|00|2|3|4|
5|6|7|8|9|
好。你有什麼問題? – planetmaker
你的問題不是,你說的地方。首先。班級名稱以upercase字母開頭。第二,不要在構造函數中完成你的完整邏輯。第三:將你的方法分成小塊。你的showMap方法完成所有工作。做一個showMap方法(只顯示地圖),一個set0ToSelectedValue方法(這樣做),依此類推。然後你可以遍歷你的方法(直到cancelCondition)。顯示 - set0 - 顯示 - set0 - 顯示 - set0 ...取消 – griFlo