diff --git a/S2/TP3/bataille_navale_ia.py b/S2/TP3/bataille_navale_ia.py index e2210f7..20160ba 100644 --- a/S2/TP3/bataille_navale_ia.py +++ b/S2/TP3/bataille_navale_ia.py @@ -34,7 +34,6 @@ def jouerIA(nom, descr, niveau): while not BN.tous_coules(jeu): BN.afficher_jeu(jeu) # Décommenter pour une nouvelle fonctionalité tir = choisir_tir(jeu, res, niveau) - print('Tir chosi :', tir) nbre_tirs += 1 nav, res = BN.analyse_un_tir(jeu, tir) print(res) @@ -50,7 +49,9 @@ def jouerIA(nom, descr, niveau): def choisir_tir(jeu, res, niveau): niveaux = [choisir_tir_1, choisir_tir_2, choisir_tir_3] fonction = niveaux[niveau - 1] - return fonction(jeu, res) + tir = fonction(jeu, res) + print('Tir chosi :', tir) + return tir def choisir_tir_1(jeu, res): x = randint(0, jeu['plateau']['larg']) @@ -71,9 +72,36 @@ def choisir_tir_2(jeu, res): return (x, y) def choisir_tir_3(jeu, res): - x = randint(0, jeu['plateau']['larg']) - y = randint(0, jeu['plateau']['haut']) - return (x, y) + # Définition du mode + if 'ia' not in jeu: + jeu['ia'] = dict() + jeu['ia']['mode'] = 0 + print(type(res), res) + if type(res) == int: + if res == BN.COULE: + jeu['ia']['mode'] = 0 + elif res == BN.TOUCHE: + print('Again') + jeu['ia']['mode'] = 1 + + # Acteur + if jeu['ia']['mode'] == 1: # Si en mode recherche + print('DEBUG MODE RECHERCHE') + while 1: + x = randint(0, jeu['plateau']['larg']) + y = randint(0, jeu['plateau']['larg']) + coup = (x, y) + if coup not in jeu['coups_joues']: + break + else: # Si en mode aléatoire + while 1: + x = randint(0, jeu['plateau']['larg']) + y = randint(0, jeu['plateau']['larg']) + coup = (x, y) + if coup not in jeu['coups_joues']: + break + d_coup = coup + return coup if __name__ == '__main__': @@ -81,4 +109,4 @@ if __name__ == '__main__': if len(sys.argv) != 4: jouerIA('Pirate borgne', '1', 2) else: - jouerIA(sys.argv[1], sys.argv[2], sys.argv[3]) + jouerIA(sys.argv[1], sys.argv[2], int(sys.argv[3]))