begin process at 2010 02 10 05:40:35
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > LE JEU MASTERMIND

LE JEU MASTERMIND


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Classé sous :jeu, mastermind, delphi, jouer, code Niveau :Débutant Date de création :22/02/2006 Vu / téléchargé :5 497 / 753

Auteur : djfeeler

Ecrire un message privé
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

Les Membres Club peuvent 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


 Sources du même auteur

Source avec Zip FAIRE DÉFILER UNE PHRASE
Source avec Zip LE JEU OTHELLO
Source avec Zip Source avec une capture LE JEU PONG MAIS EN 2D

 Sources de la même categorie

Source avec Zip Source avec une capture JEU DE DÉS ZORG6 par dubois77
Source avec Zip Source avec une capture JOUEZ : LIGHTS 1.4 par JulioDelphi
Source avec Zip Source avec une capture JEU DE DAME DELPHI 7 par aom333
Source avec Zip JEU RAMI DES CHIFFRES SOLITAIRE par Toidil
Source avec Zip JEU DE TAQUIN par JCLESAGE

 Sources en rapport avec celle ci

Source avec Zip JEU DE LEDS par hello007
Source avec Zip Source avec une capture JEU D'OTHELLO ORIENTÉ OBJET par Fred_Ca_Pulse
Source avec Zip FAIRE DÉFILER UNE PHRASE par djfeeler
Source avec Zip LE JEU OTHELLO par djfeeler
Source avec Zip Source avec une capture MOTS CACHES OU MELIMELO par hoby500

Commentaires et avis

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

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.

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 !!

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?

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.

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

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.

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

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...

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?

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...

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 ?

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...

Commentaire de guigui265 le 23/02/2006 16:38:33

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

Commentaire de djfeeler le 23/02/2006 20:56:29

merci pour cet allègement de code !!!

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.

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.

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.

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

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales