diff --git a/S2/TP3/bataille_navale_ia.py b/S2/TP3/bataille_navale_ia.py index 60262e7..0c693fd 100644 --- a/S2/TP3/bataille_navale_ia.py +++ b/S2/TP3/bataille_navale_ia.py @@ -36,6 +36,7 @@ def jouerIA(nom, descr, niveau): tir = choisir_tir(jeu, res, niveau) nbre_tirs += 1 nav, res = BN.analyse_un_tir(jeu, tir) + print(res) if res == BN.RATE: print("raté.") elif res == BN.TOUCHE: @@ -45,7 +46,6 @@ def jouerIA(nom, descr, niveau): BN.sauver_result(nom, descr, nbre_tirs) print("Terminé en %d tirs" % nbre_tirs) - def choisir_tir(jeu, res, niveau): niveaux = [choisir_tir_1, choisir_tir_2, choisir_tir_3] fonction = niveaux[niveau - 1] @@ -53,15 +53,24 @@ def choisir_tir(jeu, res, niveau): print('Tir chosi :', tir) return tir - def choisir_tir_1(jeu, res): + """ dict, int -> (int, int) + IA de bas niveau, tire aléatoirement dans la grille + """ x = randint(0, jeu['plateau']['larg']) y = randint(0, jeu['plateau']['haut']) return (x, y) def choisir_tir_2(jeu, res): - x = randint(0, jeu['plateau']['larg']) - y = randint(0, jeu['plateau']['haut']) + """ dict, int -> (int, int) + IA moyenne, tire aléatoirement mais jamais deux fois au même endroit + """ + x,y= randint(1, jeu['plateau']['larg']), randint(1, jeu['plateau']['haut']) + + while (x,y) in jeu['coups_joues']: + x = randint(1, jeu['plateau']['larg']) + y = randint(1, jeu['plateau']['haut']) + return (x, y) def en_bonds(esp, c): @@ -109,6 +118,6 @@ def choisir_tir_3(jeu, res): if __name__ == '__main__': import sys if len(sys.argv) != 4: - jouerIA('Pirate borgne', '1', 1) + jouerIA('Pirate borgne', '1', 3) else: jouerIA(sys.argv[1], sys.argv[2], int(sys.argv[3]))