From b348011b31e504c9ecea5e781bd8b2f3ba3ec356 Mon Sep 17 00:00:00 2001 From: Jean-Loup Beaussart Date: Tue, 17 Feb 2015 11:09:28 +0100 Subject: [PATCH] =?UTF-8?q?Tir=202=20on=20est=20aveugle=20mais=20pas=20tro?= =?UTF-8?q?p=20quand=20m=C3=AAme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- S2/TP3/bataille_navale_ia.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/S2/TP3/bataille_navale_ia.py b/S2/TP3/bataille_navale_ia.py index 5199634..e2210f7 100644 --- a/S2/TP3/bataille_navale_ia.py +++ b/S2/TP3/bataille_navale_ia.py @@ -37,6 +37,7 @@ def jouerIA(nom, descr, niveau): print('Tir chosi :', tir) nbre_tirs += 1 nav, res = BN.analyse_un_tir(jeu, tir) + print(res) if res == BN.RATE: print("raté.") elif res == BN.TOUCHE: @@ -46,21 +47,27 @@ 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 = [chosir_tir_1, chosir_tir_2, chosir_tir_3] + niveaux = [choisir_tir_1, choisir_tir_2, choisir_tir_3] fonction = niveaux[niveau - 1] return fonction(jeu, res) - -def chosir_tir_1(jeu, res): +def choisir_tir_1(jeu, res): 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']) + x,y= randint(1, jeu['plateau']['larg']), randint(1, jeu['plateau']['haut']) + + if len(jeu['coups_joues']) >= jeu['plateau']['larg']*jeu['plateau']['haut']: + print('J\'ai tiré partout') + raise ValueError + + while (x,y) in jeu['coups_joues']: + x = randint(1, jeu['plateau']['larg']) + y = randint(1, jeu['plateau']['haut']) + return (x, y) def choisir_tir_3(jeu, res): @@ -72,6 +79,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', 2) else: jouerIA(sys.argv[1], sys.argv[2], sys.argv[3])