diff --git a/.classpath b/.classpath
index e0e6526e3ded89337a532dec843a201cb3b592bc..4697753aa55735bd8df62ca3b9580f4b96c48707 100644
--- a/.classpath
+++ b/.classpath
@@ -3,6 +3,11 @@
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="test"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+		<attributes>
+			<attribute name="module" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 272e3b91d2da5619281ba19d380758998935673d..c7f863b738c131ca608effecafdaa9a807dc585f 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,12 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.7
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/src/events/CrownReceived.java b/src/events/CrownReceived.java
index 8bf4893e7341677cf5a029d2381727d1bab6e993..adc15df3b4e7073868ef651a0b48b58c7c6982d5 100644
--- a/src/events/CrownReceived.java
+++ b/src/events/CrownReceived.java
@@ -8,6 +8,7 @@ public class CrownReceived implements Evenements{
 		if(eventCase.getUnite().getItem().getName().equals("Crown")) {
 			Joueur joueur = eventCase.getUnite().getJoueur();
 			joueur.setWin(true);
+			System.out.println("vous avez gagné !!!!!!");
 		}
 	}
 	
diff --git a/src/events/FortEvent.java b/src/events/FortEvent.java
index 6d589be5fd006012f7d8a1fd65f68dcebf845355..1f9a8d259103e489beb1de17132c7c564512b449 100644
--- a/src/events/FortEvent.java
+++ b/src/events/FortEvent.java
@@ -9,17 +9,24 @@ import units.Unite;
 public class FortEvent implements Evenements{
 	
 	private Joueur owner = null;
-	private int fortDamage = 5;
+	private int fortDamage = 1;
 
 	public void action(Case eventCase) {
 		Joueur visiteur = eventCase.getUnite().getJoueur();
 		Unite uniteVisiteur = eventCase.getUnite();
-		if (eventCase.getType() == Type.FORT) {
+		
+		if (eventCase.getType() == Type.UNITE) {
+			
+			System.out.println("evenelent fort déclenché");
+			
 			if (owner == null) {
-				uniteVisiteur.setArmor(uniteVisiteur.getArmor()-fortDamage);
+				int armorTemp = uniteVisiteur.getArmor();
+				uniteVisiteur.setArmor(armorTemp-fortDamage);
 				if (Combattre.isAlive(uniteVisiteur)) {
 					owner = visiteur;
 					uniteVisiteur.getPlateau().getRegion(uniteVisiteur.getX(), uniteVisiteur.getY()).setProprietaire(visiteur);
+				}else {
+					eventCase.setType(Type.FORT);
 				}
 			}else if(owner.getNomJoueur().equals(visiteur.getNomJoueur())) {
 				System.out.println("Vous accupez maintenant votre fort !");
@@ -27,6 +34,7 @@ public class FortEvent implements Evenements{
 				owner = visiteur;
 				uniteVisiteur.getPlateau().getRegion(uniteVisiteur.getX(), uniteVisiteur.getY()).setProprietaire(visiteur);	
 			}
+			
 		}
 		
 	}
diff --git a/src/events/VillageEvent.java b/src/events/VillageEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..d6b24bf557155ff1938a0b37f0d629dc9bbb838b
--- /dev/null
+++ b/src/events/VillageEvent.java
@@ -0,0 +1,61 @@
+package events;
+
+import main.Case;
+import main.Joueur;
+import main.Scan;
+import main.Type;
+import units.Paysant;
+import units.Unite;
+
+public class VillageEvent implements Evenements{
+	
+	private Joueur owner = null;
+	
+	public void action(Case eventCase) {
+		Joueur visiteur = eventCase.getUnite().getJoueur();
+		Unite uniteVisiteur = eventCase.getUnite();
+		if (eventCase.getType() == Type.VILLAGE) {
+			System.out.println("1. Ne rien faire/n2. Piller village");
+			if (owner == visiteur) {
+				System.out.println("3. Enrôler paysan (5 Po)");
+			}
+			switch (Scan.readString()) {
+			case "1":
+				break;
+			case "2":
+				visiteur.setBanqueJoueur(visiteur.getBanqueJoueur() + 10);
+				eventCase.setPillage();
+				break;
+			case "3":
+				if (uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()+1).getUnite() == null && uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()+1).getType() != Type.MOUNTAIN) {
+					uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()+1).setUnite(new Paysant(eventCase.getX(), eventCase.getY()+1, uniteVisiteur.getPlateau(), visiteur));
+					visiteur.setBanqueJoueur(visiteur.getBanqueJoueur() -5);
+				}
+				else if (uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()-1).getUnite() == null && uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()-1).getType() != Type.MOUNTAIN) {
+					uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()-1).setUnite(new Paysant(eventCase.getX(), eventCase.getY()-1, uniteVisiteur.getPlateau(), visiteur));
+					visiteur.setBanqueJoueur(visiteur.getBanqueJoueur() -5);
+				}
+				else if (uniteVisiteur.getPlateau().getCase(eventCase.getX()+1, eventCase.getY()).getUnite() == null && uniteVisiteur.getPlateau().getCase(eventCase.getX()+1, eventCase.getY()).getType() != Type.MOUNTAIN) {
+					uniteVisiteur.getPlateau().getCase(eventCase.getX()+1, eventCase.getY()).setUnite(new Paysant(eventCase.getX()+1, eventCase.getY(), uniteVisiteur.getPlateau(), visiteur));
+					visiteur.setBanqueJoueur(visiteur.getBanqueJoueur() -5);
+				}
+				else if (uniteVisiteur.getPlateau().getCase(eventCase.getX()-1, eventCase.getY()).getUnite() == null && uniteVisiteur.getPlateau().getCase(eventCase.getX()-1, eventCase.getY()).getType() != Type.MOUNTAIN) {
+					uniteVisiteur.getPlateau().getCase(eventCase.getX()-1, eventCase.getY()).setUnite(new Paysant(eventCase.getX()-1, eventCase.getY(), uniteVisiteur.getPlateau(), visiteur));
+					visiteur.setBanqueJoueur(visiteur.getBanqueJoueur() -5);
+				}
+				else {
+					System.out.println("Il n'y a pas la place pour placer une unité autour ! Rendez l'argent !");
+				}
+				break;
+
+			default:
+				break;
+			}
+		}
+	}
+
+	public String getName() {
+		return "Village event";
+	}
+
+}
diff --git a/src/main/Case.java b/src/main/Case.java
index b2c7ca80c9142f44dbc2e81641c43dca45ca1653..09dceaea56680fab4ecdcda3b726526f316f1e33 100644
--- a/src/main/Case.java
+++ b/src/main/Case.java
@@ -15,7 +15,8 @@ public class Case {
 	private Unite unite;
 	private int x;
 	private int y;
-	private boolean aEteVu;
+	private boolean pille;
+	private int tempsDepuisPillage;
 	
 	public Case(Type type) {
 		this.type = type;
@@ -24,6 +25,26 @@ public class Case {
 		this.events = new ArrayList<Evenements>();
 		this.x = 0;
 		this.y = 0;
+		this.pille = false;
+		this.tempsDepuisPillage = 0;
+	}
+	public void setPillage() {
+		this.pille = true;
+		this.tempsDepuisPillage = 5;
+	}
+	public boolean getPille () {
+		return this.pille;
+	}
+	public void setPille (boolean pille) {
+		this.pille = pille;
+	}
+	public void decreaseTimePillage () {
+		if (this.tempsDepuisPillage == 0) {
+			setPille(false);
+		}
+		else {
+			this.tempsDepuisPillage--;
+		}
 	}
 	public void setX(int x) {
 		this.x = x;
@@ -78,6 +99,7 @@ public class Case {
 	}
 	
 	public String toString() {
+
 		if (!this.isDecouverte()) {
 			return "~ ";
 		}
@@ -88,14 +110,18 @@ public class Case {
 			return ". ";
 		}
 		else if (this.type == Type.MOUNTAIN) {
-			return "m ";
+			return "Ѧ ";
 		}
 		else if (this.type == Type.FORT) {
-			return "♖ ";
+			return "♜ ";
+			//return "♖ ";
 		}
 		else if (this.type == Type.CAMP) {
 			return "O ";
 		}
+		else if (this.type == Type.VILLAGE) {
+			return "V ";
+		}
 		else { return "? ";}
 	}
 }
diff --git a/src/main/Interface.java b/src/main/Interface.java
index e4ac55e248668c50a79a15a61b5f092552af9eb8..031edd296289f6cf0e943c9826d0ee8eb3c6e6af 100644
--- a/src/main/Interface.java
+++ b/src/main/Interface.java
@@ -3,59 +3,33 @@ package main;
 import units.Unite;
 
 public class Interface {
+	private static Affichage a = new Affichage();
 	private static int rep = 0;
-	public static void start() {
+	public static int start() {
 		System.out.println("Bienvenu sur Game of Crown"); 
 		System.out.println("Veuillez choisir l'une des trois options suivantes en tapant le numéro correspondant dans le terminal");
 		System.out.println("1: Commencer une partie");
 		System.out.println("2: Consulter les règles");
 		System.out.println("3: Quitter le jeu");
-		rep = Scan.scan(3);
-		if(rep==1) {
-			
-		}else if(rep==2) {
-			System.out.println("Le but du jeu est de prendre la couronne situé sur une case aléatoire \ndu terrain et de la ramener dans son camp ou de détruire l'armée de \nson adversaire");
-		}else if(rep==3) {
-			
-		}
+			rep = Scan.scan(3);
+			if(rep==2) {
+				System.out.println("\nLe but du jeu est de prendre la couronne situé sur une case aléatoire \ndu terrain et de la ramener dans son camp ou de détruire l'armée de \nson adversaire\n");
+			}
+			return rep;
 	}
 	public static void tourDeJeu(Plateau plateau, Joueur j1) {
 		rep =-1; 
-		Affichage.affichage(plateau);
+		a.affichage(plateau);
 		System.out.println("Choissisez l'unité que vous voulez déplacer");
-		for(int i = 0; i< j1.getArmee().size(); i++) {
-			System.out.println(i+": "+ j1.getArmee().get(1).toString());
-		}
-		Unite u =j1.getArmee().get((Scan.scan(j1.getArmee().size())));
-		System.out.println("vous pouvez...");
-		if(u.getX()>0) {
-			if(plateau.getCase(u.getX()-1, u.getY()).getUnite()!=null){
-				System.out.println("1: Combattre l'unité au-dessus");
-			}else {
-				System.out.println("1: Se déplacer vers le haut");
-			}
-		}
-		if(u.getX()<plateau.getPlateau().length*5) {
-			if(plateau.getCase(u.getX()+1, u.getY()).getUnite()!=null){
-				System.out.println("2: Combattre l'unité en bas");
-			}else {
-				System.out.println("2: Se déplacer vers le bas");
-			}
-		}
-		if(u.getY()<plateau.getPlateau().length*5) {
-			if(plateau.getCase(u.getX(), u.getY()+1).getUnite()!=null){
-				System.out.println("3: Combattre l'unité à droite");
-			}else {
-				System.out.println("3: Se déplacer vers la droite");
-			}
-		}
-		if(u.getY()>0) {
-			if(plateau.getCase(u.getX(), u.getY()-1).getUnite()!=null){
-				System.out.println("4: Combattre l'unité à gauche");
-			}else {
-				System.out.println("4: Se déplacer vers la gauche");
+		if(j1.getArmee().size()!=0) {
+			for(int i = 0; i< j1.getArmee().size(); i++) {
+				System.out.println(i+1 +": "+ j1.getArmee().get(i).toString());
 			}
+			Unite u =j1.getArmee().get(Scan.scan(j1.getArmee().size())-1);
+			u.move(Main.deplacement());
+			a.affichage(plateau);
+		}else {
+			System.out.println("Aucune unité disponible");
 		}
-		rep = Scan.scan(4);
 	}
 }
diff --git a/src/main/Main.java b/src/main/Main.java
index a2e631abf61d5829d9fb9fbedc6fbfb04cef03f1..8aae5ece2cf1b087f7c1abb42df5b22329bdbac9 100644
--- a/src/main/Main.java
+++ b/src/main/Main.java
@@ -9,8 +9,11 @@ public class Main {
 	private static Joueur joueur2 = new Joueur("Joueur 2", 25, 15);
 	private Joueur winner = null;
 	private int actionPoint;
+	static Main m = new Main();
 
 	public static void main(String[] args) {
+		Affichage a = new Affichage();
+		
 		/*
 		 * 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(); }
@@ -19,6 +22,7 @@ public class Main {
 
 		Plateau plateau = new Plateau();
 
+
 		plateau.getCase(joueur1.xCamp, joueur1.yCamp).setUnite(new Paysant(joueur1.xCamp, joueur1.yCamp, plateau, joueur1));
 		plateau.getCase(joueur2.xCamp, joueur2.yCamp).setUnite(new Paysant(joueur2.xCamp, joueur2.yCamp, plateau, joueur2));
 		joueur1.getArmee().get(0).getPlateau().getRegion(joueur1.xCamp-1,joueur1.yCamp-1).changeToCamp();
@@ -27,9 +31,11 @@ public class Main {
 		while(true!=false) {
 		joueur1.getArmee().get(0).move(deplacement());
 		//System.out.println(winner.getArmee().get(0).getPlateau().getRegion(0, 0).);
+
 		System.out.println('\n');
 		System.out.println(joueur1.getArmee().get(0).getX());
 		//winner.getArmee().get(0).teleporte();
+
 		Affichage.affichage(plateau);
 		
 		//joueur2.getArmee().get(0).move(deplacement());
@@ -42,9 +48,18 @@ public class Main {
 		//Affichage.affichage(plateau);	
 		//Menu();
 	}
-
-	public static void Menu() {
-		System.out.print("Bienvenue dans Game of Crown, vous êtes actuellement sur le Menu !");
+	
+	public void menu (Plateau plateau) {
+		int continuer= 2;
+		while(continuer != 3) {
+			while(continuer==2) {
+				continuer =Interface.start();
+			}
+			if(continuer !=3) {
+				continuer =2;
+				m.game(new Joueur[]{winner,null}, plateau);
+			}
+		}
 	}
 
 	public static char deplacement() {
@@ -57,19 +72,21 @@ public class Main {
 		return sc.next().charAt(0);
 	}
 
-	private Joueur Game(Joueur[] joueurs) {
+	private Joueur game(Joueur[] joueurs, Plateau plateau) {
 		boolean gameEnd = false;
-		while (gameEnd) {
+		while (!gameEnd) {
 			for (Joueur currentPlayer : joueurs) {
 				setActionPoint(currentPlayer);
-				Tour(currentPlayer, actionPoint);
+				Tour(currentPlayer, actionPoint, plateau);
 			}
 		}
 		return getWinner();
 	}
 
-	public void Tour(Joueur currentPlayer, int actionPoint) {
-
+	public void Tour(Joueur currentPlayer, int actionPoint, Plateau plateau) {
+		for(int i =0; i<actionPoint; i++) {
+			Interface.tourDeJeu(plateau, currentPlayer);
+		}
 	}
 
 	public void setActionPoint(int actionPoint) {
@@ -84,6 +101,7 @@ public class Main {
 		return this.actionPoint;
 	}
 
+
 	public void setWinner(Joueur winner) {
 		this.winner = winner;
 	}
diff --git a/src/main/Plateau.java b/src/main/Plateau.java
index 752a7d10a462e4da875ea6a63f2622b7928eb01d..53cfef0ceeee1ff3bc7b25cc22eaff31bc913fbe 100644
--- a/src/main/Plateau.java
+++ b/src/main/Plateau.java
@@ -18,9 +18,13 @@ 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)));
+		int rd1;
+		int rd2;
+		do {
+			rd1 = (int)random.nextInt(10)+10;
+			rd2 = (int)random.nextInt(30);
+			this.getCase(rd1, rd2).setItem(new Crown(this.getCase(0, 0)));
+		} while (this.getCase(rd1, rd2).getType() != Type.GRASS);
 	}
 	public Case getCase(int x, int y) {
 		return getRegion(x,y).region[x%5][y%5];
diff --git a/src/main/Region.java b/src/main/Region.java
index d467efbb1a4399c89707f0bb82e0c54abf4bf450..ee476552787ee92495d8cf4a2ea587ac1663f05e 100644
--- a/src/main/Region.java
+++ b/src/main/Region.java
@@ -2,7 +2,9 @@ package main;
 
 import java.util.Random;
 
+import events.CrownReceived;
 import events.FortEvent;
+import events.VillageEvent;
 
 public class Region {
 	public Case[][] region = new Case[5][5];
@@ -31,12 +33,20 @@ public class Region {
 		int rd2 = (int)random.nextInt(5);
 		region[rd1][rd2].addEvents(new FortEvent());
 		region[rd1][rd2].setType(Type.FORT);
+		int k = (int)random.nextInt(2);
+		for (int l = 0; l < k; l++) {
+			rd1 = (int)random.nextInt(5);
+			rd2 = (int)random.nextInt(5);
+			region[rd1][rd2].addEvents(new VillageEvent());
+			region[rd1][rd2].setType(Type.VILLAGE);
+		}
 	}
 	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);
+					region[i][j].addEvents(new CrownReceived());
 				}
 			}
 		}
diff --git a/src/main/Scan.java b/src/main/Scan.java
index e11ff9d6c984a70bc32afca610c2423e443878d5..08a571f34d36f3de963fec2be401368ef0025739 100644
--- a/src/main/Scan.java
+++ b/src/main/Scan.java
@@ -15,9 +15,32 @@ public class Scan {
 				System.out.println("Veuillez entrer un nombre entre 1 et " + nbOfQuestion);
 				sc.nextLine();
 			}
-		} while (res <= 0 || res > nbOfQuestion);		
-		sc.close();
+		} while (res <= 0 || res > nbOfQuestion);	
+		
 		return res;
 	}
+	
+	public static String readString() {
+		String res = "";
+		Scanner scanner = new Scanner(System.in);
+		res = scanner.nextLine();
+		scanner.close();
+		return res;
+	}
+	
+	public static String readString(String message) {
+		String res = "";
+		Scanner scanner = new Scanner(System.in);
+		System.out.println(message);
+		res = scanner.nextLine();
+		scanner.close();
+		return res;
+	}
+	
+	public static void clearScreen() {
+		for( int i = 0 ; i < 100; i++) {
+			System.out.println();
+		}
+	}
 
 }
diff --git a/src/main/Type.java b/src/main/Type.java
index bdfacc4ab2b794f54a2785d7d71be011f0b47d1e..9f0fb3e27d9a19afeccdf5a02fa53de2a056e92b 100644
--- a/src/main/Type.java
+++ b/src/main/Type.java
@@ -1,5 +1,5 @@
 package main;
 
 public enum Type {
-	UNITE,GRASS, MOUNTAIN, CAMP, FORT;
+	UNITE,GRASS, MOUNTAIN, CAMP, VILLAGE, FORT;
 }
diff --git a/src/units/Archer.java b/src/units/Archer.java
index 83586c1e38f552b1c144fdeb7b23de971db999ef..be192c95ce4b2aba157679f6c6e6faa1e4389b3e 100644
--- a/src/units/Archer.java
+++ b/src/units/Archer.java
@@ -7,7 +7,7 @@ public class Archer extends Unite{
 
 	public static final int ARMOR = 5;
 	public static final int DAMAGE = 5;
-	public static final char SYMBOL = 'A';
+	public static final char SYMBOL = 'Ð';
 	public static final int VISION = 2;
 	
 	public Archer(int x, int y, Plateau plateau, Joueur joueur) {
diff --git a/src/units/Chevalier.java b/src/units/Chevalier.java
index 583bfb0bc41f78e31b160f62530e0521a9d7b8dd..c469aaccdacef3ffe376bb7e9644ec0618f0f928 100644
--- a/src/units/Chevalier.java
+++ b/src/units/Chevalier.java
@@ -7,7 +7,7 @@ public class Chevalier extends Unite {
 	
 	public static final int ARMOR = 10;
 	public static final int DAMAGE = 5;
-	public static final char SYMBOL = 'C';
+	public static final char SYMBOL = '⚔';
 	public static final int VISION = 2;
 	
 	public Chevalier(int x, int y, Plateau plateau, Joueur joueur) {
diff --git a/src/units/Combattre.java b/src/units/Combattre.java
index 5fcf9f75895b0a0b0721bc3ab78fd6c7a21b424f..3778dab0f9d17368a96616b7f95d512afd6684a7 100644
--- a/src/units/Combattre.java
+++ b/src/units/Combattre.java
@@ -9,9 +9,7 @@ public class Combattre {
 			uniteDef.setArmor(uniteDef.getArmor()-uniteAttq.getDamage());
 			
 			if (isAlive(uniteDef)) {
-				//TODO: peut �tre mettre moins de d�gat pour l'unit� qui d�fend
 				uniteAttq.setArmor(uniteAttq.getArmor()-uniteDef.getDamage());
-				//TODO: attention au archer !
 				isAlive(uniteAttq);
 			}
 		}
diff --git a/src/units/Eclaireur.java b/src/units/Eclaireur.java
index 62aaeb6e6db81bec5623ebcfdaab96da03986d49..451122afcc6a67108952b379cc40cd6f9ec33bf0 100644
--- a/src/units/Eclaireur.java
+++ b/src/units/Eclaireur.java
@@ -7,7 +7,7 @@ public class Eclaireur extends Unite {
 	
 	public static final int ARMOR = 1;
 	public static final int DAMAGE = 0;
-	public static final char SYMBOL = 'E';
+	public static final char SYMBOL = '♞';
 	public static final int VISION = 2;
 	
 	public Eclaireur(int x, int y, Plateau plateau, Joueur joueur) {
diff --git a/src/units/Paysant.java b/src/units/Paysant.java
index f361b7e5fb16d3d4d09396d93d3af5b09304e6eb..613cb2dc9dc3c0b4e6496076f65865cdec64048b 100644
--- a/src/units/Paysant.java
+++ b/src/units/Paysant.java
@@ -9,9 +9,9 @@ public class Paysant extends Unite{
 	
 	public static final int ARMOR = 2;
 	public static final int DAMAGE = 1;
-	public static final char SYMBOL = 'p';
+	public static final char SYMBOL = '☭';
 	public static final int PATOGIVE = 1;
-	public static final int VISION = 4;
+	public static final int VISION = 1;
 
 	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 a40d44dc3c3b4ade2cc588d5da077f5ccc83b085..35b2860cfb9b60d848bb63752a2d681fb32a885b 100644
--- a/src/units/Unite.java
+++ b/src/units/Unite.java
@@ -219,6 +219,7 @@ public abstract class Unite {
 		this.plateau.getCase(x, y).setType(Type.GRASS);
 		this.x=rd1;
 		this.y=rd2;
+		updateDecouverte(this.plateau.getCase(rd1, rd2), this.vision);
 	}
 	public void updateDecouverte (Case emplacement, int vision) {
 		if (vision > -1) {
@@ -236,7 +237,7 @@ public abstract class Unite {
 			}
 			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) {
+				if (this.plateau.getCase(emplacement.getX(), emplacement.getY()+1).getType() != Type.MOUNTAIN) {
 					updateDecouverte(this.plateau.getCase(emplacement.getX(), emplacement.getY() +1), vision-1);
 				}
 			}