TP3 Mise en forme et rigueur

En gros, faire son chieur
This commit is contained in:
Geoffrey Frogeye 2015-02-16 19:19:28 +01:00
parent 22a63f7aeb
commit 7c59e138ac

View file

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