Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11
  1. #1
    Rédacteur/Modérateur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 307
    Points : 3 320
    Points
    3 320

    Par défaut Puissance 4 mode texte

    Bonjour !

    Je vous présente mon essai d'un Puissance 4.

    L'algorithme utilisé pour les coups de l'ordinateur est tout simple. Il se base sur trois principes : le score maximal de l'adversaire au coup suivant, le nombre de réalisations de ce score maximal et enfin une prime pour les coups au centre.

    Vous me direz si vous arrivez à le battre.

    L'interface est en mode texte et ne contient que le strict minimum. Je n'ai pas le courage de faire mieux pour le moment ! En fait, c'est surtout la représentation interne du jeu et l'évaluation qui m'intéressaient.

    Je n'ai testé la compilation qu'avec TP7. J'ai un doute concernant les autres compilateurs à cause d'une fonction en assembleur que j'ai utilisée pour rendre le curseur invisible.

    Images attachées Images attachées
    • Type de fichier : png P4.png (6,2 Ko, 18 affichages)
    L'Art est long et le Temps est court.

  2. #2
    Responsable Pascal, Delphi et Assembleur

    Avatar de Alcatîz
    Homme Profil pro Jean-Luc Gofflot
    Ressources humaines
    Inscrit en
    mars 2003
    Messages
    6 129
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Luc Gofflot
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : mars 2003
    Messages : 6 129
    Points : 38 043
    Points
    38 043

    Par défaut

    Bonjour,

    Je l'ai battu !

    La difficulté proposée est très correcte. Très beau programme, bravo !
    Règles du forum
    Tutoriels, exercices, FAQ, sources, compilateurs, outils, livres Pascal
    Mes tutoriels et sources Pascal
    FAQ Assembleur

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]

  3. #3
    Rédacteur/Modérateur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 307
    Points : 3 320
    Points
    3 320

    Par défaut Type Object

    Citation Envoyé par Alcatîz Voir le message
    La difficulté proposée est très correcte. Très beau programme, bravo !
    Merci Alcatîz !

    J'ai supprimé la fonction qui servait à cacher le curseur. C'est moins joli comme ça, mais on peut compiler avec Free-Pascal ou Virtual-Pascal.

    C'est bien comme jeu, "Puissance-4". Plus facile que les échecs...

    Voici le début d'une nouvelle version. La grille de jeu est désormais un objet.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
    { Programme Turbo Pascal
     
      Grille pour le jeu Puissance-4
     
      Exemple d'emploi du type OBJECT
    }
     
    program p4;
     
    uses crt;
     
    {$B-}
     
    const
      rouge = -1;
      neant =  0;
      jaune =  1;
     
    type
      tPion = rouge .. jaune;
     
      tGrille = object
        contenu: array [0..6, 0..5] of tPion;
        trait: tPion; { à qui le tour }
        procedure nouvelle;
        procedure represente;
        function ajoute(x: byte): boolean;
        { x est la colonne choisie, de 0 à 6 }
      end;
     
    procedure tGrille.nouvelle;
     
      var x,y: byte;
     
      begin
     
        for x:=0 to 6 do
          for y:=0 to 5 do
            contenu[x,y]:=neant;
     
        trait:=jaune;
     
      end;
     
    procedure tGrille.represente;
     
      var x,y: byte;
     
      begin
     
        for y:=5 downto 0 do
          begin
            for x:=0 to 6 do
              begin
                write('[');
                case contenu[x,y] of
                  rouge: textcolor(lightred);
                  neant: textcolor(black);
                  jaune: textcolor(yellow);
                end;
                write('*');
                textcolor(lightgray);
                write(']');
              end;
            writeln;
          end;
        writeln;
      end;
     
    function tGrille.ajoute(x: byte): boolean;
     
      var y: byte;
     
      begin
        if contenu[x,5]<>neant then ajoute:=false else
     
        { Si la colonne x est pleine, la fonction renvoie la valeur "false".
          Dans le cas contraire, le pion est ajouté, et la fonction renvoie
          la valeur "true".
        }
          begin
     
            y:=5;
     
            ajoute:=true;
     
            while ( y > 0 ) and ( contenu[x,y-1] = neant ) do dec(y);
     
            { Avec la directive de compilation $B+, cette ligne produirait
              une erreur dans un certain cas. Quelle erreur, et quel cas ?
            }
     
            contenu[x,y]:=trait;
     
            trait:= -1 * trait;
     
          end;
      end;
     
    var
      courante: tGrille;
     
    begin
      clrscr;
      courante.nouvelle;
      courante.represente;
      courante.ajoute(3);
      courante.represente;
      courante.ajoute(4);
      courante.represente;
      readkey;
    end.
    L'Art est long et le Temps est court.

  4. #4
    Expert Confirmé Sénior
    Avatar de Paul TOTH
    Homme Profil pro Paul TOTH
    Freelance
    Inscrit en
    novembre 2002
    Messages
    5 520
    Détails du profil
    Informations personnelles :
    Nom : Homme Paul TOTH
    Âge : 45
    Localisation : Réunion

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2002
    Messages : 5 520
    Points : 14 576
    Points
    14 576

    Par défaut

    à quand la version FlashPascal ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Produits : UPnP, RemoteOffice, FlashPascal
    Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%

  5. #5
    Rédacteur/Modérateur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 307
    Points : 3 320
    Points
    3 320

    Par défaut

    Citation Envoyé par Paul TOTH Voir le message
    à quand la version FlashPascal ?
    J'y pense et même j'y travaille.
    L'Art est long et le Temps est court.

  6. #6
    Rédacteur/Modérateur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 307
    Points : 3 320
    Points
    3 320

    Par défaut

    Un confrère russe a fait un joli "Puissance-4" qui fonctionne avec mon algorithme. Je l'avais réécrit en Basic, et c'est cette version qui a été utilisée. Je sais que je ne devrais pas en parler ici, puisque ce n'est pas un programme en Pascal. Je vais sûrement me faire gronder.

    Mais je n'ai pas d'autre endroit où en parler (en français). Et puis, vous comprendrez que ça me fasse plaisir de vous le montrer.

    L'archive contient un exécutable.

    Discussion
    Téléchargement
    L'Art est long et le Temps est court.

  7. #7
    Expert Confirmé Sénior
    Avatar de Paul TOTH
    Homme Profil pro Paul TOTH
    Freelance
    Inscrit en
    novembre 2002
    Messages
    5 520
    Détails du profil
    Informations personnelles :
    Nom : Homme Paul TOTH
    Âge : 45
    Localisation : Réunion

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2002
    Messages : 5 520
    Points : 14 576
    Points
    14 576

    Par défaut

    Excellent
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Produits : UPnP, RemoteOffice, FlashPascal
    Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%

  8. #8
    Rédacteur/Modérateur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 307
    Points : 3 320
    Points
    3 320

    Par défaut

    Citation Envoyé par Paul TOTH Voir le message
    Excellent
    N'est-ce pas?

    C'est l'un des côtés que j'aime bien dans le Basic, et dans FreeBasic en particulier. L'activité sur le forum anglais est impressionnante, la qualité et la variété des contributions également.

    Pour revenir au Pascal et à "Puissance-4", j'ai commencé à travailler sur une version Flash-Pascal, à partir de ton démineur. Je ne sais si j'y arriverai de cette façon-là, mais j'ai au moins appris des choses en étudiant ton code.
    L'Art est long et le Temps est court.

  9. #9
    Membre Expert
    Avatar de Archimède
    Homme Profil pro anthony LAURENT
    Enseignant
    Inscrit en
    avril 2005
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Nom : Homme anthony LAURENT
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2005
    Messages : 1 187
    Points : 1 137
    Points
    1 137

    Par défaut

    Excellent

  10. #10
    Rédacteur/Modérateur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 307
    Points : 3 320
    Points
    3 320

    Par défaut

    Bonjour !

    Je vous présente une nouvelle version de mon "Puissance 4", en mode console et "orienté objet". Il n'y a quasiment pas d'interface, parce que mon idée était d'écrire du code qui puisse être utilisé pour différents projets. Le programme se compile aussi bien avec TP7 qu'avec Delphi XE2. (Avec ce dernier toutefois vous n'aurez que des pions en noir et blanc, puisqu'à ma connaissance il n'y a pas de Crt disponible pour cette version de Delphi.)

    L'archive ci-jointe inclut les fichiers (ico, rc, bat, res) dont je me suis servi pour joindre une icône à mon application console.

    Pour jouer, entrez une lettre de a à g. Toute autre saisie est interprétée comme un ordre d'arrêter le programme.
    Fichiers attachés Fichiers attachés
    L'Art est long et le Temps est court.

  11. #11
    Invité régulier
    Homme Profil pro dany
    Inscrit en
    septembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Nom : Homme dany
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : septembre 2012
    Messages : 15
    Points : 9
    Points
    9

    Par défaut

    hello!

    très bien ton puissance 4
    J'en avait fait un en 2006 mais source perdu ...

    et le score contre moi j'ai perdu 2fois , et une égalité

    Et tu as raison : plus facile que les échecs

    bonne soirée

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •