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

Jeux & Stratégie
Depuis 1959, date de sa création, Eleusis a donné lieu à des dizaines de publications à caractère scientifique. Notre listing vous permet de vous faire les dents sur les redoutables problèmes de logique qu'il pose.

nombre de joueurs: en solitaire contre le programme.

matériel: un micro-ordinateur (4,15 Ko de mémoire vive) et notre listing.

principe du jeu: il s'agit de découvrir une règle logique de succession de cartes. Vous posez des cartes une à une et, à chaque fois,le programme vous répond “vrai” ou “faux” selon que la carte posée correspond ou non à la règle qu'il s'est fixée.

Ce grand classique du jeu de réflexion fut inventé en 1959 par Robert Abott, alors étudiant à l'Université du Colorado. Ce qui lui valut des milliers de lettres du monde entier

qui donnèrent lieu à des dizaines de variantes. Dont une version commercialisée sous le nom d'Eurêka. éditée par International Team (voir J&S n° 45)

Eleusis se pratique habituellement avec deux jeux de 52 cartes et de quatre à huit joueurs. 11 tire son nom de rites initiatiques grecs lors desquels des secrets étaient révélés aux impétrants.

En solitaire contre l'ordinateur, vous ne disposerez que d'un seul jeu de 52 cartes.

Si Eleusis a connu et connaît encore un vif succès, c'est qu'il peut être considéré comme un modèle de découverte de la “vérité" par raisonnement inductif. Chacun a déjà vécu la découverte brutale d'une vérité, déclenchant. selon les époques et les personnages, des "Eurêka" ou des "Bon sang, mais c'est bien sûr'... Exclamations qui traduisent un bond brutal dans la compréhension d'un phénomène. Tout à coup, les informations fragmentaires accumulées à son sujet, sans cohérence aucune, se cristallisent pour donner une image claire et structurée. La première règle du jeu fut publiée dans les colonnes du Scientific American par Martin Gardner et en français dans Problèmes et divertissements mathématiques, tome 2, aux éditions Dunod.

Notre listing vous propose de jouer en solitaire contre le programme.

Mais avant toute autre chose, prenons un exemple. Quelle règle a présidé à la pose des cartes suivantes ? En sachant que les bonnes cartes, celles qui répondent à la règle, sont dans la colonne de gauche et que celles qui sont refusées comme “fausses" s'alignent sur la droite.

La disposition choisie correspond à la pose, dans cet ordre, de 3♥, 7♣, 9♠, 8♦ 8♥ , etc.

VRAI FAUX
3♥ 7♣ 9♠
8♦ 8♥ D♣ 6♣ 4♦
5♥
10♦ D♠
3♥
6♠,

Arrêtons la pose à cet endroit.

Vous avez sans doute pensé dans un premier temps qu'il s'agissait de l'alternance de ♥ et ♦ ou encore “ne poser que du rouge”. Et puis le 6♠ est venu infirmer ces hypothèses. A ce moment du jeu, rien ne vous empêche d'affirmer que la seule règle est de ne jamais jouer de figures (Valet, Dame, Roi). Cela peut être vrai du moins...tant que vous n'avez pas la preuve du contraire ! La pose de nouvelles cartes, chacune jugée “vraie” ou “fausse”, vous conduirait à découvrir que la seule règle en vigueur est l'alternance des cartes paires et impaires... Une tierce solution aurait pu être “ne jamais poser de figures et alterner les cartes paires et impaires” ou encore, beaucoup plus dur, “ne jamais poser de Trèfle”! Précisons que les figures ont une parité en suivant l'ordre naturel des cartes. Après le 9 et le 10, viennent le Valet (impair), la Dame (paire) et le Roi (impair).

Le programme: il partage l'écran en deux parties inégales. A gauche, une colonne où s'empileront les cartes “vraies”, la partie droite alignant les cartes “fausses”. La pose d'une carte s'effectue en deux temps. Premièrement, vous devez taper la hauteur de la carte : une valeur de 2 à 10 ou une lettre, V, D, R ou A, puis RETURN (ou ENVOI) pour confirmer votre choix.

Deuxièmement, la couleur de la carte. Il suffit de taper C pour ♥ , T pour ♣, P pour ♠ ou K pour ♦, puis RETURN. Le programme répond alors en affichant votre carte dans la colonne des “VRAI” ou des “FAUX”.

Quand vous pouvez poser six bonnes cartes de suite, vous avez gagné.

Evidemment, le programme change de règle à chaque partie !

Le listing: plongeons dans les arcanes de la programmation pour comprendre comment aider le programme à inventer une règle et à décider si la carte que vous posez est ou non “vraie”.

Ce n'est pas sorcier, mais quelques ruses sont à utiliser.

Tout d'abord, le programme doit connaître les cartes. Il doit “savoir" si une carte est rouge ou noire, paire ou impaire, si elle représente une figure ou un chiffre et connaître sa couleur, ♣ , ♥ , ♦ ou ♠. C'est sa base de connaissances. L'ordinateur, qui adore les valeurs numériques, avalera sans encombre les r'innées relatives à chaque carte sous la irme d'un code à quatre chiffres. Le pr lier chiffre désigne la parité (1 comme impair et 0 pair), le deuxième, la couleur (0=noire,1=rouge), le troisième, s'il s'agit ou non d'une figure (0=chiffre, 1=figure) et le quatrième, la couleur (1=♣ , 2=♦ , 3=♥ , et 4=♠). Ainsi, la carte 0102 sera un chiffre pair rouge à ♦ (les 2, 4, 6, 8 et 10 de ♦ répondent à cette définition). En fait, il y a trois cartes en jeu. La dernière carte posée dans la colonne des “vrai", la vôtre et...la carte “future”, celle qu'attend le programme. C'est la raison pour laquelle nous avons appelé CP$ la Carte déjà Posée. CJ$, la Carte Jouée correspondant à votre tentative et CF$, la Carte Future, celle qui est attendue par le programme. Si votre carte CJ$ présente les mêmes caractéristiques que CF$. la carte attendue par le programme, votre carte est alors posée dans la colonne des “vrai". Dans tous les autres cas, elle est considérée comme fausse.

Une objection bien légitime peut naître : comment parler de carte attendue par le programme. alors qu'à tout moment un grand nombre de cartes différentes pourraient être posées comme vraies? Exact! Aussi faut-il expliquer comment le programme se choisit une “vérité". La vérité est composée d'une à cinq règles nommées R(I), 1 variant de 1 à 5. Si R(l) est à 1, la règle 1 sera active. Si R(1)=0. la règle 1 sera inactive. Et ainsi de suite pour R(2), R(3), R(4) et R (5). Cette procédure est un simple aiguillage. Il sera associé par des GOSUB à des sous-pro-grammes comme s'il se disait : "Si la règle 1 est active, alors va à la ligne x, applique la règle et revient dès que tu rencontreras RETURN. Si la règle 2 est à zéro, ne t'en occupe pas et va à la suivante." A l'intérieur de chaque sous-programme s'opère la transformation de la bonne carte précédemment posée, CP$, en la carte attendue, CF$. Par exemple, le,0 de la carte posée désignant la parité devient 1 dans CF$ si la règle d'alternance de parité a été activée. Quand une règle n'est pas activée, le programme place un astérisque à la place du critère demandé.

Ce sera un joker, pouvant être remplacé par n'importe quelle autre carte.

Affichage: les possesseurs d'Amstrad taperont directement notre listing sans aucune modification. Les autres devront modifier la formule PRINT CHR$(225+C). En effet lorsque C=1, le PRINT CHR$(225+1) affiche le signe ♣ , CHR$(227) le signe ♦, CHR$(228) le signe ♥ et CHR$(229) le signe ♠. La solution la plus simple est de remplacer tous les CHR$(225+C) par des CLS(C) non sans avoir appris au programme en ligne 15 CL$(1) = ♣ , CL$(2)= ♦, CL$(3)=♥ et CL$(4)=♠ ou plus simplement les initiales T, K, C et P.

LISTE DES VARIABLES

I,J,TT: variables de boucles
AL,Z: tirages aléatoires
C indique la couleur d'une carte
C$ saisie de la couleur de la carte jouée
CF$ désigne le modèle de carte devant être posée
CJ$ désigne la carte que vous avez jouée
CP$ est le code de la dernière bonne carte posée
DT$(C,H) données d'une carte de couleur C et de hauteur H
H indique la hauteur d'une carte H$ saisie de la hauteur de la carte jouée
K indique le nombre de règles en vigueur (1 à 4)
R(I) indique si la règle R(I) est activée (1=oui. 0=non)
T$ pointillés
PX, PY coordonnées de position à l'affichage SC le score
V(C,H) valeur test (1=carte déjà posée; 0, peut être jouée),

commandes remarquables:

MID$(CP$,4,1) désigne le signe en quatrième position dans la chaîne de caractères CP$. Par exemple, le 1 dans “0201”
VAL(H$) “prend en compte H$ non plus comme un signe mais comme une valeur numérique" (inverse de STR$(H). "considère H comme un signe")

Jeux et Strategie n°49

ELEUSIS
(c) JEUX ET STRATEGIE

Auteur: Francis Piault

★ ANNÉE: 1987
★ LANGAGE:
★ GENRE: INGAME MODE 1 , REFLEXION , CARD GAME , BASIC
★ LiCENCE: LISTING

 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Eleusis    (Jeux  et  Strategie)    FRENCH    LISTINGDATE: 2022-01-09
DL: 110
TYPE: PDF
SiZE: 683Ko
NOTE: 1 page/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
Page créée en 079 millisecondes et consultée 423 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.