#!/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 from random import randint 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é.") 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] fonction = niveaux[niveau - 1] return fonction(jeu, res) def chosir_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']) return (x, y) def choisir_tir_3(jeu, res): x = randint(0, jeu['plateau']['larg']) y = randint(0, jeu['plateau']['haut']) return (x, y) 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])