diff --git a/Makefile b/Makefile index 5b502e3..f016124 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ LIB_DIR = lib JAR = $(LIB_DIR)/* # main -all: $(MAIN_FILE) run +all: $(MAIN_FILE) run clean $(MAIN_FILE) : $(BIN_DIR)/$(MAIN_FILE).class diff --git a/src/Environnements/Map.java b/src/Environnements/Map.java index e60a3fe..d472eff 100644 --- a/src/Environnements/Map.java +++ b/src/Environnements/Map.java @@ -1,69 +1,80 @@ package Environnements; +import java.lang.Object; import java.util.Random; -public class Map{ - int longueur; - int largeur; - int nbMurs; - int frequencesFruits; - Object [][] grille; +import Item.Items; - public Map(int longueur,int largeur, int nbMurs,int frequencesFruits){ - this.largeur=largeur; - this.longueur=longueur; - this.nbMurs=nbMurs; - this.frequencesFruits=frequencesFruits; +public class Map { + private Object[][] grid; + private Random random; + + public int longueur; + public int largeur; + + public Map(long longueur, long largeur) { + this.longueur = (int)longueur; + this.largeur = (int)largeur; - grille=new Object[longueur][largeur]; + this.random = new Random(); - for (int i=0;i= 0 && x < grid[0].length && y >= 0 && y < grid.length) { + Object coordinate = grid[y][x]; + if (coordinate instanceof Items) { + return ((Items) coordinate).getName(); + } + } + return "Empty"; + } + + public String getStringGrid() { + StringBuffer stringGrid = new StringBuffer(); + + for(Object[] i : this.grid) { + for(Object value : i) { + stringGrid.append(value); + } + stringGrid.append("\n"); + } + + return stringGrid.toString(); + } + + public void addItems(Items[] items, int number) { + for(int i = 0; i<(items.length-1); i++) { + int value = this.random.nextInt(number); + number -= value; + randomize(items[i], value); + } + randomize(items[items.length-1], number); + } + + public Object[][] getGrid() { + return grid; + } + + public void ajoutBordure() { + for(int i = 0; i < this.grid.length; i++) { + for(int k = 0; k < this.grid[0].length; k++) { + if (i == 0 || i == this.grid.length - 1 || k == 0 || k == this.grid[0].length - 1) { + this.grid[i][k] = Items.MUR; + } } - System.out.println(); } } - // Réfléchir pour mettre plusieurs murs à des endroits différents - public void placeMur(){ //Positionner un mur défini aléatoirement sur la Map - Random r=new Random(); - int x=r.nextInt(this.longueur-1); // Le "-1" permet d'éviter les murs faisant déjà partie de - int y=r.nextInt(this.largeur-1); // la bordure de la Map - int L=r.nextInt(this.longueur-x); - int l=r.nextInt(this.largeur-y); + private void randomize(Items item, int number) { + for(int i = 0; i CoordinateSnake; private ArrayList effectsList; protected Personnage(int size, int[] coordinate) { this.coordinate = coordinate; this.size = size; } - + public int[] getCoordinate() { return coordinate; } diff --git a/src/personnages/Player.java b/src/personnages/Player.java index eea16c5..be388fa 100644 --- a/src/personnages/Player.java +++ b/src/personnages/Player.java @@ -5,26 +5,13 @@ public class Player extends Personnage { super(size, coordinate); } - public void moveCoordinate(int keys) { + public void changeCoordinate(int keys) { switch (keys) { - case 77: // w - this.coordinate[1]++; - break; - - case 73: // s - this.coordinate[1]--; - break; - - case 61: // a - this.coordinate[0]--; - break; - - case 64: // d - this.coordinate[0]++; - break; - - default: // autre - break; + case 77: Mouvement.HAUT.editCoordinate(coordinate); // w + case 73: Mouvement.BAS.editCoordinate(coordinate); // s + case 61: Mouvement.GAUCHE.editCoordinate(coordinate); // a + case 64: Mouvement.DROITE.editCoordinate(coordinate); // d + default: break; } } }