From 4969221f2360a809d4ec5c31eab3c399320bd539 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Thu, 4 Nov 2021 21:02:37 +0100 Subject: [PATCH] Adding args to the script --- README.md | 9 +++++---- minimax.py | 21 +++++++++++++++++++-- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 51d4791..fcb3f3c 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,9 @@ Implémentation d'un Morpion d'une taille variable aussi bien en hauteur qu'en l ## Usage ```bash -python3 minimax.py +python3 minimax.py ``` - -Pour éditer les noms des joueurs vous pouvez modifier la dernière ligne -> Attention le joueur ne doit être qu'un charactère. +Le programme s'adapte aux arguments données : + - Si un argument → Précisez la taille du tableau, exemple : `3x3`. + - Si deux arguments → Précisez le nom des deux joueurs qui vont jouer *(Un joueur = un charactère)*. + - Si trois arguments → Précisez alors la taille le nom des deux joueurs et la taille du tableau, en suivant les règles précédentes. diff --git a/minimax.py b/minimax.py index 637bb88..510ded9 100644 --- a/minimax.py +++ b/minimax.py @@ -1,4 +1,6 @@ -from math import sqrt, inf +import sys + +from math import sqrt from random import choice class Morpion(): @@ -269,5 +271,20 @@ if __name__ == "__main__": # Si on lance directement le fichier et on s'en sert -> Le nom du joueur B. -> Une taille de plateau (qui peut ne pas être identique, exemple : un plateau de 4x6). -> Les noms de joueurs ne peuvent être que des string de un seule charactère (pour que l'affichage soit jolie). + + -> le fichier s'adapte aux arguments données : + -> Si un argument : Précisez la taille du tableau, exemple : "3x3". + -> Si deux arguments : Précisez le nom des deux joueurs qui vont jouer (Rappel: un joueur = un charactère). + -> Si trois arguments : Précisez alors la taille le nom des deux joueurs et la taille du tableau, en suivant les règles précédentes. """ - Minimax().jouer() # On lance la partie à l'instanciation du Morpion + sys.argv.pop(0) + try: # on ne vérifie pas si la taille est bonne, en cas d'erreur on lance le programme avec les paramètres par défaut + if len(sys.argv) == 1: + Minimax(taille = tuple([int(i) for i in sys.argv[0].split('x')])).jouer() # On spécifie la taille du tableau + elif len(sys.argv) == 2: + Minimax(*sys.argv).jouer() # On spécifie les joueurs + else: + Minimax(sys.argv[0], sys.argv[1], tuple([int(i) for i in sys.argv[2].split('x')])).jouer() # On spécifie les joueurs et la taille du tableau + except Exception as e: + print(f"Un argument n'a pas été compris ({e})... Lancement du Morpion avec les paramètres par défaut.") + Minimax().jouer() # On lance la partie à l'instanciation du Morpion