Want to create interactive content? It’s easy in Genially!
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:
- Bataille Navale : présentation du jeu
- Principe de l'algorithme
- Démarche à suivre
- Confrontations des idées
- Difficultés rencontrées
- Idées D'Amélioration
- Conclusion
Jeu inventé en 1931 par starex novelty co
Bataille Navale
- trouver et couler les bateaux adverses
- 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
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
- Imagination du code : comment créer un jeu Bataille navale
- 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 :
- 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