IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Codes sources à télécharger Delphi Discussion :

Puissance 4 basé sur les expressions régulières [Sources]


Sujet :

Codes sources à télécharger Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut Puissance 4 basé sur les expressions régulières
    Bonjour !

    Je vous propose un "Puissance 4" basé sur les expressions régulières.

    Nom : puissance4-delphi.png
Affichages : 781
Taille : 11,8 Ko

    Puissance 4

    Qu'en pensez-vous ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    J'ai trouvé un bug. Je vous propose de remplacer

    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;
    par

    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;

  3. #3
    Membre émérite
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Par défaut
    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,
    @+

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    @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 :

    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;
    Merci de m'avoir signalé cette faiblesse.

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    Voici les pions jaunes et rouges.
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    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.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/05/2008, 22h22
  2. question sur les expressions régulières
    Par goanes dans le forum Langage
    Réponses: 2
    Dernier message: 02/09/2007, 23h34
  3. Question sur les expressions régulières
    Par zarbiman dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 03/04/2007, 14h27
  4. Question sur les expressions régulières
    Par espadon1 dans le forum Langage
    Réponses: 2
    Dernier message: 05/07/2006, 08h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo