Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
621 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [Caml] Conception de ptit jeux --> probleme!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Caml] Conception de ptit jeux --> probleme!

n°1043253
sinocknd
Posté le 11-04-2005 à 17:30:32  profilanswer
 

Salut tout le monde!
Au tour de mes péripéties maintenant :-)
Donc voila, j'essaie de creer un petit jeux ( il est vrai un peut naze ) en
language Caml. Cependant pour moi le Caml est un peu étranger, c'est pour cela
que je vous demande de l'aide!
 
Donc voici son déroulement :
 
Enlever tout les pions en respectant les deux regles suivantes :            
  - On peut enlever et remettre le premier pion quand on veut    
  - On peut enlever ou remettre un piont si tout les pions le precedant              
      on ete enleve, sauf son voisin de gauche le precedant  qui doit etre present.
 
 
Cependant je suis sur qu'avec ses regles, vous ne serez pas plus avancé.... je vous présente un exemple!
 
X X X X X
---------
. X X X X
. X . X X
X X . X X
X . . X X
X . . X .
X X . X .
. X . X .
. X X X .
X X X X .
X . X X .
. . X X .
. . X . .
X . X . .
X X X . .
. X X . .
. X . . .
X X . . .
X . . . .
. . . . .
 
 
Voici le début de mon programme, mais celui-ci ne prends pas en compte les regles!
 
 
 
let play() =
let fini = ref false in
print_string "A vous de jouer";
print_newline();
print_string "Choisissez le nombre de pions\n";
let clavier = read_int() in
print_string " Vous avez choisi ";
print_int clavier;
print_string " pions";
print_newline();
let pions_barre = Array.create clavier '.' in
let pions = ref (Array.create clavier 'O') in
 
while !fini = false
do
 for i=0 to clavier-1
 do
 print_char !pions.(i)
 done;
 print_newline();
 print_string " Quel pions voulez vous deplacer? ";
 let np= ref (read_int()) in
 if !pions.(!np-1)= 'O' then !pions.(!np-1)<-'.'
 else !pions.(!np-1) <- 'O';
 if !pions = pions_barre
 then fini := true
done;
print_string " Bravo vous avez gagne!!";
print_newline();;
 
 
Si un ame charitable serait en mesure de m'aider qu'il n'hésite surtout pas!

mood
Publicité
Posté le 11-04-2005 à 17:30:32  profilanswer
 

n°1048959
sinocknd
Posté le 15-04-2005 à 17:38:34  profilanswer
 

Personne? Sniff, tout triste moi!
Personne n'a aucune idée pour mon projet? même pas sur le genre de structure à utiliser?

n°1049046
Pillow
'cos the trees won't talk
Posté le 15-04-2005 à 18:32:05  profilanswer
 

Déjà, pourquoi pions est une /référence/ sur un tableau? Il n'y a pas besoin.
 
Il te faut une fonction qui vérifie si tous les pions de 0 à n ont été enlevés. Quelque chose comme ça:


let all_removed jeu n=
  let rec aux n =
    if n = 0 then true
    else jeu.[n]='.' && aux (n-1)
  in
  aux n
;;

(tu peux aussi faire ça avec un for si tu préfères)
Note qu'avec ça, tu peux facilement tester si le joueur à gagner la partie, tu pourras ainsi enlever cet horrible tableau pions_barre :o  
 
Ensuite (de préférence dans une fonction séparée) quand l'utilisateur choisit un nombre et que pion est présent il te suffit de tester la présence du pion à gauche et utiliser la fonction all_removed avec les bons arguments et tes règles seront implémentées.
 
Quelques remarques :  
Tu aurais aussi pu utiliser une string plutôt qu'un tableau pour représenter le jeu, il n'y a pas vraiment de différence (à part que get est abrégé avec [] au lieu de (), donc tu fais pions.[i] <- '.', et qu'il faudrait utiliser String.fill pour remplir de 'O'). L'affichage serais plus simple (ce n'est franchement pas important  [:petrus75] )
Tu peux utiliser print_endline pour t'épargner tous ces fastidieux print_newline.
Pense à rajouter un simple test sur la saisie, au cas où l'utilisateur choisit un nombre trop grand pour le pion à déplacer.


Message édité par Pillow le 15-04-2005 à 18:32:52

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [Caml] Conception de ptit jeux --> probleme!

 

Sujets relatifs
Problème avec la commande "exec" en PHPProbleme avec ActionListener
probleme lienFormulaire, problème insertion de données
[HTML] probleme de lien image[resolu]Problème de compilation sur visaul C++
Problème PHP -> affichage de certaines choses d'une table MySQLprobleme de saut de ligne
probleme templateProblème de mise en page avec CSS
Plus de sujets relatifs à : [Caml] Conception de ptit jeux --> probleme!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR