TP3 Mise en forme et rigueur
En gros, faire son chieur
This commit is contained in:
parent
22a63f7aeb
commit
7c59e138ac
|
@ -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])
|
||||||
|
|
Reference in a new issue