diff --git a/obj/affichage.o b/obj/affichage.o
index 999b43d7edff1a0c59337cf34a2ac0bbdd92d2c9..3985760b38e53f8f2a5586eabb8f5cc7d47e4510 100644
Binary files a/obj/affichage.o and b/obj/affichage.o differ
diff --git a/obj/main.o b/obj/main.o
index 598a18072a9f40b036a0464905ac57eea6164e30..2a10c6ea5675f17db156b156f9cb01760037e95a 100644
Binary files a/obj/main.o and b/obj/main.o differ
diff --git a/src/action.c b/src/action.c
index a73cb62b3560045a7081eb0a823332517e68da4b..286d76a58fc93f68a2f1a8e58f6a87d2714704fe 100644
--- a/src/action.c
+++ b/src/action.c
@@ -1,17 +1,32 @@
 #include<stdio.h>
 #include<stdlib.h>
 #include"tableau.h"
-void realiser(char action,pile **tableau,int N)
+#include"affichage.h"
+
+
+
+
+
+
+void realiser(char action,pile **tableau,int N,char *cases)
 {
+  char sel[4]="\0\0\0\0";
   switch (action){
-    case 'c' : 
-      printf("c");
+    case 'c' :
+      affichecouleur(tableau,N);
+      affichepile(cases,tableau,N);
+      printf("\nEntrez les coordonnées de la case à selectionner >");
+      scanf("%3s",sel);
+      if (sel[1] != '\0'){
+        strcpy(cases,sel);
+      }
       break;
     case 'd' :
       printf("d");
       break;
     case 'a' : 
       nettoyer(tableau,N);
+      printf("\n Vous allez quitter le jeu");
       exit(0);
       break;
     default : 
diff --git a/src/action.h b/src/action.h
index bd7fc22dba74bb488d98ed9fa27dd1e0f3b695b5..cc1c9b517a3a3715cfd09a216f48d9896d54a509 100644
--- a/src/action.h
+++ b/src/action.h
@@ -4,4 +4,4 @@
  * @assign
  * @ensure fait entrer dans le bon mode (abandon, selection ou déplacement)
  */
-void realiser(char action,pile **tableau,int N);
+void realiser(char action,pile **tableau,int N,char *cases);
diff --git a/src/affichage.c b/src/affichage.c
index 7f8a9d380b8738694c3466f01413ac4511982c2c..d3ebf40629ad32f169243b3e80e07e30bfba0438 100644
--- a/src/affichage.c
+++ b/src/affichage.c
@@ -63,3 +63,27 @@ void affichecouleur(pile **tableau, int N)
   }
   printf("\n");
 }
+
+void affichepion(char *pion,char *CASE)
+{
+  if (pion[1] == 'N')
+    printf(PNOIRE "%s %c " RESET,CASE, *pion);
+  else 
+    printf(PBLANCHE "%s %c " RESET,CASE, *pion);
+}
+
+void affichepile(char *sel,pile **tableau,int N)
+{ 
+  if (*sel == '\0' || strtol(sel+1,NULL,10)>N || strtol(sel+1,NULL,10)<1)
+    printf("Aucune case n'est sélectionnée.");
+  else {
+    printf("%s:\n",sel);
+    int i=N-strtol(sel+1,NULL,10),j=*sel-'A';
+    noeud* tmp=tableau[i][j].sommet; 
+    while (tmp != NULL){
+      affichepion(tmp->chaine,NOIR);
+      tmp=tmp->next;
+      printf("\n");
+    }
+  }
+}
diff --git a/src/affichage.h b/src/affichage.h
index d014779935b447b65660fc27ca4dd915370f63f1..71ddfc771be15f95610bc698c76cb2d2b25b9605 100644
--- a/src/affichage.h
+++ b/src/affichage.h
@@ -19,5 +19,17 @@ void affiche(pile **tableau, int N);
  */
 void affichecouleur(pile **tableau, int N);
 
+/*
+ * @require
+ * @assign
+ * @ensure affiche le pion en couleur
+ */
+void affichepion(char *pion,char* CASE);
+/*
+ * @require
+ * @assign
+ * @ensure affiche le contenu de la case/pile selectionnée
+ */
+void affichepile(char* sel, pile **tableau, int N);
 
 #endif
diff --git a/src/main.c b/src/main.c
index ee70efbc35e33e422429f236a843fee87f5b146b..8893657709a0b8c924479564465d17b88f56a3cb 100644
--- a/src/main.c
+++ b/src/main.c
@@ -10,17 +10,20 @@ int main(int argc, char **argv)
   if (argc != 1){
     N=strtol(argv[1],NULL,10);
   } 
-  
   pile **tableau=initialisation(N);
   empiler(tableau[0]+1,"RB");
   empiler(tableau[0], "RN");
   empiler(tableau[0]+2,"DB");
   empiler(tableau[0]+3,"DN");
+  empiler(tableau[0],"TB");
+  char action;
+  char sel[4]="\0\0\0\0";
   while (1){ 
-    char action;
     affichecouleur(tableau,N);
+    affichepile(sel,tableau,N);
+    printf("\n Entrez une action (c,d,a) >");
     scanf("%c",&action);
-    realiser(action,tableau,N);
+    realiser(action,tableau,N,sel);
   }
   nettoyer(tableau,N);
   return 0;
diff --git a/stackchess b/stackchess
index 3ff5910343ef0579d6d55db3db7dedd81c30aeb2..45f0baf8e2d22ac5db59ee1dd54bef98df9b5a8d 100755
Binary files a/stackchess and b/stackchess differ
diff --git a/test.c b/test.c
new file mode 100644
index 0000000000000000000000000000000000000000..cc0c5fb6851fde22624de27cba926fbfe9809306
--- /dev/null
+++ b/test.c
@@ -0,0 +1,8 @@
+#include<stdio.h>
+
+int main()
+{
+  char *sel="a";
+  printf("%s",sel+1);
+  return 0;
+}