Référentiel

Bataille_Navale.py

Le célèbre jeu de la Bataille Navale.

Bataille_Navale.afficher_grille(tirs: list)

Fonction qui affiche proprement la grille des tirs à l’utilisateur.

Paramètres

tirs (list) – La grille des tirs

Bataille_Navale.afficher_grille_bateau(bateaux: list)

Fonction qui affiche proprement la grille des bateaux à l’utilisateur.

Paramètres

bateaux – La grille des bateaux

Bataille_Navale.ajoute_coord(x: int, y: int, bateau: str, joueur: str)

Fonction qui prend, en fonction du « joueur », ajoute les coordonnées « x » et « y » du « bateau » dans la liste coorespondante au bateau.

Paramètres
  • x (int) – Coordonnée en x

  • y (int) – Coordonnée en y

  • bateau (str) – Le bateau qui est placé

  • joueur (str) – Le joueur (“utilisateur” ou “ia”)

Bataille_Navale.bateau_possible(i: int, j: int, longueur: int, sens: int, grille: list)int

Fonction qui vérifie si, en fonction des propriétés du bateau renseigné (sens, longueur, …), si il est possible de placer ce bateau, et retoune 1 si c’est possible, et 0 si ça ne l’est pas.

Paramètres
  • i (int) – Le numéro de ligne

  • j (int) – Le numéro de colonne

  • longueur (int) – La longueur du bateau

  • sens (int) – Le sens du bateau à placer (1 pour horizontal et 2 pour vertical)

  • grille (list) – La grille où le bateau va être placé si possible

Renvoie

1 si le bateau peut être placé, et 0 sinon

Type renvoyé

int

Bataille_Navale.gagne()

Fonction qui affiche le message si l’utilisateur à gagné.

Bataille_Navale.initialiser_grille(symbole)list

Initialise une grille (matrice) de 10 lignes et 10 colonnes, remplie de l’élément « symbole », et retourne cette grille.

Paramètres

symbole (str, int, float...) – Le symbole qui remplira la grille

Renvoie

La grille crée

Type renvoyé

list

Exemple

>>> initialiser_grille(0)
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
>>> initialiser_grille(-1)
[[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1]]
Bataille_Navale.intro()

Fonction qui affiche l’introduction du jeu.

Bataille_Navale.jouer()

Fonction qui permet de jouer contre l’ordinateur. L’utilisateur tire, mais pas l’ordinateur.

Bataille_Navale.jouer_ia()

Fonction qui permet de jouer contre l’ordinateur. L’utilisateur et l’ordinateur ont une grille de bateaux, et tirent à tour de rôle.

Bataille_Navale.menu()

Fonction qui affiche le menu du jeu. Il permet de choisir son mode de jeu : - 1 pour jouer seul - 2 pour jouer contre l’ordinateur

Bataille_Navale.partie_finie(tirs: list)bool

Fonction qui vérifie si la partie est finie ou non, et retourne le résultat de ce test.

Paramètres

tirs (list) – La grille des tirs

Renvoie

Le résultat du test

Type renvoyé

bool

Bataille_Navale.placer_bateau_utilisateur(bateaux: list)list

Fonction qui remplie la grille “bateaux” et demande à l’utilisateur de placer ses bateaux, et retourne cette grille.

Paramètres

bateaux (list) – La grille qui servira à placer les bateaux (grille remplie de 0)

Renvoie

La même grille remplie

Type renvoyé

list

Bataille_Navale.placer_bateaux(i: int, j: int, bateau: str, sens: int, grille: list, joueur: str)list

Fonction qui va placer le bateau dans la grille correspondante (en fonction de l’utilisateur), et retourne cette grille.

Paramètres
  • i (int) – Le numéro de ligne

  • j (int) – Le numéro de colonne

  • bateau (str) – Le bateau à placer

  • sens (int) – Le sens du bateau à placer (1 pour horizontal et 2 pour vertical)

  • grille (list) – La grille où le bateau va être placé

  • joueur (str) – Le joueur (“utilisateur” ou “ia”)

Renvoie

La grille où le bateau a été placé

Type renvoyé

list

Bataille_Navale.placer_bateaux_aleatoirement(grille: list)list

Fonction qui prend une grille, et place les bateaux aléatoirement dessus, et retourne cette grille.

Paramètres

grille (list) – La grille où les bateaux doivent être placés

Renvoie

La grille remplie

Type renvoyé

list

Bataille_Navale.prochain_coup(tirs: list, joueur: str)tuple

Fonction qui, en fonction de l’utilisateur, lui demande le prohain tir si c’est l’utilisateur, ou un tir aléatoire si c’est l’ordinateur, et retourne les coordonnées de ce tir.

Paramètres
  • tirs (list) – La grille des tirs

  • joueur (str) – Le joueur (“utilisateur” ou “ia”)

Renvoie

Les coordonnées du tir

Type renvoyé

tuple

Bataille_Navale.resultat_tir(bateaux: list, ligne: int, colonne: int, joueur: str)int

Fonction qui, en fonction du tir, regarde le résultat de ce tir, et retourne 0 si c’est dans l’eau, 1 si c’est touché, et 2 si c’est coulé.

Paramètres
  • bateaux (list) – La grille des bateaux

  • ligne (int) – La ligne du tir

  • colonne (int) – La colonne du tir

  • joueur (str) – Le joueur (“utilisateur” ou “ia”)

Renvoie

Le résultat du tir

Type renvoyé

int

Bataille_Navale.tir_valide(tirs: list, ligne: int, colonne: int)bool

Fonction qui vérifie si le tir est valide, et retourne si c’est vrai ou non.

Paramètres
  • tirs (list) – La grille des tirs

  • ligne (int) – La ligne du tir

  • colonne (int) – La colonne du tir

Renvoie

Le résultat du test

Type renvoyé

bool

Bataille_Navale.tirer(bateaux: list, tirs: list, ligne: int, colonne: int, joueur: str)int

Fonction qui, en fonction du joueur, met à jour la grille des tirs en conséquence, et retourne la valeur inscrite dans la case (0 si tir dans l’eau, 1 si touché et 2 si coulé).

Paramètres
  • bateaux (list) – La grille des bateaux

  • tirs (list) – La grille des tirs

  • ligne (int) – La ligne du tir

  • colonne (int) – La colonne du tir

  • joueur (str) – Le joueur (“utilisateur” ou “ia”)

Renvoie

La valeur inscriste dans la case en fonction du résultat du tir

Type renvoyé

int