diff --git a/main.c b/main.c
index 85f11cec0f5d77a91f21db5299b946e4e4e2e6bb..8f572c64f66ae177dfd863e038dbc4a7caffcfa0 100644
--- a/main.c
+++ b/main.c
@@ -5,31 +5,20 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <time.h>
 #include "puissance.h"
 
 int main() {
+    srand(time(NULL));
     puissance game;
 
     game_init(&game, RAND_AI, DEFAULT_ROW, DEFAULT_COL);
     print_game(game);
+    random_play(&game);
     print_game(game);
-    manual_play(&game, 0);
+    random_play(&game);
     print_game(game);
-    manual_play(&game, 4);
-    print_game(game);
-    manual_play(&game, 0);
-    print_game(game);
-    manual_play(&game, -1);
-    print_game(game);
-    manual_play(&game, 9);
-    print_game(game);
-    manual_play(&game, 0);
-    manual_play(&game, 0);
-    manual_play(&game, 0);
-    manual_play(&game, 0);
-    print_game(game);
-    manual_play(&game, 0);
-    manual_play(&game, 1);
+    random_play(&game);
     print_game(game);
 
     game_destroy(&game);
diff --git a/puissance.c b/puissance.c
index 18f02858f415e2a4f1bdecd333e49ea52d2da7d0..a00c0c89ded00745cb37f9e9ecf23f9a8b43e886 100644
--- a/puissance.c
+++ b/puissance.c
@@ -153,9 +153,14 @@ bool manual_play(puissance *p, int selected_col_index) {
 }
 
 bool random_play(puissance *p) {
-    bool valid_action = true;
+    int max = p->col - 1;
+    int min = 0;
+    int random_index = -1;
+    do {
+        random_index = rand() % (max - min + 1) + min;
+    } while(manual_play(p, random_index) == false);
 
-    return valid_action;
+    return true;
 }
 
 bool smart_play(puissance *p) {