Skip to content
Snippets Groups Projects
Commit c6e46712 authored by Carry Morgane's avatar Carry Morgane
Browse files

Board : constructeur par fichier ; Car : ajout de static pour l'Orientation

parent aa383fad
No related branches found
No related tags found
No related merge requests found
package model; package model;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Board { public class Board {
private int[][] board; private int[][] board;
private Car[] cars; private Car[] cars;
private Position exit; private Position exit;
public Board(int size, int nbcars){ public Board(int size, int nbcars){
initTab(size);
cars = new Car[nbcars];
}
private void initTab(int size){
board = new int[size][size]; board = new int[size][size];
for ( int i=0 ; i < size ; i++){ for ( int i=0 ; i < size ; i++){
for ( int j=0 ; j< size ; j++){ for ( int j=0 ; j< size ; j++){
board[i][j] = -1; board[i][j] = -1;
} }
} }
}
//filelevel : ligne 1 : taille
//ligne 2 : x et y de la sortie
//ligne 3 : nombre de voitures
//après : les voitures : xfront yfront xback yback
public Board(String filelevel) throws IOException{
BufferedReader br = new BufferedReader( new FileReader(filelevel) );
cars = new Car[nbcars]; int size = Integer.valueOf(br.readLine());
initTab(size);
String[]line2 = br.readLine().split(" ");
exit = new Position(Integer.valueOf(line2[0]), Integer.valueOf(line2[1]));
int car_number = Integer.valueOf(br.readLine());
cars = new Car[car_number];
String l = br.readLine();
int i = 0;
while(l != null){
String[] splitl = l.split(" ");
Position pos1 = new Position(Integer.valueOf(splitl[0]), Integer.valueOf(splitl[1]));
Position pos2 = new Position(Integer.valueOf(splitl[2]), Integer.valueOf(splitl[3]));
Car.Orientation or ;
if(splitl[4].equals("HORIZONTAL")){
or = Car.Orientation.HORIZONTAL;
} else {
or = Car.Orientation.VERTICAL;
}
cars[i] = new Car(i, pos1, pos2, or);
l = br.readLine();
i++;
}
} }
public boolean isSolved(){ public boolean isSolved(){
return board[exit.getX()][exit.getY()] == 0; return board[exit.getX()][exit.getY()] == 0;
} }
//getAllPossibleMoves(); //getAllPossibleMoves();
public int getSize() { public int getSize() {
return board.length; return board.length;
} }
public int getCarsNumber() { public int getCarsNumber() {
return cars.length; return cars.length;
} }
} }
...@@ -215,7 +215,7 @@ public class Car ...@@ -215,7 +215,7 @@ public class Car
return number; return number;
} }
public enum Orientation public static enum Orientation
{ {
HORIZONTAL, VERTICAL; HORIZONTAL, VERTICAL;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment