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

Nissrine Liliyaje Maelle Duragrin

Bataille Navale

  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

Sommaire:

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

Jeu inventé en 1931 par starex novelty co

Bataille Navale

  • 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 .

Premières idées/Objectifs

Construction du Plateau

Résumé

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

  • "l" : la largeur maximale
  • "L" : la hauteur maximale du plateau de jeu
  • méthode spéciale "init" pour initialiser les attributs
  • 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é.

class_Plateau

Construction du Plateau

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

fixercase

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.

  • j : indice de ligne
  • k : indice de colonne
  • position [j][k]

valeurcase

Construction du Plateau

  • 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".

  • 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

symboleDe

Construction du Plateau

  • 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

  • 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.

DimensionPlateau

  • 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

saisirEntier

Placement des bateaux

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

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

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]

Placerbateaux

Placement des bateaux

  • 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

  • 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

dansIntervalle

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

class_Case

Tirer contre l'ennemie

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

Résumé
  • 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

Faire_Tir

Méthode 2

Méthode 1

VS

Confrontation de deux Méthodes:

Méthode 2

Méthode 1

  • 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

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

Résumé

Jouer

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

Résumé

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

Résumé

code Toucher

Code vainqueur_trouver

  • 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

Problèmes rencontrés

  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 1

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

Difficulté de la Méthode 2 :

Option jeu en ligne

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

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

- 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

Idées D'Amélioration

Title 2

Conclusion

Merci