From b348011b31e504c9ecea5e781bd8b2f3ba3ec356 Mon Sep 17 00:00:00 2001 From: Jean-Loup Beaussart Date: Tue, 17 Feb 2015 11:09:28 +0100 Subject: [PATCH 1/3] =?UTF-8?q?Tir=202=20on=20est=20aveugle=20mais=20pas?= =?UTF-8?q?=20trop=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]) From 86dad3f228313819768168e6be410b3e8454b851 Mon Sep 17 00:00:00 2001 From: Jean-Loup Beaussart Date: Tue, 17 Feb 2015 11:17:47 +0100 Subject: [PATCH 2/3] Suppression du test de debug --- S2/TP3/bataille_navale_ia.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/S2/TP3/bataille_navale_ia.py b/S2/TP3/bataille_navale_ia.py index 20160ba..e267b2e 100644 --- a/S2/TP3/bataille_navale_ia.py +++ b/S2/TP3/bataille_navale_ia.py @@ -61,10 +61,6 @@ def choisir_tir_1(jeu, res): def choisir_tir_2(jeu, res): 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']) From 4de937cd66a46f3011cceff0a29f3056b50f984c Mon Sep 17 00:00:00 2001 From: Jean-Loup Beaussart Date: Tue, 17 Feb 2015 11:31:17 +0100 Subject: [PATCH 3/3] DocString des IA 1 et 2 ;) --- S2/TP3/bataille_navale_ia.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/S2/TP3/bataille_navale_ia.py b/S2/TP3/bataille_navale_ia.py index e267b2e..72b2111 100644 --- a/S2/TP3/bataille_navale_ia.py +++ b/S2/TP3/bataille_navale_ia.py @@ -54,11 +54,17 @@ def choisir_tir(jeu, res, niveau): 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): + """ 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']: @@ -103,6 +109,6 @@ def choisir_tir_3(jeu, res): if __name__ == '__main__': import sys if len(sys.argv) != 4: - jouerIA('Pirate borgne', '1', 2) + jouerIA('Pirate borgne', '1', 3) else: jouerIA(sys.argv[1], sys.argv[2], int(sys.argv[3]))