Ich probier mich gerade selbst an einem kleinem Spiel, ich denke der größte Teil ist auch irrelevant, ich bräuchte nur mal jemanden mit nem freien Kopf, der mal drüber schaut, iwas muss mir da untergelaufen sein, was falsch ist... =/
Und zwar ist diese Methode dazu dar, ein Lvl zu initialisieren und zu prüfen, mir also eine Wiedergabe in der Konsole auszugeben, mehr nicht. Allerdings gibt es ein Problem bei :
dabei handelt es sich höchstwarscheinlich um :
[JAVA=31]chararray[j]=zeile[j].charAt(i);[/code]
ein Fehler hier, der Stringarray wurde mit [20] initialisiert und wird auch nur bis 19 inkrementiert, also eig. alles in Butter oder?! =(
Vllt übersehe ich noch was...
Ich schreib euch trotzdem nochmal alle relevanten daten von den restlichen Variablen die vorkommen:
[WR]boolean ihandler.blocks[20][20]
int ihandler.stage -kein array-
long ihandler.counter -kein array-
int lvl -kein array[/WR]
Wäre nett wenn mich jmd von meiner Hilflosigkeit erlösen könnte
Java:
void lvlcheck(int lvl){
int i=0,j=0;
ihandler.counter=0;
String[] zeile = new String[20];
for(i=0;i<=19;i++){
zeile[i]=null;
}
i=0;
char[][] chararray = new char[20][20];
FileReader fr = null;
try {
fr = new FileReader("lvl"+lvl+".txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BufferedReader br = new BufferedReader(fr);
for(j=0;j<=19;j++){
try {
zeile[j] = br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(i=0;i<=19;i++){
chararray[i][j]=zeile[j].charAt(i);
if (chararray[i][j]=='S'){
ihandler.xcor=(((i-1)*25)+75);
ihandler.ycor=(((j-1)*25)+105);
}
if (chararray[i][j]=='B'){
ihandler.blocks[i][j]=true;
}
else {
ihandler.blocks[i][j]=false;
ihandler.counter++;}
}
}
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Checking stage "+ ihandler.stage +"...\n");
for(i=0;i<=19;i++){
for(j=0;j<=19;j++){
if(ihandler.blocks[i][j]){
System.out.print("B");
}
else{
System.out.print("W");
}
}
System.out.println("");
}
}
Und zwar ist diese Methode dazu dar, ein Lvl zu initialisieren und zu prüfen, mir also eine Wiedergabe in der Konsole auszugeben, mehr nicht. Allerdings gibt es ein Problem bei :
Java:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 10
at java.lang.String.charAt(String.java:694)
at GUI.lvlcheck(Wischmob.java:107)
dabei handelt es sich höchstwarscheinlich um :
[JAVA=31]chararray[j]=zeile[j].charAt(i);[/code]
ein Fehler hier, der Stringarray wurde mit [20] initialisiert und wird auch nur bis 19 inkrementiert, also eig. alles in Butter oder?! =(
Vllt übersehe ich noch was...
Ich schreib euch trotzdem nochmal alle relevanten daten von den restlichen Variablen die vorkommen:
[WR]boolean ihandler.blocks[20][20]
int ihandler.stage -kein array-
long ihandler.counter -kein array-
int lvl -kein array[/WR]
Wäre nett wenn mich jmd von meiner Hilflosigkeit erlösen könnte