Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LE JEU MASTERMIND


Information sur la source

Catégorie :Jeux Classé sous : jeu, mastermind, delphi, jouer, code Niveau : Débutant Date de création : 22/02/2006 Vu / téléchargé: 4 305 / 670

Note :
7,67 / 10 - par 3 personnes
7,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

Description

mon code est un jeu mastermind vous devez découvrir une combinaison secrète en 10 coups !!! bon amusement !!!
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   mastermind
    • Aide.~dfmTélécharger ce fichier [Réservé aux membres club]1 379 octets
    • Aide.~pasTélécharger ce fichier [Réservé aux membres club]547 octets
    • Aide.dcuTélécharger ce fichier [Réservé aux membres club]3 565 octets
    • Aide.dfmTélécharger ce fichier [Réservé aux membres club]10 773 octets
    • Aide.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier547 octets
    • apropos.~dfmTélécharger ce fichier [Réservé aux membres club]999 octets
    • apropos.~pasTélécharger ce fichier [Réservé aux membres club]529 octets
    • apropos.dcuTélécharger ce fichier [Réservé aux membres club]3 547 octets
    • apropos.dfmTélécharger ce fichier [Réservé aux membres club]10 393 octets
    • apropos.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier529 octets
    • intmaster.~ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • intmaster.~dfmTélécharger ce fichier [Réservé aux membres club]24 282 octets
    • intmaster.~pasTélécharger ce fichier [Réservé aux membres club]17 314 octets
    • intmaster.dcuTélécharger ce fichier [Réservé aux membres club]15 918 octets
    • intmaster.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • intmaster.dfmTélécharger ce fichier [Réservé aux membres club]24 287 octets
    • intmaster.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier17 314 octets
    • master.icoTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 286 octets
    • mastermind.~dprTélécharger ce fichier [Réservé aux membres club]198 octets
    • mastermind.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier386 octets
    • mastermind.dofTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 597 octets
    • mastermind.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier350 octets
    • mastermind.exeTélécharger ce fichier [Réservé aux membres club]471 552 octets
    • mastermind.resTélécharger ce fichier [Réservé aux membres club]4 396 octets

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de guigui265 le 23/02/2006 09:21:29

Salut, corrige ton zip:
seul les deux fichiers *.Pas les deux *.Dfm le *.Dpr sont nécessaire le reste tu peux le retirer vas voir dans les tuto comment faire une zip pour Codes Sources par f0xi. De plus, l'.exe n'est pas obligatoire!
@+
guillaume

signaler à un administrateur
Commentaire de guigui265 le 23/02/2006 09:23:52

De plus:
Tous les fichiers qui ont une extension qui commence par le caractère "~"
sont a supprimer ce sont des copies de sauvegardes que Delphi fait automatiquement.

signaler à un administrateur
Commentaire de guigui265 le 23/02/2006 09:43:53

De plus,dans ton a propos, qu'est ce que fait un copyright?
Ensuite, presque aucun composant n'est nommé,ce qui ne facilite pas la lecture,bien que tu ais commenté! Pour finir, ben ca fonctionne, je continue a décortiqué tout ca !!

signaler à un administrateur
Commentaire de guigui265 le 23/02/2006 10:04:06

Et Les caption des boutons qui s'appellent "quittez, jouez",c'est pas terrible de les faire finir par un "z",non?

signaler à un administrateur
Commentaire de BruNews le 23/02/2006 11:09:40 administrateur CS

Non delphiste passer son chemin, CS n'est pas freeware.com mais un lieu d'entre-aide pour développeurs.

signaler à un administrateur
Commentaire de jdalton42 le 23/02/2006 11:23:29

tu dis bien lieu d'entre-aide alors pourquoi supprimer mes postes? s'était un peut d'aide que je demandais... tsssssss vrément

signaler à un administrateur
Commentaire de BruNews le 23/02/2006 11:27:07 administrateur CS

Mais non, tu demandes exe en précisant que tu ne connais rien au delphi.
Pose des questions sur le code et tout ira bien.

signaler à un administrateur
Commentaire de guigui265 le 23/02/2006 11:28:38

non,tu demandais un exe, ce qui est different. ici,on echange des codes delphi afin de faire partager ses connaissances et de permettre a tous de pouvoir apprendre et développer. Si tu veux des exe, va sur un site adéquat

signaler à un administrateur
Commentaire de jdalton42 le 23/02/2006 11:32:52

rien a voir, je demande comment executer tu dis bien "de permettre a tous de pouvoir apprendre" et bien moi je voulais simplement apprendre a executer le delphi...

signaler à un administrateur
Commentaire de guigui265 le 23/02/2006 11:35:11

Apprendre a fair un exe n'est pas apprendre le delphi! il n'y a aucune relation avec du code. peut on clore ce sujet?

signaler à un administrateur
Commentaire de BruNews le 23/02/2006 11:35:50 administrateur CS

ah oui, le double clic sur exe, ça c'est surement très édifiant...

signaler à un administrateur
Commentaire de elguevel le 23/02/2006 13:24:38

Entre compiler un exe, et double cliquer dessus ... effectivement, lol

Pour compiler faut faire "Projets" > "Compiler [Nom Projet]"
Pour les options du projet et de la compilation c'est "Projets" > "Options"

Trivial non ?

signaler à un administrateur
Commentaire de f0xi le 23/02/2006 16:29:31 administrateur CS

aie ...

alors deja, virer toutes les shapes crée en dur.

utiliser une matrice deja existante pour les créer dynamiquement:

Plateau = array[1..10,1..5] of TShape;

procedure CreatePlateau;
var x, y : integer;
begin
  for x := 1 to 10 do
      for y := 1 to 5 do begin
          Plateau[x,y] := TShape.Create;
          Plateau[x,y].parent:= Form1;
          Plateau[x,y].shape := stCircle;
          Plateau[x,y].width := 20;
          Plateau[x,y].height:= 20;
          Plateau[x,y].left  := 23 + (30*y);
          Plateau[x,y].right := 34 + (30*x);
      end;
end;

par exemple, cela allegeras beaucoup le code et le programme.

ensuite pour ce genre de truc :

procedure Tform1.BtrougeClick(Sender: TObject);
begin
if (compteur >=1) and (compteur<=5)
        then
                begin
                        proposition_joueur[compteur].Brush.color := clred;
                        compteur:=compteur+1;
                end;
end;

fait plutot (declarer l'unité math dans les uses) :

procedure Tform1.BtrougeClick(Sender: TObject);
begin
  if inrange(compteur,1,5) then begin
     proposition_joueur[compteur].Brush.color := clred;
     inc(compteur);
  end;
end;


pour ça :

      if nb = 1 then
        begin
         Bp1.Caption := inttostr(bienplace);
         Mp1.Caption := inttostr(malplace);
       end;
       if nb = 2 then
        begin
         Bp2.Caption := inttostr(bienplace);
         Mp2.Caption := inttostr(malplace);
       end;
         if nb = 3 then
        begin
         Bp3.Caption := inttostr(bienplace);
         Mp3.Caption := inttostr(malplace);
       end;
         if nb = 4 then
        begin
         Bp4.Caption := inttostr(bienplace);
         Mp4.Caption := inttostr(malplace);
       end;
       if nb = 5 then
        begin
         Bp5.Caption := inttostr(bienplace);
         Mp5.Caption := inttostr(malplace);
       end;
        if nb = 6 then
        begin
         Bp6.Caption := inttostr(bienplace);
         Mp6.Caption := inttostr(malplace);
       end;
       if nb = 7 then
        begin
         Bp7.Caption := inttostr(bienplace);
         Mp7.Caption := inttostr(malplace);
       end;
        if nb = 8 then
        begin
         Bp8.Caption := inttostr(bienplace);
         Mp8.Caption := inttostr(malplace);
       end;
       if nb = 9 then
        begin
         Bp9.Caption := inttostr(bienplace);
         Mp9.Caption := inttostr(malplace);
       end;
       if nb = 10 then
        begin
         Bp10.Caption := inttostr(bienplace);
         Mp10.Caption := inttostr(malplace);
       end;

fait plutot :

function Resultat(var lb1,lb2 : TLabel);
begin
  lb1.caption := inttostr(bienplace);
  lb2.caption := inttostr(malplace);
end;
// ---- //
case nb of
  1 : resultat(bp1,mp1);
  2 : resultat(bp2,mp2);
  3 : resultat(bp3,mp3);
  4 : resultat(bp4,mp4);
  5 : resultat(bp5,mp5);
  6 : resultat(bp6,mp6);
  7 : resultat(bp7,mp7);
  8 : resultat(bp8,mp8);
  9 : resultat(bp9,mp9);
  10: resultat(bp10,mp10);
end;



pour ce genre de code :

        Shape56.Visible := true ;
        Shape57.Visible := true ;
        Shape58.Visible := true;
        shape59.Visible := true;
        shape60.Visible := true;

grace a la matrice de tshape tu pourras pondre une fonction pratique :

procedure ShowShape(var matrice : TShapeMatrice; index : array of integer);
var x : integer;
begin
  for x := 0 to high(index) do matrix[index[x]].visible := true;
end;

procedure HiddeShape(var matrice : TShapeMatrice; index : array of integer);
var x : integer;
begin
  for x := 0 to high(index) do matrix[index[x]].visible := false;
end;

utilisation :

ShowShape(plateau,[56,57,58,59,60]);
HiddeShape(plateau,[56,57,58,59,60]);


pour la mise en place de la sequence secrete : voir le bug randomrange dans les codes sources et faire :

{randomize doit etre declarer une seule fois dans le FormCreate}
const ColorTable = array[1..5] of TColor = (clyellow,clblue,clred,clblack,clgreen);
// --- //
for i := 1 to 5 do begin
  nbhasar := round(randomrange(100,599)/100); // augmente les variations de couleurs
  proposition_ordi[i].Brush.Color := ColorTable[nbHasar];
  tableau_couleur[i] := ColorTable[nbHasar];
end;




voila, bonne optimisation...

signaler à un administrateur
Commentaire de guigui265 le 23/02/2006 16:38:33

ouah fOxy,comme toujours très efficace, grosse optimisation et allegement de code, bravo!

signaler à un administrateur
Commentaire de djfeeler le 23/02/2006 20:56:29

merci pour cet allègement de code !!!

signaler à un administrateur
Commentaire de f0xi le 25/02/2006 02:53:50 administrateur CS

a la prochaine mises a jours, pour faire ton zip supprime ces fichiers de l'archive :

mastermind/Aide.~dfm
mastermind/Aide.~pas
mastermind/Aide.dcu
mastermind/apropos.~dfm
mastermind/apropos.~pas
mastermind/apropos.dcu
mastermind/intmaster.~ddp
mastermind/intmaster.~dfm
mastermind/intmaster.~pas
mastermind/intmaster.dcu
mastermind/intmaster.ddp
mastermind/mastermind.~dpr
mastermind/mastermind.cfg
mastermind/mastermind.dof
mastermind/mastermind.exe



pour le code j'ai vus une autre optimisation possible et j'en profite pour faire un precieux rappel :

- Pour les portions de codes repetée a plusieurs endroit dans le programme, la transformation en fonction ou procedure unique de cette derniere est a penser!

je dis cela notement pour la selection d'une nouvelle combinaison secrete cela supprimerais plusieurs lignes de code inutile.


et j'en profite aussi pour rappeler ceci :

- Peu importe que votre programme soit utile ou non, soit complexe ou non, ce que l'on regarde surtout c'est son code : syntaxe, discipline d'indentation, optimisation multi-niveau, commentaires.
Si une partie de code vous semble louche, inadaptée ou lourde c'est qu'elle l'est surrement et qu'une meilleure solution doit exister.

signaler à un administrateur
Commentaire de m4nn1x le 09/03/2006 19:00:48

Salut, j'ai constaté une erreur dans ton programme en ce qui concerne les indices sur les pions bien placés et mal placés. En effet, si la combinaison à trouver contient 1 pion rouge (par exemple) et que la proposition du joueur contient 3 pions rouges dont 1 bien placé, ton programme dira: 1 bien placé et 2 mal placés. c'est faux, il n'y a qu'un bien placé et 0 mal placé. Tu dois compter les indices selon la combinaison à trouver et non selon la proposition du joueur. En clair, la somme des indices (bien ou mal placés) doit être égale à la somme des pions proposés effectivement contenus dans la combinaison à trouver.

J'espère que mon conseil te sera utile.
Bonne continuation.

signaler à un administrateur
Commentaire de elguevel le 09/03/2006 21:52:02

J'ai eut le même soucie sur un mastermind que j'avais fait (dispo sur vbfrance.com), c'est un problème qu'on retrouve regulièrement sur la conception de ce jeu.

signaler à un administrateur
Commentaire de djfeeler le 10/03/2006 10:23:43

ok merci je vais corriger cela !!!

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

help!!!!!svp les best en delphi :) [ par eedy31 ] j'ai un gro pblém : je debute en delphi et il me fo du temps pour apprendre!!!ET le pblém c'est que mon père monopolise le PC avec son jeu(atlantis3.. Comment faire les menus d'un jeu en Delphi ?! Vite ça presse ! [ par Gropoli ] Je suis entrain de faire un jeu de type wargame en delphi et je me demande comment je dois faire les menus du jeu : menu principal (nouveau jeu, optio Comment faire les menus d'un jeu en Delphi ?! Vite ça presse ! [ par Gropoli ] Je suis entrain de faire un jeu de type wargame en delphi et je me demande comment je dois faire les menus du jeu : menu principal (nouveau jeu, optio creer un fichier ini [ par snakefinger ] salut a tous ya t'il une commande en delphi pour creer un fichier ini.j'ai trouver le code dans visual basic mais je cherche en delphi .si quelq'un a code pour delphi 6 edition personnelle en français [ par lebot ] salut je cherche le code d'installation de delphi 6 edition personnelle en français si vous l'avez pouvez vous me le transmettre par mail je vous re Comment ecrire dans un EXE [ par norton ] Hello, comment dois-je faire pour ouvrir un EXE en binaire et ecrire à l'interieur ?je sais le faire en visual basic mais pas en delphi .sytaxe en vb: Recherche de code pour jeu d'enregistrement [ par clemot ] Salut je recherche un exemple ou des exemples de code pourun jeu d'enregistrement à partir de TDBCtrlGrid et de stringgrid pouyr enregistrer des donn :: Code-Battles organise un concours delphi!! [ par BlackWizzard ] Le site Code-Battles (http://codebattles.allboard.net), qui organise des concours de prog, vien de lancer un concours delphi dont voici le texte :::: code sources uSB en delphi [ par ijigolie ] SVP je recherche pour mon travail les codes sources pour gérer lUSB en Delphi merci de me renvoyer des adresses si vous connaissez des sites le propos Explorateur de code [ par Biggooch ] Bonjour, j'aimerais avoir un coup de pouce pour un projet.Je suis novice en Delphi et j'ai créé un colorateur syntaxique pour les scripts mIRC. J'aime


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,515 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.