De tout les jeux de casino, le plus répandu est certainement la roulette. Ce jeu de hasard qui fait son apparition en Italie au début du XVII siècle attire beaucoup de joueurs. Voici donc un petit programme en BASIC tiré du livre « PSI 102 programmes pour Amstrad ». Il vous donnera les 1er base pour développer vous même une table de roulette sur votre Amstrad CPC.

REFERENCES :

 
Difficulté de programmation : moyenne.
Catégorie de jeu : hasard (plusieurs joueurs).
Difficulté du jeu : facile.

LE JEU :

 
Il est surtout spectaculaire par son aspect graphique : une boule, repré­sentée par une bille, se déplace sur un terrain de jeu comportant des cases numérotées de 1 à 36. ainsi que trois cases supplémentaires,le 00. une case P(comme pair) et une case I(comme impair).

La boule parcourt au moins une fois chaque case, puis s’arrête au deuxième tour, on peut ensuite la relancer pour une autre partie.


LE PROGRAMME : 
La boucle K (60-120) dessine le terrain de jeu. auquel la ligne 130 rajoute les trois symboles P 00 et I. La boucle K (150-230) réalise le déplacement de la boule, l’arrêt étant contrôlé par la ligne 200. La boucle 1 (ligne 210) réalise une légère temporisation variable pour simuler le ralentissement de la balle. La ligne 210 efface la bille en déplaçant le curseur d’impression vers la gauche.

La ligne 210 tire la position d’arrêt.
La ligne 260 gère les essais suivants.

 

POUR JOUER :

 
Il suffit de faire RUN et de regarder.

Une fois la boule arrêtée, il suffira de frapper une touche quelconque (sauf “N”) pour la relancer. Taper N pour sortir du programme.

 

EXTENSIONS POSSIBLES :

 
On pourra essayer de se rapprocher davantage d’une véritable roulette, de différentes manières :
mieux dessiner le terrain de jeu,
introduire des cou­leurs,
simuler le ralentissement de la boule,
introduire différentes possi­bilités de pari,
et assurer la gestion des gains correspondants,
tenir les comptes de plusieurs joueurs,
et annoncer les résultats sous une forme plus usuelle.

 

LE PROGRAMME :

 
10 REM ROULETTE
20 RANDOMIZE(TIME)
30 DEFINT  X
40  INK 0,9:BORDER 9:INK 2,26
50 CLS
60  FOR K=1  TO 4
70 FOR  1=1  TO  9
80 S=I + I
90 PRINT TAB(4#I>  (S AND K=1)+(S+18  AND
K=2)+(S »1  AND  K=3)+(5+17 AND K=4);
100 NEXT  I
110 PRINT: PRINT: PR INT: PRINT
120 NEXT K
130 LOCATE  1,3SPRINT  « P »:LOCATE  1,7:PRIN
T  « 00 »:LOCATE  1,11 : PRINT »I »
140 PEN 2
150 FOR K.= 1  TO 4
160 FOR  1=1  TO  10+(K=4)
170  IF  1 = 10 AND K<4  THEN LOCATE  1,4*K E
LSE LOCATE 4*I+1,4*K-1
180 PRINT  CHR$(231);
190  X = X –1
200  IF  X=0  THEN GOTO 260
210 FOR J=1  TO  30*<1-(39/X)* (X>0)):NEXT
J SPRINT CHR*(8); »  « 
220 NEXT  I
230 NEXT K
240  X=1+RND*39
250 GOTO  150
260 PEN  1:PAPER 3:LOCATE  1,20:INPUT  « AUT
RE ESSAI  (0/N): »;R$:PAPER 0
270  IF R$= »N »  THEN END
280 GOTO 50