diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.core.runtime.prefs b/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..5a0ad22d2a76684139fad95f6b8d209c7cd0d078
--- /dev/null
+++ b/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/doc/sprint-5/README.md b/doc/sprint-5/README.md
index 7abc22ad717c5159f473374c323fcf306e85547c..41c707f2f190b8d6ec971772956b185210e02bfa 100644
--- a/doc/sprint-5/README.md
+++ b/doc/sprint-5/README.md
@@ -8,6 +8,9 @@ réalisation des événements
 réalisateur des cases procédurale
 
 ### Ce que nous allons faire durant le prochain sprint
-
+mise en place du brouillard de guerre 
+réalisation de l'interface
+mise en place du téléporteur
+mise en place du système d'items
 
 ## Rétro
\ No newline at end of file
diff --git a/doc/sprint-6/README.md b/doc/sprint-6/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4bf312c6372afd2a781cf75fd9b121f589b363f2
--- /dev/null
+++ b/doc/sprint-6/README.md
@@ -0,0 +1,14 @@
+# Sprint 5
+
+## Démo + Planification du sprint suivant
+
+### Ce que nous avons fait durant ce sprint
+mise en place du brouillard de guerre 
+réalisation de l'interface
+mise en place du téléporteur
+mise en place du système d'items
+
+### Ce que nous allons faire durant le prochain sprint
+Avoir un jeu un minimum fonctionnel avec l'ajout des camps, de la coronne sur la map
+
+## Rétro
\ No newline at end of file
diff --git a/doc/sprint-6/radiateur.jpg b/doc/sprint-6/radiateur.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..57389f92c49d9bf293fd4b4dfb455cafe71a552f
Binary files /dev/null and b/doc/sprint-6/radiateur.jpg differ
diff --git a/src/items/Crown.java b/src/items/Crown.java
index 33e2c3675db6bfc44c31f1daf51c5cc818126143..1c138dba9d3fdeb78a29c1896b6be881fac1d4a1 100644
--- a/src/items/Crown.java
+++ b/src/items/Crown.java
@@ -14,18 +14,18 @@ public class Crown extends Items{
 
 	@Override
 	public void usage(Joueur joueur) {
-		//TODO: premi�re version, tu prend la couronne tu gagne, ensuite faire de syst�me de r�cup et d'arriver au camp
-		if (this.getPower() != 0) {
-			joueur.setWin(true);
-			this.setPower(0);
-		}		
+		return;
 	}
 
 	@Override
-	public void recup(Joueur joueur) {
-		Unite unite = this.getItemCase().getUnite();
+	public void recup(Joueur joueur, Items item, Unite unite) {
+		
+		System.out.println(unite.toString());
 		this.setItemCase(null);
-		unite.setItem(this);
+		System.out.println(item.getName());
+		unite.setItem(item);
+		unite.setSymbol('♛');
+		unite.getPlateau().getCase(unite.getX(), unite.getY()).setItem(null);
 	}
 
 }
diff --git a/src/items/Items.java b/src/items/Items.java
index eddd6d333650645395c819961cc177629d055bb7..fbc82293b955c27117dd8daffc4924cf2b8b90b1 100644
--- a/src/items/Items.java
+++ b/src/items/Items.java
@@ -2,6 +2,7 @@ package items;
 
 import main.Case;
 import main.Joueur;
+import units.Unite;
 
 public abstract class Items {
 	private String name;
@@ -37,5 +38,5 @@ public abstract class Items {
 
 	public abstract void usage(Joueur joueur);
 	
-	public abstract void recup(Joueur joueur);
+	public abstract void recup(Joueur joueur, Items item,Unite unite);
 }
diff --git a/src/main/Case.java b/src/main/Case.java
index 373dcd6eb86b19cb31aa033c3d5d7aea6a107f25..b2c7ca80c9142f44dbc2e81641c43dca45ca1653 100644
--- a/src/main/Case.java
+++ b/src/main/Case.java
@@ -15,6 +15,7 @@ public class Case {
 	private Unite unite;
 	private int x;
 	private int y;
+	private boolean aEteVu;
 	
 	public Case(Type type) {
 		this.type = type;
@@ -80,14 +81,20 @@ public class Case {
 		if (!this.isDecouverte()) {
 			return "~ ";
 		}
+		else if (this.getItem() != null && this.getItem().getName().equalsIgnoreCase("crown")) {
+			return "♛ ";
+		}
 		else if (this.type == Type.GRASS) {
 			return ". ";
 		}
 		else if (this.type == Type.MOUNTAIN) {
-			return "Ѧ ";
+			return "m ";
 		}
 		else if (this.type == Type.FORT) {
-			return "♜ ";
+			return "♖ ";
+		}
+		else if (this.type == Type.CAMP) {
+			return "O ";
 		}
 		else { return "? ";}
 	}
diff --git a/src/main/Main.java b/src/main/Main.java
index f9afb918b1a1dafe86b7c651c8971f89e400292a..53f0fa036ae8fbec2d5a2cd87888430986c38857 100644
--- a/src/main/Main.java
+++ b/src/main/Main.java
@@ -7,36 +7,38 @@ import units.Paysant;
 public class Main {
 	private static Joueur winner = new Joueur("Winner");
 	private int actionPoint;
-	private static Plateau plateau = new Plateau();
+
 	public static void main(String[] args) {
-		/*Region[][] regions = new Region[6][6];
-		for(int i = 0; i<regions.length; i++) {
-			for(int j = 0; j<regions[i].length; j++) {
-				regions[i][j] = new Region();
-			}
-		}*/
+		/*
+		 * Region[][] regions = new Region[6][6]; for(int i = 0; i<regions.length; i++)
+		 * { for(int j = 0; j<regions[i].length; j++) { regions[i][j] = new Region(); }
+		 * }
+		 */
+
+		Plateau plateau = new Plateau();
+
 		int x = 11;
 		int y = 10;
 		
 
 		plateau.getCase(x, y).setUnite(new Paysant(x, y, plateau, winner));
+		winner.getArmee().get(0).getPlateau().getRegion(0,0).changeToCamp();
 		Affichage.affichage(plateau);
 		while(y<30) {
 		winner.getArmee().get(0).move(deplacement());
 		System.out.println('\n');
-		winner.getArmee().get(0).teleporte();
+		//winner.getArmee().get(0).teleporte();
 		Affichage.affichage(plateau);
 		}
-		Menu();
+		Menu(plateau);
 
 		plateau.getCase(12, 0);
 		Affichage.affichage(plateau);	
 		//Menu();
 	}
 	
-	public static void Menu () {
+	public static void Menu (Plateau plateau) {
 		int continuer= 2;
-		//System.out.print("Bienvenue dans Game of Crown, vous êtes actuellement sur le Menu !");
 		while(continuer != 3) {
 			while(continuer==2) {
 				continuer =Interface.start();
@@ -47,19 +49,20 @@ public class Main {
 			}
 		}
 	}
+
 	public static char deplacement() {
 		Scanner sc = new Scanner(System.in);
 		System.out.println("Veuillez choisir une direction");
 		while (!sc.hasNext("[zqsd]")) {
-		    System.out.println("Cette touche n'est pas acceptés, veuillez réessayer");
-		    sc.next();
+			System.out.println("Cette touche n'est pas acceptés, veuillez réessayer");
+			sc.next();
 		}
 		return sc.next().charAt(0);
 	}
-	
-	private Joueur Game (Joueur[] joueurs) {
+
+	private Joueur Game(Joueur[] joueurs) {
 		boolean gameEnd = false;
-		while(gameEnd){
+		while (gameEnd) {
 			for (Joueur currentPlayer : joueurs) {
 				setActionPoint(currentPlayer);
 				Tour(currentPlayer, actionPoint);
@@ -67,28 +70,29 @@ public class Main {
 		}
 		return getWinner();
 	}
-	
-	public void Tour (Joueur currentPlayer, int actionPoint) {
-		
+
+	public void Tour(Joueur currentPlayer, int actionPoint) {
+
 	}
-	
-	public void setActionPoint (int actionPoint) {
+
+	public void setActionPoint(int actionPoint) {
 		this.actionPoint = actionPoint;
 	}
-	
-	public void setActionPoint (Joueur currentPlayer) {
+
+	public void setActionPoint(Joueur currentPlayer) {
 		this.actionPoint = currentPlayer.getArmee().size() + (currentPlayer.getRoyaume().size() * 3);
 	}
-	
-	public int getActionPoint () {
+
+	public int getActionPoint() {
 		return this.actionPoint;
 	}
-	
-	public void setWinner (Joueur winner) {
-		Main.winner = winner;
+
+
+	public void setWinner(Joueur winner) {
+		this.winner = winner;
 	}
-	
-	public Joueur getWinner () {
-		return Main.winner;
+
+	public Joueur getWinner() {
+		return this.winner;
 	}
 }
diff --git a/src/main/Plateau.java b/src/main/Plateau.java
index 96d7a56ce0191f9e906f723db9d67ab676febe31..c9c05b50141f66cd6cd62de56b766dd55ae5f99d 100644
--- a/src/main/Plateau.java
+++ b/src/main/Plateau.java
@@ -1,9 +1,14 @@
 package main;
 
+import java.util.Random;
+
+import items.Crown;
+
 public class Plateau {
 	private Region[][] plateau;
 	
 	public Plateau() {
+		Random random = new Random();
 		this.plateau = new Region[6][6];
 		for (int i = 0; i < plateau.length; i++) {
 			for (int j = 0; j < plateau[0].length; j++) {
@@ -13,6 +18,9 @@ public class Plateau {
 				plateau[i][j].fillRegion();
 			}
 		}
+		int rd1 = (int)random.nextInt(10)+10;
+		int rd2 = (int)random.nextInt(30);
+		this.getCase(rd1, rd2).setItem(new Crown(this.getCase(0, 0)));
 	}
 	public Case getCase(int x, int y) {
 		return plateau[x/5][y/5].region[x%5][y%5];
diff --git a/src/main/Region.java b/src/main/Region.java
index 2bc804a88d4c3f049a8396077eb3310dc1851852..d467efbb1a4399c89707f0bb82e0c54abf4bf450 100644
--- a/src/main/Region.java
+++ b/src/main/Region.java
@@ -23,8 +23,8 @@ public class Region {
 				else {
 					region[i][j] = new Case(Type.GRASS);
 				}
-				region[i][j].setX(i * x);
-				region[i][j].setY(j * y);
+				region[i][j].setX(i + (x *5));
+				region[i][j].setY(j + (y *5));
 			}
 		}
 		int rd1 = (int)random.nextInt(5);
@@ -32,6 +32,15 @@ public class Region {
 		region[rd1][rd2].addEvents(new FortEvent());
 		region[rd1][rd2].setType(Type.FORT);
 	}
+	public void changeToCamp() {
+		for (int i = 0; i < region.length; i++) {
+			for (int j = 0; j < region[0].length; j++) {
+				if (region[i][j].getType()==Type.FORT) {
+					region[i][j].setType(Type.CAMP);
+				}
+			}
+		}
+	}
 	public void setX(int x) {
 		this.x = x;
 	}
diff --git a/src/main/Type.java b/src/main/Type.java
index 59fb26206d3636820dea9b4c1ef28b8e03aac2b6..bdfacc4ab2b794f54a2785d7d71be011f0b47d1e 100644
--- a/src/main/Type.java
+++ b/src/main/Type.java
@@ -1,5 +1,5 @@
 package main;
 
 public enum Type {
-	UNITE,GRASS, MOUNTAIN, VILLAGE, FORT;
+	UNITE,GRASS, MOUNTAIN, CAMP, FORT;
 }
diff --git a/src/units/Paysant.java b/src/units/Paysant.java
index dd7b0ffa72146075bb23f04a61dd54d965c5d964..f361b7e5fb16d3d4d09396d93d3af5b09304e6eb 100644
--- a/src/units/Paysant.java
+++ b/src/units/Paysant.java
@@ -11,7 +11,7 @@ public class Paysant extends Unite{
 	public static final int DAMAGE = 1;
 	public static final char SYMBOL = 'p';
 	public static final int PATOGIVE = 1;
-	public static final int VISION = 2;
+	public static final int VISION = 4;
 
 	public Paysant(int x, int y, Plateau plateau, Joueur joueur) {
 		super(x, y, plateau, SYMBOL, ARMOR, DAMAGE, joueur, VISION);
diff --git a/src/units/Unite.java b/src/units/Unite.java
index 7b1909b25a22617fd0f355c3f914a1450f35d39b..5303c5c3fb742feb344015febed73c75c352f2de 100644
--- a/src/units/Unite.java
+++ b/src/units/Unite.java
@@ -1,7 +1,9 @@
 package units;
 
+import java.util.List;
 import java.util.Random;
 
+import events.Evenements;
 import items.Items;
 import main.Case;
 import main.Joueur;
@@ -20,6 +22,8 @@ public abstract class Unite {
 	public static int generalId = 1;
 	private Joueur joueur;
 	private Items item;
+	private Type temp = Type.GRASS;
+	private Type temp2 = null;
 	
 	public Unite(int x, int y, Plateau plateau, char symbol, int armor, int damage, Joueur joueur, int vision) {
 		this.id = generalId;
@@ -113,54 +117,75 @@ public abstract class Unite {
 	}
 	
 	public boolean updatePosition(int x,int y) {
-		if(x>=0 && x<plateau.getPlateau().length*plateau.getRegion(0, 0).region.length && y>=0 && y<plateau.getPlateau().length*plateau.getRegion(0, 0).region.length ) {
-			this.plateau.getCase(x, y).setUnite(this);
-			this.plateau.getCase(x, y).setType(Type.UNITE);
-			
-			return true;
+		if(x>=0 && x<(plateau.getPlateau().length*plateau.getRegion(0, 0).region.length-1) && y>=0 && y<(plateau.getPlateau().length*plateau.getRegion(0, 0).region.length-1) ) {
+			if(this.plateau.getCase(x, y).getType() != Type.MOUNTAIN) {
+				temp2 = temp;
+				temp = this.plateau.getCase(x, y).getType();
+				this.plateau.getCase(x, y).setUnite(this);
+				System.out.println(temp);
+				this.plateau.getCase(x, y).setType(Type.UNITE);
+				if(this.plateau.getCase(x, y).getEvents().size() > 0){
+					List<Evenements> temp = this.plateau.getCase(x, y).getEvents();
+					for (Evenements evenements : temp) {
+						evenements.action(this.plateau.getCase(x, y));
+					}
+				}
+				return true;
+			}
 		}
 		return false;
 	}
 	//à voir le type
+	
+	public void updateItem() {
+		Case unitcase = plateau.getCase(x,y);
+		if(this.getItem() == null && unitcase.getItem() != null) {
+			unitcase.getItem().recup(joueur,unitcase.getItem(),this);
+		}
+	}
+	
 	public boolean move(char c) {
-		/*if(c=='s' && updatePosition(x+1,y))*/
 		
 		if(c == 's') {
-			if (plateau.getCase(x+1,y).getUnite() != null || plateau.getCase(x+1, y).getUnite().getJoueur() != this.joueur) {
+			/*if (plateau.getCase(x+1,y).getUnite() != null || plateau.getCase(x+1, y).getUnite().getJoueur() != this.joueur) {
 				//combat();
-			}
+			}*/
 			if (updatePosition(x+1,y)) {
 				this.plateau.getCase(x, y).setUnite(null);
-				this.plateau.getCase(x, y).setType(Type.GRASS);
+				this.plateau.getCase(x, y).setType(temp2);
 				this.x+=1;
 				updateDecouverte(this.plateau.getCase(x+1, y), this.vision);
+				updateItem();
 				return true;
 			}
 		}
 		else if(c == 'd') {
 			if (updatePosition(x,y+1)) {
 				this.plateau.getCase(x, y).setUnite(null);
-				this.plateau.getCase(x, y).setType(Type.GRASS);
+				this.plateau.getCase(x, y).setType(temp2);
 				this.y+=1;
 				updateDecouverte(this.plateau.getCase(x, y+1), this.vision);
+				updateItem();
 				return true;
 			}
 		}
 		else if(c == 'q') {
 			if (updatePosition(x,y-1)) {
 				this.plateau.getCase(x, y).setUnite(null);
-				this.plateau.getCase(x, y).setType(Type.GRASS);
+				this.plateau.getCase(x, y).setType(temp2);
 				this.y-=1;
 				updateDecouverte(this.plateau.getCase(x, y-1), this.vision);
+				updateItem();
 				return true;
 			}
 		}
 		else if(c == 'z') {
 			if (updatePosition(x-1, y)) {
 				this.plateau.getCase(x, y).setUnite(null);
-				this.plateau.getCase(x, y).setType(Type.GRASS);
+				this.plateau.getCase(x, y).setType(temp2);
 				this.x-=1;
 				updateDecouverte(this.plateau.getCase(x-1, y), this.vision);
+				updateItem();
 				return true;
 			}
 		}
@@ -184,37 +209,30 @@ public abstract class Unite {
 		this.y=rd2;
 	}
 	public void updateDecouverte (Case emplacement, int vision) {
-		System.out.println("" + emplacement.getX() + ", " + emplacement.getY());
-		if (emplacement.getX()+1 < this.plateau.getLength()) {	
-			if(this.plateau.getCase(emplacement.getX()+1, emplacement.getY()).isDecouverte()==false) {
+		if (vision > -1) {
+			if (emplacement.getX() < 29) {	
 				this.plateau.getCase(emplacement.getX()+1, emplacement.getY()).setDecouverte(true);
+				if (this.plateau.getCase(emplacement.getX()+1, emplacement.getY()).getType() != Type.MOUNTAIN) {
+					updateDecouverte(this.plateau.getCase(emplacement.getX()+1, emplacement.getY()), vision-1);
+				}
 			}
-			if (vision-- > -1) {
-				updateDecouverte(this.plateau.getCase(emplacement.getX()+1, emplacement.getY()), vision--);
-			}
-		}
-		if (emplacement.getY()-1 > -1) {
-			if(this.plateau.getCase(emplacement.getX(), emplacement.getY() -1).isDecouverte()==false) {
+			if (emplacement.getY() > 0) {
 				this.plateau.getCase(emplacement.getX(), emplacement.getY() -1).setDecouverte(true);
+				if (this.plateau.getCase(emplacement.getX(), emplacement.getY()-1).getType() != Type.MOUNTAIN) {
+					updateDecouverte(this.plateau.getCase(emplacement.getX(), emplacement.getY() -1), vision-1);
+				}
 			}
-			if (vision-- > -1) {
-				updateDecouverte(this.plateau.getCase(emplacement.getX(), emplacement.getY() -1), vision--);
-			}
-		}
-		if (emplacement.getY()+1 < plateau.getWidth()) {
-			if(this.plateau.getCase(emplacement.getX(), emplacement.getY() +1).isDecouverte()==false) {
+			if (emplacement.getY() < 29) {
 				this.plateau.getCase(emplacement.getX(), emplacement.getY() +1).setDecouverte(true);
+				if (this.plateau.getCase(emplacement.getX()+1, emplacement.getY()+1).getType() != Type.MOUNTAIN) {
+					updateDecouverte(this.plateau.getCase(emplacement.getX(), emplacement.getY() +1), vision-1);
+				}
 			}
-			if (vision-- > -1) {
-				updateDecouverte(this.plateau.getCase(emplacement.getX(), emplacement.getY() +1), vision--);
-			}
-		}
-		if (emplacement.getX()-1 > -1) {
-			if(this.plateau.getCase(emplacement.getX()-1, emplacement.getY()).isDecouverte()==false) {
+			if (emplacement.getX() > 0) {
 				this.plateau.getCase(emplacement.getX()-1, emplacement.getY()).setDecouverte(true);
-			}
-			if (vision-- > -1) {
-				updateDecouverte(this.plateau.getCase(emplacement.getX()-1, emplacement.getY()), vision--);
+				if (this.plateau.getCase(emplacement.getX()-1, emplacement.getY()).getType() != Type.MOUNTAIN) {
+					updateDecouverte(this.plateau.getCase(emplacement.getX()-1, emplacement.getY()), vision-1);
+				}
 			}
 		}
 	}