作成:この1、基本的に私はゲームをしなければならないと私は、ファイルから読み込むことで部屋を作成する必要があります(ゲーム用)ファイルから読み込むことで部屋を
#
# 0 D room0.txt 0
# 1 E room1.txt 0
#
WWWW0WWWWW
W W
W W
W W
W W
W W W
W W W
W W W
W W 1
WWWWWWWWWW
「#」私はそれらの行をスキップすることができます(彼らはちょうど情報のためです)、そして "W"は壁を置くために必要な場所です、数字はドアのためのもので、空白は床です。
部屋を作成する最も良い方法は、ファイルを受け取り、それを読み込んで "情報"をString [10] [10]に入れ、別のメソッドを作成するメソッドを作成することですStringを受け取った[10] [10]が部屋を作成して部屋を作成します(部屋に画像を追加します)。しかし、ファイルを読み込むのが難しくなりました。ありがたく思う。
私はプログラムがこのライン上で実行したときに私が取得エラー:
(R [X] [Y] .equals( "W"))場合
君たちは別のクラスが必要な場合、ゲームがどのように表示されるべきか、または私が見せてくれたことを忘れた何かのイメージが私に知らせてくれて、助けてくれてありがとう。
public void generateRoom(File file){
if(file.exists()){
Scanner sc = null;
String[][] r = new String[10][];
int row = 0;
try {
sc = new Scanner(file);
String line = sc.nextLine();
while(sc.hasNextLine() && row < 10){
if(line.startsWith("#"))
sc.nextLine();
else{
String[] s0 = line.split("");
if(s0.length==10){
r[row]=s0;
row++;
}
}
}
for(int x = 0; x < 10; x++){
for(int y = 0; y < 10; y++){
if(r[x][y].equals("W"))
tiles.add(new Wall(new Position(x,y)));
if(r[x][y].equals("1") || r[x][y].equals("2"))
tiles.add(new Door(new Position(x,y)));
if(r[x][y].equals("0")){
tiles.add(new Door(new Position(x,y)));
hero.setPosition(new Position(x,y));
tiles.add(hero);
}
else tiles.add(new Floor(new Position(x,y)));
gui.newImages(tiles);
gui.update();
}
}
}catch (FileNotFoundException e) {
System.out.println("Ficheiro "+file.getAbsolutePath()+
" não existe. "); }
finally{
if(sc!=null)sc.close();
}
}
else
System.out.println("Ficheiro "+file.getAbsolutePath()+
" nã£o existe. ");
}
どのようなエラーが表示されますか? –
splitを空の区切り文字とともに使用しないでください。.getChars()を使用してください。 – Natecat