Want to create interactive content? It’s easy in Genially!

Get started free

BATAILLE NAVALE

nissrine lili

Created on May 30, 2023

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

Bataille Navale

Nissrine Liliyaje Maelle Duragrin

Sommaire:

  1. Bataille Navale : présentation du jeu
  2. Principe de l'algorithme
  3. Démarche à suivre
  4. Confrontations des idées
  5. Difficultés rencontrées
  6. Idées D'Amélioration
  7. Conclusion

Jeu inventé en 1931 par starex novelty co

Bataille Navale

  1. trouver et couler les bateaux adverses
  2. communiquant les coordonnées visées, composées d'une lettre puis d'un nombre

Premières idées/Objectifs

  • Construction du plateau
  • Construction des bateaux
  • Placement des bateaux par chaque joueurs
  • Tour à tour les joueurs tirent contre l'ennemi afin de trouver les bateaux
  • Afficher sur le plateau les tirs déjà effectués sur la grille
  • Afficher lorsqu'un bateau est coulé
  • Afficher lorsqu'un des joueurs gagnent
Ce sont là les étapes du jeu qui représentent chaque code à faire .

Construction du Plateau

  • "l" : la largeur maximale
  • "L" : la hauteur maximale du plateau de jeu
  • méthode spéciale "init" pour initialiser les attributs

class_Plateau

  • C_Mer = 0 : représente une case d'eau.
  • C_Bateau = 1 : représente une case contenant un bateau.
  • C_crash = 2 : représente une case contenant des débris après un tir.
  • C_Tir = 3 : représente une case où un tir a été effectué.
Résumé

class_Plateau : représente le terrain de jeu pour la bataille navale.

Construction du Plateau

fixercase

valeurcase

  • j : indice de ligne
  • k : indice de colonne
  • position [j][k]
  • où une case doit être fixée, et la "valeur" à fixer
  • j : indice de ligne
  • k : indice de colonne
  • position [j][k]
Résumé

la fonction "valeurCase" permet d'obtenir la valeur d'une case sur un plateau de jeu, tandis que la fonction "fixerCase" permet de fixer une valeur à une case sur le plateau de jeu.

Construction du Plateau

symboleDe

  • prend en paramètre une valeur "x"
  • Si "x" est égal à C_Mer ou C_Bateau "~" est renvoyé
  • Si "x" est égal à C_Tir "o" est renvoyé
  • Sinon, le caractère "x" est renvoyé, ce qui correspond à un bateau adverse
  • prend en paramètre un objet "P"

afficherPlateau

Résumé

la fonction "symboleDe" renvoie le caractère visuel correspondant à une valeur de case donnée, et la fonction "afficherPlateau" affiche le plateau de jeu en utilisant les caractères visuels retournés par la fonction "symboleDe".

Construction du Plateau

saisirEntier

DimensionPlateau

  • prend en paramètre un objet "P"
  • demander à l'utilisateur de saisir les dimensions du terrain
  • utilise la fonction "saisirEntier" pour contrôler la saisie de la largeur et de la hauteur du terrain.
  • prend en paramètres : inf : borne inférieure sup :borne supérieure
  • permet de saisir un entier contrôlé dans l'intervalle [binf..bsup]
  • affiche la question pour saisir l'entier dans cet intervalle et vérifie la saisie
  • prend en paramètre un objet "P"
  • initialise le plateau en attribuant la valeur C_Mer à toutes les cases du plateau en utilisant la fonction "fixerCase"

Initialiser Plateau

Placement des bateaux

  • P : un objet
  • nbt : le nombre de bateaux à placer

Placerbateaux

la fonction effectue les étapes suivantes : génère aléatoirement des indices de ligne "j" et de colonne "k" - Si la valeur de la case à la position [j][k] du plateau est égale à C_Mer = bateau peut être placé - Utilise la fonction "fixerCase" pour fixer la valeur C_Bateau à la case située à la position [j][k]

Résumé

La fonction place les bateaux sur le plateau de jeu de manière aléatoire

Placement des bateaux

class_Case

dansIntervalle

  • n :prend en paramètres un entier
  • a : une borne inférieure
  • b : une borne supérieure
  • retourne Vrai si "n" est dans l'intervalle, sinon elle retourne Faux

La classe "Case" est utilisée pour représenter une case avec les attributs "lig" et "col" qui indiquent la ligne et la colonne de la case

  • La fonction utilise la fonction "dansIntervalle" pour vérifier que les indices de ligne et de colonne de la case sont dans les bonnes plages

caseValide

Tirer contre l'ennemie

Faire_Tir

  • P : un objet
  • c : un objet

- initialise les coordonnées de la case (ligne , colonne) "c" à -1, -1 -tant que la case n'est pas valide sur le plateau la fonction demande à l'utilisateur de saisir la ligne et la colonne du tir - Si la case est valide , la boucle s'arrete

Résumé

La fonction est utilisée pour demander à l'utilisateur de saisir les coordonnées d'un tir

Confrontation de deux Méthodes:

Méthode 1

VS

Méthode 2

Méthode 1

Méthode 2

Résumé

Jouer

cette fonction réalise un jeu de bataille navale où l'utilisateur doit deviner les coordonnées des bateaux sur un terrain donné. Le jeu continue jusqu'à ce que tous les bateaux soient coulés, et le pourcentage de réussite est affiché à la fin du jeu

  • classe Terrain()
  • demanderTaille(P)
  • initialiserTerrain(P)
  • nombre de bateaux à trouver formule : (hauteur * largeur) // 5
  • mettreBateaux(tr, nbateaux)
  • afficherTerrain(P)
  • ntirs =0 et ncoules =0
  • demanderCaseTir(tr, c)
  • tirer(tr, c)
  • afficherTerrain(tr)
  • pourcentage de réussite calculé : (nbateaux * 100.0) / ntirs

code Toucher

Résumé

cette fonction permet d'afficher le nom du nom joueur qui a touché le bateau adverse.

Code vainqueur_trouver

Résumé

cette fonction permet d'afficher le nom du vainqueur en fin de partie.

Problèmes rencontrés

  • Fonctions pour placer les bateaux
  • Utilisations des fonctions et des classes
  • Dimensionner les bateaux

This paragraph is ready to hold stunning creativicdcxcxcccty, exphhjjeriences and stories.nsnsnsd,,d,d,d

Subtitle

Difficulté de la Méthode 1

  1. Imagination du code : comment créer un jeu Bataille navale
  2. Construction des différentes méthodes de la classe : difficulté à créer des méthodes valables en informatique qui fonctionnent

Difficulté de la Méthode 2 :

  1. créer une fonction qui permet de jouer avec différentes tailles de bateaux:

Idées D'Amélioration

- Création de différents niveaux de jeu: - Création d'un programme humain VS Ordinateur avec niveaux - Création d'un programme Humain VS Humain

Victoire >>> accès prochain niveau Défaite >>>Retour au niveau 1

Title 2

-Choix de niveau de jeu pour l'Humain face à l'ordinateur -Ordinateur capable de varier son niveau de difficulté

Option jeu en ligne

Conclusion

Merci