Bonjour !
Je vous propose un "Puissance 4" basé sur les expressions régulières.
Puissance 4
Qu'en pensez-vous ?
Bonjour !
Je vous propose un "Puissance 4" basé sur les expressions régulières.
Puissance 4
Qu'en pensez-vous ?
J'ai trouvé un bug. Je vous propose de remplacer
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.Button1Click(Sender: TObject); begin if gEtatDuJeu <= gsBlackToMove then JouerCoup((Sender as TButton).Tag); end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TForm1.Button1Click(Sender: TObject); var x: integer; begin if gEtatDuJeu <= gsBlackToMove then begin x := (Sender as TButton).Tag; if gGrille[x, 6] = NEANT then JouerCoup(x); end; end;
Bonjour Roland,
je viens juste de télécharger l'archive (Merci pour le partage) et j'ai joué avec de suite (sans correction)
et dois dire que j'aime beaucoup ... ça me rappelle des souvenirs
Coté code c'est un peu trop tôt pour donner un avis (je n'ai pas encore regardé)
J'ai tout de même trouvé moyen de gagner à tous les coups
Avec les blancs tu joues la séquence suivante :
D E A G F
ou encore celle-ci :
D C G B A
Ce qui ne pas empêché de me faire battre par l'algo. en jouant d'autres coups
Sinon, si je devais ajouter quelque chose, je dirais que je m'attendais à voir des pions Rouges et Jaunes
c'est tellement ancré dans l'esprit ...
Cordialement,
@+
@Cirec
Bonjour ! Merci pour le retour.
Je prends bonne note des deux séquences gagnantes que tu as trouvées. Je vais voir si je trouve un correctif.
Pour la couleur des pions, j'ajouterai une option dans la prochaine version.
P.-S. Je pense que la modification suivante (dans le fichier puissance4.adversaire.pas) devrait faire l'affaire :
Merci de m'avoir signalé cette faiblesse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function Evaluer2(const aGrille: TGrillePuissance4; const aJoueur: boolean): integer; begin result := Evaluer1(aGrille, aJoueur) - {2}3 * Evaluer1(aGrille, not aJoueur); // <---- end;![]()
Voici les pions jaunes et rouges.![]()
J'ai retravaillé sur l'affichage : je voulais voir tomber les pions. Je suis assez content du résultat. Je vous le montre pour avoir votre avis et vos suggestions éventuelles.
J'ai deux bitmaps et une image. L'image est pour l'ensemble de la grille. Les bitmaps sont pour une colonne. Il y a un bitmap qui est dessiné une seule fois au lancement de l'application et qui représente le fond de la colonne. Le deuxième bitmap est celui sur lequel le pion est dessiné. Je me suis servi de la méthode CopyRect() pour ne copier à chaque fois que ce qui est nécessaire.
Partager