★ AMSTRAD CPC ★ GAMESLIST ★ PENTE (c) JEUX ET STRATEGIE ★

Jeux & Stratégie

Voici un jeu qui a, sans doute, un bel avenir devant lui. Pourtant, à notre connaissance, nul programmeur ne s'y était attaqué jusqu'à présent A vous de jouer Et tout de suite, pour commencer, voici le petit programme que nous avons conçu.

Nous n'avons pas résisté à l'envie de programmer Pente, le traditionnel Gomoku Ninuki. Il le mérite bien ! La simplicité de sa règle et la richesse des combinaisons qu'elle offre le placent d'ores et déjà parmi les grands classiques du jeu de réflexion. Mais il est tout jeune, du moins en Europe. Il vient à peine de souffler sa première bougie ! Tout reste à faire. Nous souhaitons que notre programme vous donne envie de continuer...

Rappelons brièvement la règle. La partie se déroule sur un quadrillage 19 lignes sur 19 (comme pour jouer au go). Les deux joueurs qui s'affrontent s'attribuent chacun un ensemble de pions de couleurs différentes. Le premier qui joue pose un pion à sa couleur sur l'intersection centrale du plateau de jeu. Son adversaire pose où il le désire sur une intersection libre. Celui qui a posé le premier pion doit obligatoirement placer le second à au moins trois intersections du premier (histoire de réduire l'avantage du trait). Ensuite et jusqu'au terme de la partie, chaque joueur, à tour de rôle pose un pion sur une intersection libre. Est vainqueur le joueur qui, le premier, soit aligne cinq de ses pions, horizontalement, verticalement ou en diagonale (comme au morpion), soit prend cinq paires de pions à l'adversaire. Un joueur capture une ou plusieurs paires de pions adverses au moment où il pose un pion, il prend les 2 pions adverses en « tenaille » (un peu comme à Othello). Ces deux objectifs indépendants et différents font tout l'intérêt de ce jeu. Le programme a connaissance du plateau de jeu sous la forme d'une suite de numéros de cases N, de 1 à 420, à l'image du programme d'Othello (une seule dimension). A chaque numéro de case correspond une variable que nous appellerons ici V(N), qui indique le contenu de la case ou sa valeur tactique. Habituellement, le programmeur réserve deux variables pour remplir ces rôles : une variable, disons C(N), pour indiquer le contenu d'une case (pion blanc, pion noir et vide) et une variable V(N) pour en indiquer la valeur tactique. Pour tout rapporter à une seule variable, il suffit d'un test ! Les valeurs V(N) indiquent respectivement un pion blanc pour V(N)=1 ; un pion noir (V(N)=2) ou une case extérieure de bordure (V(N)=-1 ) et toute valeur supérieure à 2 est une case vide dont la valeur exprime le poids tactique. Ainsi, par exemple : V(134)=505 est une case vide portant le numéro 134 et dont la valeur tactique est 505 (dans le programme, N est remplacé par I et V(N) par T(l). Au début du jeu toutes les cases ont été arbitrairement dotées de la valeur 500, sauf la case centrale 501, où jouera le programme s'il commence la partie. Voyons maintenant comment il fonctionne. Vous venez de jouer, c'est à son tour. Il connaît le numéro de la case où vous avez posé votre pion. Dans un premier temps, il regarde si votre coup termine un alignement de cinq pions. Si c'est le cas, la partie est finie ; il a perdu. Si ce n'est pas le cas, il donne une nouvelle valeur à toutes les cases vides voisines de celle où vous avez joué. Cette réévaluation se fait en étoile.

Le programme analyse chaque suite de cinq cases sur une longueur de neuf cases horizontalement, verticalement et selon les deux diagonales. Ce qui le conduit à étudier 20 configurations de pions. (Figure 1).

Figure 1 : L'ÉVALUATION. A la suite de la pose d'un pion blanc (valeur 1), le programme ajoute à chacune des cases vides voisines une valeur décroissant avec la distance. Les cases vides valent 500.Figure 2 : à chaque case du damier est affectée une valeur à laquelle s'ajoute celle des pions à prendre. Les lignes 150 à 220 représentent ces valeurs pour votre microordinateur.


Pour chaque suite, il consulte sa table d'évaluation (placée sous forme de DATA en fin de programme). S'il en reconnaît une, il ajoute, à chaque case vide de la configuration de pions, une valeur correspondant à l'intérêt qu'il a d'y jouer. Ces « notes » sont indiquées en lignes 50 000 et suivantes, en regard de chaque configuration de pions. Par défaut, il réévalue faiblement les cases vides, mais toujours avec des valeurs supérieures à 2. Puis, il « lit » à nouveau tout le damier, pour trouver la case possédant la plus forte valeur tactique (celle-ci n'est pas forcément liée à votre dernier coup) ; l'ayant trouvée, il joue dans cette case. Le programme procède pour lui, comme pour vous, et une nouvelle réévaluation a lieu à chaque demi-coup.

Figure 2 : LE CHOIX. C'est au programme de jouer un pion noir (valeur 2). A la suite du deuxième coup des blancs, il a réévalué toutes les cases du plateau de jeu. Il n'a plus qu'à chercher la case présentant la valeur la plus élevée. Ici, la case de valeur 512 (en bleu).

Et les prises ? C'est l'une des premières choses qu'il regarde après la pose de votre pion. La case de prise de pions adverses (les vôtres !) est fortement évaluée ; il prendra dès qu'il le pourra. Alors, il retire les deux pions capturés et à nouveau, réévalue toutes les cases. Regardez la ligne 50107 du listing: 50107 DATA 02, 202, 20, 0, 0, 150, 0. Elle montre, immédiatement après l'instruction DATA, la configuration de pions suivante : un vide, deux pions noirs, un vide, un pion noir. Le programme vient de jouer par exemple, au niveau du « 2 » de droite. Immédiatement il attribue la valeur 150 à la case vide permettant d'aligner quatre de ses pions et la valeur 20 à la case vide situé au début. La case passe de la valeur 507 à la suite de la pose de deux pions contigus, à la valeur 507 + 150, soit 657 ! Autant dire qu'il y a de fortes chances qu'il joue à cet endroit au tour suivant... si vous ne le contrez pas !

Avant même d'analyser l'organigramme et le listing pour y apporter les modifications de votre choix, il vous est possible de changer les valeurs affectées à chacune des configurations (voir les lignes de DATA en fin de programme). Vous remarquerez que le programme joue sans connaître toutes les combinaisons de pions. Les progrès qu'il est susceptible de faire y sont liés. A vous de lui apprendre toutes les combinaisons.

Jeux & Stratégie n°35

PENTE
(c) JEUX ET STRATEGIE

AUTEUR: Olivier Tubach

★ ANNÉE: 1986
★ LANGAGE:
★ GENRE: BOARD , BASIC
★ LiCENCE: LISTING

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Pente    (Jeux  et  Strategie)    FRENCH    LISTINGDATE: 2014-01-08
DL: 224
TYPE: PDF
SiZE: 1743Ko
NOTE: 3 pages/PDFlib v1.6

Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 634 millisecondes et consultée 1195 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.