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/11 20:00] – goupillwiki | nsi:tds:jeux:bataille_navale [2024/12/29 17:56] (Version actuelle) – [Mémoire des coups tirés] goupillwiki | ||
|---|---|---|---|
| Ligne 15: | Ligne 15: | ||
| ===== Les ingrédients nécessaires ===== | ===== Les ingrédients nécessaires ===== | ||
| - | Tout d' | + | Tout d' |
| ==== La grille de jeu ==== | ==== La grille de jeu ==== | ||
| 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, |
| - | On veut une fonction '' | + | On veut une fonction '' |
| - | Par exemple, si avec la grille précédente, | + | Par exemple, si avec la grille précédente, |
| <code python> | <code python> | ||
| 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é, |
| - | * '-1' 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' |
| + | < | ||
| + | def affichage_cible(cible): | ||
| + | SYMBOLES = " XO" | ||
| + | result =" " | ||
| + | for i in range(TAILLE): | ||
| + | result += f" | ||
| + | for i, item in enumerate(cible): | ||
| + | if i%TAILLE == 0: | ||
| + | line = i//TAILLE | ||
| + | result += " | ||
| + | result += chr(line + 65) | ||
| + | result += " " + SYMBOLES[item] | ||
| + | return result | ||
| + | </ | ||
| ===== Tout mettre ensemble ===== | ===== Tout mettre ensemble ===== | ||
nsi/tds/jeux/bataille_navale.1733943602.txt.gz · Dernière modification : de goupillwiki
