nsi:tds:jeux:bataille_navale
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| nsi:tds:jeux:bataille_navale [2024/12/29 17:48] – [Lire, écrire] goupillwiki | nsi:tds:jeux:bataille_navale [2024/12/29 17:56] (Version actuelle) – [Mémoire des coups tirés] goupillwiki | ||
|---|---|---|---|
| Ligne 28: | Ligne 28: | ||
| <code python> | <code python> | ||
| - | def adresse_to_index(adresse: | + | def adresse_to_coords(adresse: |
| """ | """ | ||
| adresse: chaine comme " | adresse: chaine comme " | ||
| - | renvoie | + | renvoie la ligne et la colonne. |
| + | | ||
| """ | """ | ||
| </ | </ | ||
| Ligne 79: | Ligne 80: | ||
| ==== Lire, écrire ==== | ==== Lire, écrire ==== | ||
| - | On veut une fonction '' | + | On veut une fonction '' |
| Avec la grille précédente, | Avec la grille précédente, | ||
| Ligne 102: | Ligne 103: | ||
| ==== Coulé ==== | ==== Coulé ==== | ||
| - | On a besoin d'une fonction '' | + | On a besoin d'une fonction '' |
| * '' | * '' | ||
| * '' | * '' | ||
| Ligne 111: | Ligne 112: | ||
| Quand on tire sur une flotte, on veut savoir si on a touché et éventuellement si on a coulé. | Quand on tire sur une flotte, on veut savoir si on a touché et éventuellement si on a coulé. | ||
| - | Il faut donc une fonction '' | + | Il faut donc une fonction '' |
| * on précise en entrée la flotte de l' | * on précise en entrée la flotte de l' | ||
| * la fonction doit renvoyer deux booléens. Le premier indique si un navire est touché et le second indique si un navire est coulé. Par exemple, le retour '' | * la fonction doit renvoyer deux booléens. Le premier indique si un navire est touché et le second indique si un navire est coulé. Par exemple, le retour '' | ||
| Ligne 119: | Ligne 120: | ||
| <code python> | <code python> | ||
| - | touché, coulé = tir(grille, | + | touché, coulé = tir(grille, |
| # touché est True | # touché est True | ||
| # coulé est False | # coulé est False | ||
| Ligne 137: | Ligne 138: | ||
| ==== vide ==== | ==== vide ==== | ||
| - | On veut une fonction '' | + | On veut une fonction '' |
| ==== grille aléatoire ==== | ==== grille aléatoire ==== | ||
| Ligne 150: | 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é, |
| - | * ' | + | * ''1'' pour un tir qui a touché, |
| - | * ' | + | * ''2'' pour un coup à l'eau |
| Il faudrait donc maintenir cette grille à jour au cours de la partie. De plus, pour qu' | Il faudrait donc maintenir cette grille à jour au cours de la partie. De plus, pour qu' | ||
| Ligne 159: | Ligne 160: | ||
| def affichage_cible(cible): | def affichage_cible(cible): | ||
| SYMBOLES = " XO" | SYMBOLES = " XO" | ||
| - | result ="" | + | result =" |
| + | for i in range(TAILLE): | ||
| + | result += f" | ||
| for i, item in enumerate(cible): | for i, item in enumerate(cible): | ||
| - | | + | if i%TAILLE == 0: |
| - | | + | line = i//TAILLE |
| - | result += '\n' | + | result += "\n\n" |
| + | result += chr(line + 65) | ||
| + | result += " " + SYMBOLES[item] | ||
| return result | return result | ||
| </ | </ | ||
nsi/tds/jeux/bataille_navale.1735490910.txt.gz · Dernière modification : de goupillwiki
