BESOIN D'AIDE POUR UN PROGRAMME EN PASCAL MASTERMIND URGENT:)!
Fermé
Cyran
Messages postés1Date d'inscriptionmercredi 16 janvier 2013StatutMembreDernière intervention16 janvier 2013
-
16 janv. 2013 à 22:55
Bonjour, je m'explique j'ai un programme a rendre en informatique pour vendredi prochain et j'ai enormement de mal a Le faire fonctionner.
Ne voulant pas avoir un zéro je me suis permis de poster ici en Esperant avoid DES reponses et une correction efficace ^^.
Voila mon programme est un mastermind dont les regles sont les suivantes:
"Réaliser un programme en Pascal qui permet de jouer au Mastermind: au début d'une partie, un code secret est généré l'utilisateur est invité à saisir une tentative de solution le programme affiche les indications sur les couleurs correctes le programme redemande une nouvelle tentative de solution ou termine la partie si le code est trouvé
Attention: avant de vous lancer dans la programmation, réfléchissez bien aux différents éléments de votre application : comment modéliser le plateau de
jeu? Comment afficher l'état actuel du jeu? Quels paramètres sont modifiables par l'utilisateur? Quelles sont les actions possibles dans le menu textuel? etc."
Voila mon programme (qui est bourré de fate je sais :) )
Program mastermind;
function conver_string ( var m : string) : Array of byte;
var : k :integer;
A : array of byte;
begin
k:= lenght(i);
for i :=1 to 8 do begin;
l:=setlenght [k]
exit (l);
end;
Function random (var : integer): integer;
var i : integer;
begin
randomize()
for i:= 1 to 8 do
X:= random (i)+1
exit (X);
end;
Procedure aleatoire
function compare ( var : A[0..4] of byte) : integer ;
var : i :integer;
X,Z : array of byte;
Y,N : boolean;
begin
Y:TRUE
N:FALSE
Repeat
for I:= 1 to 4 do begin
if X[i]=Z[i] then
Z[i] =Z[i] + 1 &exit(Y);
else exit (N);
end;
end;
On analyse chaque valeur du tableau si les 2 sont identiques alors je renvoi Vrai et je compare le terme suivant.
Si l'un est different de l'autre alors je renvoi faux et je compare la case suivante.
Je vois pas comment je peux faire pour ecrire quand Le joueur a trouvé la bonne couleur mais pas au bon endroit.
1 a 4 sont les 4 couleurs qui correpondent au tableau de 4 valeurs.
procedure quit (var bool: boolean);
var j : char;
begin clrscr;
repeat ('voulez vous quitter ? (YES/NO)');
j=upcase(j);
if j:='Y' then
bool:= true
else bool:= false;
end;
begin
use clscr;
for i:=1 to 8 do begin
m:=random(i);
n:=conver_string(m);
end;
read (n);
writeln (''entrez le nombre de colonnes svp'');
read (x);
writeln (entrez le nombres de cases');
read ('s');
writeln ('quelles difficultés choisissez vous?');
readln (c);
if (c='a')
then writeln (' le jeu sera difficile ') ;
if (c='b')
then writeln (' le jeu sera facile ');
if (c= 'e')
then writeln (' le jeu sera moyen');
writeln ('entrez les couleurs que vous voulez svp');
readln (z);
u:=converstring(z);
if u<>n
then write ('le resultat n"est pas bon')
else
write ('le resultat est bon');
write ('voulez vous recommencer? (O/N)');
readln (l);
if (l = 'O') then
write ('recommencez la partie. quelle difficulté voulez vous?')
else
write ('la partie est terminée');
end.
Voila :) en Esperant que quelqu'un puisse m'aider :) merci d'avance:).
A voir également:
BESOIN D'AIDE POUR UN PROGRAMME EN PASCAL MASTERMIND URGENT:)!