Advertisement
Guest User

Untitled

a guest
Apr 5th, 2020
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.32 KB | None | 0 0
  1. public static Maze loadMaze(final String path) {
  2.         Maze maze = new Maze();
  3.         int nrCam;
  4.         int nrUsi;
  5.         int roomCt=0;
  6.         int doorCt=0;
  7.        
  8.         System.out.println("a");
  9.         FileInputStream f = null;
  10.         try {
  11.         f = new FileInputStream(path);
  12.         }
  13.         catch (FileNotFoundException ex) {
  14.         ex.printStackTrace();
  15.         }
  16.         Scanner sc = new Scanner(f);
  17.        
  18.         nrCam=sc.nextInt();
  19.         nrUsi=sc.nextInt();
  20.        
  21.         Room[] camere=new Room[nrCam];
  22.         Door[] usi=new Door[nrUsi];
  23.         System.out.println("b");
  24.         while(sc.hasNext()){
  25.        
  26.         String linie= sc.nextLine();
  27.         String[] cuvinte=linie.split(" ");
  28.         System.out.println(linie);
  29.        
  30.         for(String a: cuvinte){
  31.             System.out.println(a);
  32.         }
  33.        
  34.         if(cuvinte[0]=="room"){
  35.             camere[roomCt]= new Room(parseInt(cuvinte[1]));
  36.            
  37.             for(int i=2;i<=5;i++){
  38.                 if(cuvinte[i].length()==4){
  39.                     if(i==2){
  40.                         camere[roomCt].setSide(Direction.North, new Wall());
  41.                     }
  42.                     if(i==3){
  43.                         camere[roomCt].setSide(Direction.South, new Wall());
  44.                     }
  45.                     if(i==4){
  46.                         camere[roomCt].setSide(Direction.East, new Wall());
  47.                     }
  48.                     if(i==5){
  49.                         camere[roomCt].setSide(Direction.West, new Wall());
  50.                     }
  51.                      
  52.                 }
  53.                
  54.                 if(cuvinte[i].length()==2){
  55.                     String[] litere=cuvinte[i].split("");
  56.                     int numUsa= parseInt(litere[3]);
  57.                    
  58.                     if(i==2){
  59.                         camere[roomCt].setSide(Direction.North, usi[numUsa]);
  60.                     }
  61.                     if(i==3){
  62.                         camere[roomCt].setSide(Direction.South, usi[numUsa]);
  63.                     }
  64.                     if(i==4){
  65.                         camere[roomCt].setSide(Direction.East, usi[numUsa]);
  66.                     }
  67.                     if(i==5){
  68.                         camere[roomCt].setSide(Direction.West, usi[numUsa]);
  69.                     }
  70.                    
  71.                    
  72.                    
  73.                    
  74.                 }
  75.             }
  76.            
  77.            
  78.             roomCt++;
  79.         }
  80.         System.out.println("c");
  81.         if(cuvinte[0]=="door"){
  82.             int camera1=parseInt(cuvinte[2]);
  83.             int camera2=parseInt(cuvinte[3]);
  84.             usi[doorCt]= new Door(camere[camera1],camere[camera2]);
  85.             if(cuvinte[4]=="close"){
  86.                 usi[doorCt].setOpen(false);
  87.             }
  88.             else{
  89.                 usi[doorCt].setOpen(true);
  90.             }
  91.             doorCt++;
  92.         }
  93.         }
  94.         System.out.println("d");
  95.        
  96.  
  97.         sc.close();
  98.        
  99.        for(Room r:camere) //adaug toate camerele formate in maze si setez camera de la care incepe punctu pe camera 2
  100.         {
  101.             maze.addRoom(r);
  102.         }
  103.         System.out.println("e");
  104.         maze.createGrid();
  105.         maze.setCurrentRoom(camere[0]);
  106.        
  107.         return maze;
  108.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement