From 45a24c4d733657d57024375cb9219725467b1699 Mon Sep 17 00:00:00 2001
From: "dario.genga" <dario.genga@etu.hesge.ch>
Date: Tue, 21 Dec 2021 14:40:18 +0100
Subject: [PATCH] Add random play

---
 main.c      | 21 +++++----------------
 puissance.c |  9 +++++++--
 2 files changed, 12 insertions(+), 18 deletions(-)

diff --git a/main.c b/main.c
index 85f11ce..8f572c6 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 18f0285..a00c0c8 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) {
-- 
GitLab