Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Maze loadMaze(final String path) {
- Maze maze = new Maze();
- int nrCam;
- int nrUsi;
- int roomCt=0;
- int doorCt=0;
- System.out.println("a");
- FileInputStream f = null;
- try {
- f = new FileInputStream(path);
- }
- catch (FileNotFoundException ex) {
- ex.printStackTrace();
- }
- Scanner sc = new Scanner(f);
- nrCam=sc.nextInt();
- nrUsi=sc.nextInt();
- Room[] camere=new Room[nrCam];
- Door[] usi=new Door[nrUsi];
- System.out.println("b");
- while(sc.hasNext()){
- String linie= sc.nextLine();
- String[] cuvinte=linie.split(" ");
- System.out.println(linie);
- for(String a: cuvinte){
- System.out.println(a);
- }
- if(cuvinte[0]=="room"){
- camere[roomCt]= new Room(parseInt(cuvinte[1]));
- for(int i=2;i<=5;i++){
- if(cuvinte[i].length()==4){
- if(i==2){
- camere[roomCt].setSide(Direction.North, new Wall());
- }
- if(i==3){
- camere[roomCt].setSide(Direction.South, new Wall());
- }
- if(i==4){
- camere[roomCt].setSide(Direction.East, new Wall());
- }
- if(i==5){
- camere[roomCt].setSide(Direction.West, new Wall());
- }
- }
- if(cuvinte[i].length()==2){
- String[] litere=cuvinte[i].split("");
- int numUsa= parseInt(litere[3]);
- if(i==2){
- camere[roomCt].setSide(Direction.North, usi[numUsa]);
- }
- if(i==3){
- camere[roomCt].setSide(Direction.South, usi[numUsa]);
- }
- if(i==4){
- camere[roomCt].setSide(Direction.East, usi[numUsa]);
- }
- if(i==5){
- camere[roomCt].setSide(Direction.West, usi[numUsa]);
- }
- }
- }
- roomCt++;
- }
- System.out.println("c");
- if(cuvinte[0]=="door"){
- int camera1=parseInt(cuvinte[2]);
- int camera2=parseInt(cuvinte[3]);
- usi[doorCt]= new Door(camere[camera1],camere[camera2]);
- if(cuvinte[4]=="close"){
- usi[doorCt].setOpen(false);
- }
- else{
- usi[doorCt].setOpen(true);
- }
- doorCt++;
- }
- }
- System.out.println("d");
- sc.close();
- for(Room r:camere) //adaug toate camerele formate in maze si setez camera de la care incepe punctu pe camera 2
- {
- maze.addRoom(r);
- }
- System.out.println("e");
- maze.createGrid();
- maze.setCurrentRoom(camere[0]);
- return maze;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement