classes_joueurs = [] random_seed = -1 # si la plateforme le permet, lance la partie avec les IAs passees en parametre # exemples de lignes d'appel : # - duel entre 2 ia_random : python kb.py ia_random ia_random # - duel entre un joueur au clavier et ia_random : python kb.py ia_clavier ia_random try: import sys if not sys.platform in ("prizm", "nspire"): # any call to sys.argv makes KhiCAS immediately crash noms_joueurs = sys.argv[1:] for nom_joueur in noms_joueurs: try: random_seed = abs(int(nom_joueur)) except: classes_joueurs.append(__import__(nom_joueur).c_joueur) except: pass # si cela n'a pas ete possible ou si pas de parametres fournis # lance un duel entre plusieurs ia_random et eventuellement 1 ia_clavier # (ia_clavier etant une fausse IA pilotee au clavier) # editer manuellement ci-dessous pour remplacer ia_random par d'autres IAs if not len(classes_joueurs): nbr_joueurs = 0 while nbr_joueurs < 2: print("Nbr joueurs ? (>1)") try: nbr_joueurs = int(input()) except: pass nbr_humains = -1 while nbr_humains > nbr_joueurs or nbr_humains < 0: print("Nbr humains ? (0-{:d})".format(nbr_joueurs)) try: nbr_humains = int(input()) except: pass else: nbr_humains = 0 from kblibprv import * if random_seed < 0 : random_seed = randint(0, 2**29) print("Pour reproduire, plante la graine {:d}.".format(random_seed)) seed(random_seed) if not len(classes_joueurs): classes_joueurs = [] for k in range(nbr_joueurs): if k < nbr_humains: from ia_clavier import c_joueur as t_joueur else: from ia_random import c_joueur as t_joueur classes_joueurs.append(t_joueur) kb_partie(classes_joueurs, nbr_humains)