- schiebe4 hinzugefĆ¼gt
[schiebespiel.git] / load.java
blob625c8038dc87438df4ea9cca7865415f3b06841e
1 import java.io.*;
3 class load
5 public static void main(String[] argv)
7 load.loadKnoten("start_final");
10 public static Knoten loadKnoten(String datei)
12 Knoten k = new Knoten();
13 boolean field_unseen[][] = new boolean[5][4];
14 for(int x = 0; x < 5; ++x)
15 for(int y = 0; y < 4; ++y)
16 field_unseen[x][y] = true;
17 try
19 File textFile = new File(datei);
20 FileReader in = new FileReader(textFile);
21 int size=(int)textFile.length();
22 int read =0;
23 char data[]=new char[size];
24 while (read<size)
26 read =+ (byte)in.read(data,read,size-read);
28 in.close();
29 //System.out.println(new String(data)+"-" +size);
30 //System.out.println(new Integer(data[8])-48);
32 for (int y = 0; y < 4; ++y) {
33 for (int x = 0; x < 5; ++x) {
34 switch( data[ ((3-y) * 5 + x) * 2 ] ) {
35 case 'v':
36 if(field_unseen[x][y]) {
37 if(data[ ((3-y) * 5 + x + 1) * 2] == 'v') {
38 k.set_field(x,y,Knoten.vierer_lu);
39 k.set_field(x,y+1,Knoten.vierer_lo);
40 k.set_field(x+1,y+1,Knoten.vierer_ro);
41 k.set_field(x+1,y,Knoten.vierer_ru);
42 field_unseen[x+1][y] = false;
43 field_unseen[x+1][y+1] = false;
44 field_unseen[x][y] = false;
45 field_unseen[x][y+1] = false;
46 } else {
47 k.set_field(x,y,Knoten.vierer_ru);
48 k.set_field(x,y+1,Knoten.vierer_ro);
49 field_unseen[x][y] = false;
50 field_unseen[x][y+1] = false;
53 break;
54 case 'w':
55 if(field_unseen[x][y]) {
56 k.set_field(x, y,Knoten.zweier_links);
57 k.set_field(x+1,y,Knoten.zweier_rechts);
58 field_unseen[x][y] = false;
59 field_unseen[x+1][y] = false;
61 break;
62 case 's':
63 if(field_unseen[x][y]) {
64 k.set_field(x,y,Knoten.zweier_unten);
65 k.set_field(x,y+1,Knoten.zweier_oben);
66 field_unseen[x][y] = false;
67 field_unseen[x][y+1] = false;
69 break;
70 case 'e':
71 k.set_field(x,y,Knoten.einer);
72 field_unseen[x][y] = false;
73 break;
74 default:
75 break;
79 int count_leere = 0;
80 k.set_leere(2,-1,-1);
81 k.set_leere(3,-1,-1);
82 for(int x = 0; x < 5; ++x) {
83 for(int y = 0; y < 4; ++y) {
84 if(field_unseen[x][y]) {
85 k.set_field(x,y,Knoten.leer);
86 if(count_leere < 4) {
87 k.set_leere(count_leere, x, y);
88 count_leere++;
89 } else {
90 System.out.println("Zu viele leere Felder! Fehler beim Parsen");
96 catch (IOException ex) {ex.printStackTrace();}
98 /* System.out.println("Das kommt raus:\n" + k.toString()); */
100 return k;