From b8c6e82f927f4c411ce1a0afd5b1983cee090cb2 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Tue, 17 Feb 2015 10:35:01 +0100 Subject: [PATCH] TP3A Ajout fichier IA --- S2/TP3/bataille_navale_ia.py | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 S2/TP3/bataille_navale_ia.py diff --git a/S2/TP3/bataille_navale_ia.py b/S2/TP3/bataille_navale_ia.py new file mode 100644 index 0000000..d935e5c --- /dev/null +++ b/S2/TP3/bataille_navale_ia.py @@ -0,0 +1,62 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +""" +TP AP1 +Licence SESI 1ère année +Univ. Lille 1 + +IA bataille navale + +""" + +__author__ = 'BEAUSSART Jean-loup & PREUD\'HOMME Geoffrey' +__date_creation__ = 'Mon, 16 Feb 2015 19:30:54 +0100' + +import bataille_navale as BN + +def jouerIA(nom, descr, niveau): + """ + str, str -> () + procédure de jeu complet de bataille navale, + le nom du joueur est donné par le paramètre nom, + et le jeu est décrit dans le fichier descr. + + CU : le fichier jeu doit exister et être conforme + à un fichier de description. + """ + jeu = BN.cree_jeu(descr) + BN.decrire_le_jeu(jeu) + nbre_tirs = 0 + res = False + 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) + if res == BN.RATE: + print("raté.") + elif res == BN.TOUCHE: + print(nav + " touché.") + else: + print(nav + " coulé.") + sauver_result(nom, descr, nbre_tirs) + print("Terminé en %d tirs" % nbre_tirs) + + +def choisir_tir(jeu, res, niveau): + niveaux = [chosir_tir_1] + fonction = niveaux[niveau - 1] + return fonction(jeu, res) + +def chosir_tir_1(jeu, res): + return (1, 1) # IA de malade mental + + +if __name__ == '__main__': + import sys + if len(sys.argv) != 4: + jouerIA('Pirate borgne', '1', 1) + else: + jouerIA(sys.argv[1], sys.argv[2], sys.argv[3]) \ No newline at end of file