Debiars
Messages postés285Date d'inscriptionlundi 16 juin 2003StatutMembreDernière intervention11 février 2018
-
12 mars 2006 à 10:21
Fred_Ca_Pulse
Messages postés20Date d'inscriptionmercredi 15 mars 2006StatutMembreDernière intervention19 juin 2008
-
15 mars 2006 à 10:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Fred_Ca_Pulse
Messages postés20Date d'inscriptionmercredi 15 mars 2006StatutMembreDernière intervention19 juin 2008 15 mars 2006 à 10:50
Salut, je suis nouveau sur le site et je suis tombé sur ton jeu.
Effectivement, je suis d'accord avec Debiars pour dire que ton code me semble assez redondant, sans vouloir te vexer ... c'est en essayant qu'on progresse.
Ca m'a rappelé que moi aussi j'avais fais un jeu d'OTHELLO en Delphi, je l'ai donc mis en ligne dans les sources. Tu peux aller voir le code, certainement pas parfait mais qui pourrait te donner une autre orientation de développement.
FRED
Debiars
Messages postés285Date d'inscriptionlundi 16 juin 2003StatutMembreDernière intervention11 février 2018 12 mars 2006 à 10:21
Salut dj,
J'ai bien aimé le décor de ton jeu, mais...
sans aller plus loin, j'ai été :-< par le nombre de procédures
"gxMouseDown". Il me semble que tu ne connais pas la propriété "Tag".
Il suffit de mettre dans le Tag de chaque TShape la valeur correspondant à son numéro et dans son évènement "onMouseDown", l'appel de la procédure unique suivante :
procedure TForm1.g1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var tag : byte;
begin
tag := (Sender as TShape).Tag;
case tag of
1 : jeu(1,1,7,7,7,0,0,0,0,0);
2 : jeu(3,4,5,4,4,2,2,2,3,3);
etc... jusqu'à
64 : jeu(8,8,0,0,0,0,7,7,7,0);
end;
end;
... en plus, je suis affolé par le nombre de TShape... Dans ce jeu, il n'y a que 3 images à traiter : case vide et 2 pions joueurs. Il est donc facile de les afficher sur ton image de fond par un simple calcul de position et de déterminer la case jouée par à l'aide des X et Y de Image1MouseDown.
Cela te simplifiera le travail quand tu va attaquer le jeu de l'ordinateur.
Si tu veux plus d'infos, va voir "A propos d'othello" que j'ai déposé il ya quelque temps déjà.
15 mars 2006 à 10:50
Effectivement, je suis d'accord avec Debiars pour dire que ton code me semble assez redondant, sans vouloir te vexer ... c'est en essayant qu'on progresse.
Ca m'a rappelé que moi aussi j'avais fais un jeu d'OTHELLO en Delphi, je l'ai donc mis en ligne dans les sources. Tu peux aller voir le code, certainement pas parfait mais qui pourrait te donner une autre orientation de développement.
FRED
12 mars 2006 à 10:21
J'ai bien aimé le décor de ton jeu, mais...
sans aller plus loin, j'ai été :-< par le nombre de procédures
"gxMouseDown". Il me semble que tu ne connais pas la propriété "Tag".
Il suffit de mettre dans le Tag de chaque TShape la valeur correspondant à son numéro et dans son évènement "onMouseDown", l'appel de la procédure unique suivante :
procedure TForm1.g1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var tag : byte;
begin
tag := (Sender as TShape).Tag;
case tag of
1 : jeu(1,1,7,7,7,0,0,0,0,0);
2 : jeu(3,4,5,4,4,2,2,2,3,3);
etc... jusqu'à
64 : jeu(8,8,0,0,0,0,7,7,7,0);
end;
end;
... en plus, je suis affolé par le nombre de TShape... Dans ce jeu, il n'y a que 3 images à traiter : case vide et 2 pions joueurs. Il est donc facile de les afficher sur ton image de fond par un simple calcul de position et de déterminer la case jouée par à l'aide des X et Y de Image1MouseDown.
Cela te simplifiera le travail quand tu va attaquer le jeu de l'ordinateur.
Si tu veux plus d'infos, va voir "A propos d'othello" que j'ai déposé il ya quelque temps déjà.
Cordialement
jp