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 !

JEU DE LEDS


Information sur la source

Catégorie :Jeux Classé sous : jeu, simple, débutant, delphi Niveau : Débutant Date de création : 12/12/2006 Vu / téléchargé: 3 459 / 648

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

c'est un petit jeu que j'ai trouver dans tombraider 4
c'est juste un exemple tres simple pour la programmation en delphi.
 

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 !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de f0xi le 13/12/2006 01:51:07 administrateur CS

mmm

pas trés soigné tout ça ... de plus la technique n'est pas au rendez-vous ... dommage car ce genre de petite enigme peuve trés vite nous prendre du temps a les resoudres...

alors premier point, INDENTE TON CODE!
aligner tout sur la meme ligne ça ne fait pas jolie et sa rend la lecture du code plus difficile peut importe le niveau du développeur qui lit la source.

deuxieme point, pense a créer des fonctions qui permettent d'accelerer les traitements c'est toujours utile. notement des inverseurs ect...


voici une correction, plus legere mais plus technique :

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls;

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    Button2: TButton;
    BitBtn8: TBitBtn;
    Edit1: TEdit;
    // DoEnigmaClick est créée manuellement !
    procedure DoEnigmaClick(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

type
  TEnigma = record
      V : Integer;
      G : TBitBtn;
  end;

var
  Tab    : array[1..7] of TEnigma;
  Cmp    : Integer                  = 0;

  ImgInv : array[0..1] of string    = ('Led1off.bmp','Led1on.bmp');
  FinInv : array[boolean] of string = ('Led2off.bmp','Led2on.bmp');
  ValInv : array[boolean] of byte   = (0,1);

// INVERSEUR
procedure Inverseur(const index : array of integer);
var N : integer;
begin
  for N := 0 to high(index) do
      with Tab[index[N]] do begin
        V := ValInv[V = 0];
        G.Glyph.LoadFromFile(ImgInv[V]);
      end;
end;

// VERIFICATION
function Verification : boolean;
var r,n : integer;
begin
   r := 0;
   for n := 1 to 7 do
       inc(r,Tab[n].V);
   result := r = 7;
end;

// INIT
procedure TForm1.FormCreate(Sender: TObject);
var N : integer;
begin
  Tab[1].G := BitBtn1;
  Tab[2].G := BitBtn2;
  Tab[3].G := BitBtn3;
  Tab[4].G := BitBtn4;
  Tab[5].G := BitBtn5;
  Tab[6].G := BitBtn6;
  Tab[7].G := BitBtn7;

  for N := 1 to 7 do
      with Tab[N] do begin
         V         := 0;
         G.OnClick := DoEnigmaClick;
         G.Tag     := N;
      end;

  Edit1.Text := '0';
end;

// RESET
procedure TForm1.Button2Click(Sender: TObject);
Var i: integer;
begin
  for i := 1 to 7 do begin
      Tab[i].V := 0;
      Tab[i].G.Glyph.LoadFromFile(ImgInv[0]);
  end;
  cmp        := 0;
  Edit1.Text := '0';
  BitBtn8.Glyph.LoadFromFile(FinInv[false]);
end;

// ENIGME RESOLUE
procedure TForm1.BitBtn8Click(Sender: TObject);
begin
  if Verification then begin
     ShowMessage('Enigme resolue !!!');
  end;
end;

// CONBINAISON
procedure TForm1.DoEnigmaClick(Sender: TObject);
begin
  inc(cmp);
  Edit1.Text := inttostr(cmp);
  case (Sender as TBitBtn).Tag of
    1 : Inverseur([1,4,5]);
    2 : Inverseur([2,5,6]);
    3 : Inverseur([3,6,7]);
    4 : Inverseur([4,7,1]);
    5 : Inverseur([5,1,2]);
    6 : Inverseur([6,2,3]);
    7 : Inverseur([7,3,4]);
  end;
  BitBtn8.Glyph.LoadFromFile(FinInv[Verification]);
end;

end.


voila... bon code.

signaler à un administrateur
Commentaire de f0xi le 13/12/2006 01:53:13 administrateur CS

ah aussi, tu peu retirer de ton zip les fichier .DOF, .CFG et .DCU

signaler à un administrateur
Commentaire de hello007 le 14/12/2006 23:57:54

merci pour la remarque. je vais essayer de ne pas mettre ce genre d'erreurs dans mes nouvelles sources.

signaler à un administrateur
Commentaire de f0xi le 15/12/2006 02:04:47 administrateur CS

en fait, il faut toujours se poser ce genre de questions :

qu'est-ce que je veux faire ?

comment l'obtenir en theorie ?

comment faire en pratique ?

je suis en train de faire beaucoup trop de IF ... THEN, n'y a t'il pas mieux ?

c'est trop lent, je dois mal gerer cette chose ... ?

y'a peu etre trop de code par rapport au resultat, dois-je optimiser ?

peut etre pourrais-je faire appel aux objets, aux classes, aux pointeurs ?


et des questions comme cela, y'en a des tonnes, mais toutes te guide vers un resultat meilleur.

les trucs a retenir, toujours penser a poser au brouillon sur du papier divers mecanismes de routine (comment on veux le faire, comment c'est faisable), etudier les mecanismes rapides qu'offre le langage et les techniques de programmation (precalculs, logique, math, poo), faire des recherches sur le net, etudier, analyser des bouts de codes en rapport direct ou indirect avec son projet, demander des avis quand on buche sur une difficultée réelle, et enfin tester son code, ameliorer l'interrractivitée ect...

signaler à un administrateur
Commentaire de JulioDelphi le 15/12/2006 21:51:02 administrateur CS

j'aimerais un titre un peu plus précis que "jeu" ;)
merci

signaler à un administrateur
Commentaire de DRJEROME le 17/12/2006 18:46:24

Salut,

comme il y a écrit "Débutant"... je respecte
je serai donc moins exigeant,

juste une suggestion :
on pourrait mettre une copie d'écran (screenshot)

merci bonne prog

signaler à un administrateur
Commentaire de fbaudoux_ir le 18/12/2006 16:58:58

je ne comprends vraiment pas ce que ce jeu est censé faire, à part allumer des leds.
Il y  t'il un règlement quelque part ?

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Jeu de strategie avec directdraw [ par sebrs1 ] Tout d'abord, je vais vous expliquer ce que je veux fairec'est tout simple (enfin, simple a comprendre mais pas a faire)je voudrais faire un truc genr 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 Help !!! Ici débutant. [ par Sweb167 ] Je voudrais apprendre à programmer avec Delphi.J'ai la version "6 Personnal Edition" en anglais.Pouvez vous m'indiquer des sites, des forumsou mêmes d Débutant recherche Xplications ... [ par nono333 ] Je débute en Delphi, je recherche qq explications sur ce language, je connais un peu C++, VB et j'ai décidé de me mettre à Delphi!S 1 bon choix ???&lt 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.. Débutant:Probléme delphi exécution. [ par TriplePattes ] Bonjour à tous, Voilà , j'utilise Delphi3 opur mes débuts en programmation .Pour pouvoir utiliser les comandes "enregistrer sous" et "palette de coleu Débutant : Comment sauver et/ou ouvrir avec delphi ? [ par TriplePattes ] Bonjour à tous , J'ai apris grâce à vos conseils comment faire marcher une commande execute et ainsi comment ouvrir une fenêtre "enregistrer sous" ou delphi [ par daywalker95 ] bonjour,g 15 ans et g envie de me lancer a la programmation a l'aide de delphi, mai je sai pa par ou commencer, g meme lu des document pour les débuta Projet de gestion BD - Débutant en Delphi [ par Bismut ] Bonjour, je souhaiterais développer un logiciel sous Delphi 7 ou 2005.Actuellement, je maitrise le PHP + SQL qui me permet de créer ce que je veux dir


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



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,36 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é.