Outils pour utilisateurs

Outils du site


nsi:tds:jeux:bataille_navale

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nsi:tds:jeux:bataille_navale [2024/12/29 17:51] – [Coulé] goupillwikinsi:tds:jeux:bataille_navale [2024/12/29 17:56] (Version actuelle) – [Mémoire des coups tirés] goupillwiki
Ligne 80: Ligne 80:
 ==== Lire, écrire ==== ==== Lire, écrire ====
  
-On veut une fonction ''lire(grille:list, line:int, col:int) -> int'' qui pour une grille de jeu et une position donnée par sa ligne et sa colonne, renvoie le contenu de la case.+On veut une fonction ''%%lire(grille:list, line:int, col:int) -> int%%'' qui pour une grille de jeu et une position donnée par sa ligne et sa colonne, renvoie le contenu de la case.
  
 Avec la grille précédente, il faut que ''%%lire(grille, 1, 3)%%'' renvoie ''2''. Avec la grille précédente, il faut que ''%%lire(grille, 1, 3)%%'' renvoie ''2''.
Ligne 151: Ligne 151:
  
 Il est plus confortable pour le joueur de garder la trace des tentatives qu'il a effectuées. On pourrait alors entretenir une grille de même format que la précédente mais qui contiendrait : Il est plus confortable pour le joueur de garder la trace des tentatives qu'il a effectuées. On pourrait alors entretenir une grille de même format que la précédente mais qui contiendrait :
-  * '0' pour une case dans laquelle on n'a pas encore tiré, +  * ''0'' pour une case dans laquelle on n'a pas encore tiré, 
-  * '1' pour un tir qui a touché, +  * ''1'' pour un tir qui a touché, 
-  * '2' pour un coup à l'eau+  * ''2'' pour un coup à l'eau
  
 Il faudrait donc maintenir cette grille à jour au cours de la partie. De plus, pour qu'elle ait un intérêt, il faudrait prévoir une fonction d'affichage. Un affichage texte en console est tout à fait possible. Voici un exemple : Il faudrait donc maintenir cette grille à jour au cours de la partie. De plus, pour qu'elle ait un intérêt, il faudrait prévoir une fonction d'affichage. Un affichage texte en console est tout à fait possible. Voici un exemple :
Ligne 160: Ligne 160:
 def affichage_cible(cible): def affichage_cible(cible):
     SYMBOLES = " XO"     SYMBOLES = " XO"
-    result =""+    result =" 
 +    for i in range(TAILLE): 
 +        result += f"{i+1:02d}"
     for i, item in enumerate(cible):     for i, item in enumerate(cible):
-        result += SYMBOLES[item] +        if i%TAILLE == 0: 
-        if (i+1)%TAILLE == 0: # fin de ligne +            line = i//TAILLE 
-            result += '\n'+            result += "\n\n" 
 +            result += chr(line + 65) 
 +        result += " " + SYMBOLES[item]
     return result     return result
 </code> </code>
nsi/tds/jeux/bataille_navale.1735491074.txt.gz · Dernière modification : de goupillwiki