TP3A Ajout fichier IA
This commit is contained in:
parent
b6910f6376
commit
b8c6e82f92
62
S2/TP3/bataille_navale_ia.py
Normal file
62
S2/TP3/bataille_navale_ia.py
Normal file
|
@ -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])
|
Reference in a new issue