diff --git a/S2/TP3/bataille_navale.py b/S2/TP3/bataille_navale.py index d7eeb51..d957c6b 100755 --- a/S2/TP3/bataille_navale.py +++ b/S2/TP3/bataille_navale.py @@ -17,7 +17,7 @@ http://fr.wikipedia.org/wiki/Bataille_navale_%28jeu%29 __author__ = 'BEAUSSART Jean-loup & PREUD\'HOMME Geoffrey' # TODO Metre à jour avant envoi -__date_creation__ = 'Tue, 10 Feb 2015 11:26:19 +0100' +__date_creation__ = 'Mon, 16 Feb 2015 19:18:54 +0100' ############################################### @@ -65,6 +65,7 @@ def jouer(nom, descr): à un fichier de description. """ jeu = cree_jeu(descr) + print(jeu) decrire_le_jeu(jeu) nbre_tirs = 0 while not tous_coules(jeu): @@ -114,24 +115,21 @@ def lire_donnees(num_descr): return (largeur, hauteur, navires) -# test OK -# print(lire_donnees('2')) +# Tests # print(lire_donnees('1')) -# +# print(lire_donnees('2')) +# print(lire_donnees('3')) # Fichier personnalisé -# Fichier personnalisé -# print(lire_donnees('3')) -# # Sauvegarde du bilan -# Question 1 -# print(datetime.today()) -# 2015-02-10 11:25:48.324981 -# On obtient la date et l'heure au format AAAA-MM-JJ HH:MM:S +# >>> datetime.today() +# datetime.datetime(2015, 2, 16, 19, 6, 17, 207811) +# On obtient la date et l'heure sous forme d'objet datetime -# str(datetime.today()) -# on convertie en chaîne de caractères la date et l'heure +# >>> str(datetime.today()) +# '2015-02-16 19:07:31.624846' +# On obtient la date et l'heure au format AAAA-MM-JJ HH:MM:SS.UUUUUU def sauver_result(nom, jeu, nbre): @@ -144,19 +142,17 @@ def sauver_result(nom, jeu, nbre): CU : aucune """ - date = str(datetime.today()) - with open(FICHIER_RESULT, 'a') as fichierScores: - fichierScores.write('%s:%s:%s:%s\n' % (nom, jeu, nbre, date)) + fichierScores.write(':'.join([nom, str(jeu), str(nbre), str(datetime.today())]) + '\n') -# sauver_result ('giouog', 2, 125) -# sauver_result ('nom', 52, 12) -# sauver_result ('gei', 1112, 12356) -# sauver_result ('fgt', 12, 1458) +# sauver_result('Pisitrate', 2, 125) +# sauver_result('Aristide', 52, 12) +# sauver_result('Caligula', 1112, 12356) +# sauver_result('Périclès', 12, 1458) ############################################### # Procédures de construction du jeu -############################################### +###############################################< def cree_jeu(descr): @@ -179,6 +175,7 @@ def cree_jeu(descr): CU : le fichier doit contenir une description correcte du jeu (cf lire_donnees) """ + donnees = lire_donnees(descr) nb_cases_occupees = 0 etats_navires = dict() @@ -188,6 +185,10 @@ def cree_jeu(descr): return {'plateau': cree_plateau(*donnees), 'nb_cases_occupees' : nb_cases_occupees, \ 'touches': {'nb_touches': 0, 'etats_navires': etats_navires}, 'coups_joues': set()} +# Tests +# print(cree_jeu('1')) +# print(cree_jeu('2')) +# print(cree_jeu('3')) def cree_plateau(l, h, l_nav): """ @@ -239,9 +240,9 @@ def est_placable(esp, nav, pos, disp): # Tests # espTest = {'larg': 4, 'haut': 3, (1, 2): 'grand', (2, 2): 'grand', (4, 1): 'petit'} # print(est_placable(espTest, ('Poutre', 3), (1, 1), 'H')) # True -# print(est_placable(espTest, ('Poutre', 3), (1, 1), 'V')) # False -# print(est_placable(espTest, ('Poutre', 3), (3, 1), 'V')) # True -# print(est_placable(espTest, ('Poutre', 3), (3, 2), 'V')) # False +# print(est_placable(espTest, ('Buche', 3), (1, 1), 'V')) # False +# print(est_placable(espTest, ('Règle', 3), (3, 1), 'V')) # True +# print(est_placable(espTest, ('Antenne', 3), (3, 2), 'V')) # False def placer(esp, nav): """ @@ -260,14 +261,13 @@ def placer(esp, nav): esp[c] = nav[0] return -# Test +# Tests # espTest2 = {'larg': 4, 'haut': 3} # placer(espTest2, ('grand', 2)) # placer(espTest2, ('petit', 1)) # print(espTest2) # Aléatoire - ############################################### # Procédures de déroulement du jeu ############################################### @@ -343,6 +343,14 @@ def analyse_un_tir(jeu, tir): jeu["coups_joues"].add(tir) return ('', RATE) +# Tests +# test = {'nb_cases_occupees': 3, 'plateau': {'haut': 3, (2, 3): 'grand', 'larg': 4, (2, 1): \ +# 'petit', (2, 2): 'grand'}, 'coups_joues': set((1, 2)), 'touches': {'etats_navires': {'grand': 2, \ +# 'petit': 1}, 'nb_touches': 0}} +# print(analyse_un_tir(test, (1, 1)) == ('', RATE)) +# print(analyse_un_tir(test, (1, 2)) == ('', RATE)) +# print(analyse_un_tir(test, (2, 2)) == ('grand', TOUCHE)) +# print(analyse_un_tir(test, (2, 1)) == ('petit', COULE)) def tous_coules(jeu): """ @@ -361,9 +369,8 @@ def tous_coules(jeu): ############################################### if __name__ == '__main__': - import sys - - if len (sys.argv) != 3: - jouer ('Jean Bart','1') - else: - jouer (sys.argv[1],sys.argv[2]) + import sys + if len(sys.argv) != 3: + jouer('Jean Bart', '1') + else: + jouer(sys.argv[1], sys.argv[2])