kaasharrys
Messages postés1Date d'inscriptionlundi 28 décembre 2015StatutMembreDernière intervention28 décembre 2015
-
Modifié par ^Abel^ le 29/12/2015 à 08:25
Bonjour je suis un jeune programmeur sur matlab j'aimerais realisé le jeu bataille navale sur matlab comme projet j ai l algorithme mais je ne sais pas trop comment le transformé sur matlab merci de bien vouloir m aider
ALGORITHME DE LA BATAILLE NAVALE
Menu()
Placer()
Jouer()
Sauv()
Charger()
Main()
Variables globales :
Var
i, j, lig, col : entier
tabbat : tableau[1..10][1..10] de chaîne de caractère
grille : tableau[1..10][1..10] de chaîne de caractère
tablet : tableau[1..9][1..2] de chaîne de caractère
let : chaîne de caractère
Procédure Menu()
Début
Afficher(« Bataille Navale »)
Afficher(« 1 : Placer les bâteaux »)
Afficher(« 2 : Afficher la solution »)
Afficher(« 3 : Jouer »)
Afficher(« 4 : Sauvegarder »)
Afficher(« 5 : Charger »)
Afficher(« 0 : Quitter »)
Fin
Procédure Placer()
Var
loc1, loc2, value : entier
Début
Afficher(« Entrez la taille de la grille de jeu (un carré) ? »)
Lire(lig)
Lig = col
Si lig<2 ou lig>9 alors
Ttque lig<2 ou lig>9 faire
Afficher(« Taille incorrecte »)
Afficher(« Ressaisir la taille (un carré) « )
Lire(lig)
Col=lig
Fttque
Fin si
Pour i de 1 à lig faire
Pour j de 1 à col faire
tabbat[i][j]= “.”
Fpour
Fpour
Pour i de 1 à lig faire
Pour j de 1 à col faire
grille[i][j]= “.”
Fpour
Fpour
Afficher(« Fin de création de la grille.»)
Value=col*lig/6
Si value<2 alors
Value=2
Fin si
Si value>9 alors
Value=10
Fin si
Pour i de 1 à value faire
loc1=(rand()%lig)+1
loc2=(rand()%col)+1
Ttque tabbat[loc1][loc2]= « X » faire
loc1=(rand()%lig)+1
loc2=(rand()%col)+1
Fttque
Tabbat[loc1][loc2]= « X »
Fpour
Afficher(« Fin de création des bateaux. »)
Pour i de 1 à 9 faire
tablet[i][1]=i
tablet[i][2]= «A» +I-1
Fpour
Si nbbat<>nbtouch alors
Pour i de 1 à lig faire
Let= « A »+i-1
Afficher(“ “,let)
Fpour
Pour i de 1 à lig faire
Afficher(saut de ligne ,i)
Pour j de 1 à col faire
Afficher(« » , grille[i][j])
Fpour
Afficher(saut de ligne)
Fpour
Afficher(«Ecrire la coordonnée (ex : A1) »)
Lire(sailocchar)
Si sailocchar<> « Q » alors
Lire(sailoc1)
Pour i de 1 à lig faire
Si sailocchar = tablet[i][2] alors
sailoc2=tablet[i][1]
Fsi
Fpour
Si sailoc1>0 et sailoc2>0 et sailoc1<=lig et sailoc2<=col et sailocchar<= “I” alors
Si tabbat[sailoc1][sailoc2]= « . » alors
grille[sailoc1][sailoc2]= « O »
Afficher(«Loupé ! »)
Sinon
Si tabbat[sailoc1][sailoc2]= « X » alors
grille[sailoc1][sailoc2]= « + »
Afficher(«Touché ! »)
Fsi
Fsi
Sinon
Afficher(«Erreur de choix veuillez ressaisir »)
Fsi
Fsi
Sinon
Afficher(«Victoire vous avez tous les navires ennemis. »)
Afficher(«Veuillez réinitialiser une nouvelle partie. »)
Sailocchar= « Q »
Fsi
Jusqu’à sailocchar<> « Q »
Procédure Sauv()
Var
score : FICHIER
Début
OUVRIR(score, « score.txt », « écriture »)
Pour i de 1 à lig faire
Pour j de 1 à col faire
ECRIRE(score, tabbat[i][j])
Fpour
ECRIRE(score, passageligne)
Fpour
Pour i de 1 à lig faire
Pour j de 1 à col faire
ECRIRE(score, grille[i][j])
Fpour
ECRIRE(score, passageligne)
Fpour
FERMER(score)
Afficher(« Partie sauvegarder avec succès »)
Fin
Procédure Charger()
Var
varcb : caractère
score : FICHIER
Début
i=0
j=0
OUVRIR(score, « score.txt », « lecture »)
Si score= « NULL » alors
Afficher(« Fichier inexistant : score.txt »)
Sinon
Ttque finfichier(score)=FAUX faire
i=i+1
LIRE(score, varcb)
Fttque
Lig=(Racine carré de (i/2)
Col==(Racine carré de (i/2)
Fsi
FERMER(score)
OUVRIR(score, « score.txt », « lecture »)
Pour i de 1 à lig faire
Pour j de 1 à col faire
LIRE(tabbat[i][j])
Fpour
LIRE(score,passageligne)
Fpour
Pour i de 1 à lig faire
Pour j de 1 à col faire
LIRE(grille[i][j])
Fpour
Selon choix
Cas ‘1’ : Placer()
Cas ‘2’ : Afficher()
Cas ‘3’ : Jouer()
Cas ‘4’ : Sauv()
Cas ‘5’ : Charger()
Cas sinon : Afficher(« Erreur de choix »)
Fin selon