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'
# 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):
"""
@ -362,7 +370,6 @@ def tous_coules(jeu):
if __name__ == '__main__':
import sys
if len(sys.argv) != 3:
jouer('Jean Bart', '1')
else: