LE JEU OTHELLO

Debiars Messages postés 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 février 2018 - 12 mars 2006 à 10:21
Fred_Ca_Pulse Messages postés 20 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 19 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.

https://codes-sources.commentcamarche.net/source/36452-le-jeu-othello

Fred_Ca_Pulse Messages postés 20 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 19 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és 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 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à.

Cordialement

jp
Rejoignez-nous