diff --git a/src/affichage.c b/src/affichage.c
index d2cd413129283cf347d60bd407813ec6a92318af..9f862e3dc4a8678d76b8c8b377ccec28a23ca920 100644
--- a/src/affichage.c
+++ b/src/affichage.c
@@ -675,7 +675,7 @@ int affichage_carte()
 {
     int i,j,y=0;
     int x=0;
-    int perso_actuel=1;
+    int perso_actuel=4;
     SDL_Event event;
     SDL_Surface* ecran=SDL_SetVideoMode(LARGEUR_CARTE*(LARGEUR_CASE)+LARGEUR_BORDURE, HAUTEUR_CARTE*(HAUTEUR_CASE+2), 32, SDL_HWSURFACE|SDL_DOUBLEBUF);;
     SDL_Surface* cases[HAUTEUR_CARTE][LARGEUR_CARTE];
diff --git a/src/deplacements.c b/src/deplacements.c
index a3c90bec23c431ba21457673abe4f1ee44ba958c..1aca01e4a65d73084c15320bfccd02890410d5e3 100644
--- a/src/deplacements.c
+++ b/src/deplacements.c
@@ -19,11 +19,16 @@
  */
 boolean case_a_cote(Personnage * perso, Case * destination){
     Case *depart = getPosition(perso);
+    int i;
+    printf("depart: %d, %d, arrivee: %d, %d",get_x(depart),get_y(depart),get_x(destination),get_y(destination));
     if (get_x(depart)>get_x(destination)+1||get_x(depart)<get_x(destination)-1||get_y(depart)>get_y(destination)+1||get_y(depart)<get_y(destination)-1){
         return faux;
     }
-    if (get_y(depart)==get_y(destination)+1&&get_x(depart)!=get_x(destination)){
-        return faux;
+    for(i=0;i<LARG_MAX_CARTE;i+=2){
+        if (get_y(depart)==get_y(destination)+1&&get_x(depart)!=get_x(destination)&&get_x(depart)==i+1)
+            return faux;
+        if (get_y(depart)==get_y(destination)-1&&get_x(depart)!=get_x(destination)&&get_x(depart)==i)
+            return faux;
     }
     return vrai;
 }