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
Nissrine Liliyaje Maelle Duragrin
Bataille Navale
- 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
Sommaire:
- trouver et couler les bateaux adverses
- 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
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
- 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 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