Jack-pot

Jean-François SEHAN

 

Si on trouve aujourd’hui de nombreux casino virtuel, plusieurs jeux de hasard comme les machines à sous ou la roulette sont sortie sur CPC. On trouve également des jeux sorties sous forme de listing comme jack-pot, publié dans le livre « Super Jeux Amstrad – 50 programmes de jeux en Basic » édité par PSY.

Voilà donc un jeu qui peut paraître tout d’abord passif puisque le joueur intervient très peu ; mais attention pour le joueur acharné : il risque d’en perdre le sommeil !!

Après avoir tapé RUN, le jack-pot se dessine avec les combinaisons gagnantes.

Vous appuyez sur n’importe quelle touche et c’est parti. Quand les symboles s’immobilisent, si vous n’avez rien gagné, votrecapital se décrémente de 0.20 franc. Il suffit d’appuyer à nouveau sur n’importe quelle touche pour relancer le jeu.

Quand une combinaison est gagnante, votre gain s’affiche en bas du jack-pot et votre capital augmente d’autant.

Patience, patience, ce jack-pot, digne de ses ancêtres, peut vous prendre beaucoup de temps…

 

LE PROGRAMME :

Ligne 30 à 60 : initialisation.

L’appel du sous programme en 2000 détermine les caractères graphiques, et celui en 3000 le dessin du jack-pot.

 

Ligne 200 à 330 : le jeu

Le jeu a besoin des deux tableaux suivants :

– D() donne le symbole de départ à afficher. Les symboles suivants apparaissent dans l’ordre des caractères graphiques.

– T() donne le temps, c’est à dire le nombre de symboles qui vont défiler sur la machine.

Dès que ces deux tableaux sont définis, on manœuvre la poignée en utilisant les sous programmes en 1000 et 1500 (respectivement descente et montée), puis on affiche les 3 symboles à partir de D() pour un temps T().

 

Ligne 400 à 560 : gains ?

On commence par décrémenter le capital C de 20 centimes ; puis on place dans le CAP le capital restant. En additionnant D(1) à D(3), on obtient un chiffre qui sert de comparaison avec les solutions gagnantes (variable D). La variable D1 ne prend en considération que les deux extrémités de la combinaison.

On compare D et D1 aux solutions gagnantes et on incrémente le capital (variable C). Quand C est supérieure à CAP on gagne quelque chose. On va alors à la ligne 600 pour afficher le montant des gains ; sinon on retourne à un nouveau jeu.

 

Liste des variables :

A, B   Combinaisons gagnantes

C, D   Gains des combinaisons gagnantes

C       Capital

CAP   Capital avant totalisation des points

D       Somme des combinaisons sorties

D1     Somme d’une partie des combinaisons

D()     Signe à afficher

I        Indice de boucle FOR / NEXT

T()     Temps de défilement des symboles

Z       Nombre aléatoire donnant la couleur des signes.

 

INFO :

Paru sous forme de listing dans le livre « Super Jeux Amstrad – 50 programmes de jeux en Basic »
Edité par : P.S.I.

 Date de sortie : 1985

Auteur : Jean-François SEHAN

Téléchargement : http://www.cpc-power.com/index.php?page=detail&num=6754

 

Listing :

10 REM JACK-POT
20 REM ——————————–
30 SYMBOL AFTER 128:GOSUB 2000
40 MODE 1:INK 0,1:INK 1,24:INK 2,6:INK 3,8:PAPER 0:PEN 1:GOSUB 3000
50 C=10
60 RANDOMIZE TIME
180 REM ——————————-
190 REM LE JEU
200 FOR I=1 TO 3 
210 D(I)=INT(RND*8) 
220 T(I)=INT(RND*15)+5 
230 NEXT i
240 GOSUB 1000:GOSUB 1500 
250 FOR I=1 TO 3
260 IF T(I)=0 THEN 320 
270 T(I)=T(I)-1
280 D(I)=D(I)+1:IF D(I)>7 THEN D(I)=0 
290 Z=INT(RND*3)+1
300 PEN Z:LOCATE 14+I*3,13:PRINT CHR$(128+D(I)*4)CHR$(129+D(I)*4)
310 LOCATE 14+I*3,14:PRINT CHR$(130+D(I)*4)CHR$(131+D(I)*4)
320 NEXT I
330 IF T(1) OR T(2) OR T(3) THEN 250 
380 REM ——————————-
390 REM GAINS ?
400 C=INT((C-0.195)*10)/10:CAP=C 
410 D=D(1)*100+D(2)*10+D(3)
420 D1=D(1)*100+D(3)
430 IF D=777 THEN C=C+20
440 IF D=666 THEN C=C+10 
450 IF D=444 THEN C=C+5 
460 IF D=555 THEN C=C+4 
470 IF D1=202 THEN C=C+3 
480 IF D1=101 THEN C=C+2 
490 IF D1=303 THEN C=C+1 
500 IF D1=707 THEN C=C+1
510 PEN 2:LOCATE 24,25:PRINT C; »F   « ; 
520 IF C>CAP THEN 600
530 PRINT CHR$(7)
540 IF INKEY$= » » THEN 540 
550 IF C=0 THEN 800
560 GOTO 200
580 REM ——————————-
590 REM GAGNE
600 FOR I=500 TO 50 STEP-5:SOUND 1,I,2:NEXT 
610 PEN 2:LOCATE 19,22:PRINT C-CAP
620 IF INKEY$= » » THEN 620 
630 LOCATE 19,22:PRINT  »    »
640 GOTO 200
780 REM ——————————-
790 REM PERDU
800 PAPER 0:PEN 1:LOCATE 1,15:PRINT »MERCI »:PRINT »POUR »:PRINT »LES DIX »:PRINT »FRANCS »
810 LINE INPUT A$
820 RUN
980 REM ——————————-
990 REM DESC. POIGNEE
1000 FOR I=10 TO 17
1010 PAPER 0:LOCATE 35,I:PRINT »    »
1020 PAPER 1:LOCATE 35,I+1:PRINT »    »
1030 LOCATE 35,I+2:PRINT »    »
1040 NEXT I
1050 PAPER 0:RETURN
1480 REM ——————————
1490 REM MONT. POIGNEE
1500 FOR I=17 TO 10 STEP -1
1510 PAPER 0:LOCATE 35,I+2:PRINT » « ;:PAPER 1:PRINT » « ;:PAPER 0:PRINT »  »
1520 PAPER 1:LOCATE 35,I+1:PRINT »    »
1530 LOCATE 35,I:PRINT »    » 
1540 NEXT I
1550 PAPER 0:RETURN
1980 REM ——————————
1990 REM GRAPHIQUES
2000 SYMBOL 128,1,3,7,15,31,63,127,255
2010 SYMBOL 129,128,192,224,240,248,252,254,255 
2020 SYMBOL 130,255,127,63,31,15,7,3,1
2030 SYMBOL 131,255,254,252,248,240,224,192,128 
2040 SYMBOL 132,56,124,254,254,255,255,255,255 
2050 SYMBOL 133,56,124,254,254,254,254,254,254 
2060 SYMBOL 134,127,127,63,31,15,7,3,1
2070 SYMBOL 135,252,252,248,240,224,192,128,0 
2080 SYMBOL 136,1,3,7,15,15,15,7,51
2090 SYMBOL 137,0,128,192,224,224,224,192,152 
2100 SYMBOL 138,121,253,255,253,121,51,7,15 
2110 SYMBOL 139,60,126,254,126,60,152,192,224 
2120 SYMBOL 140,1,3,7,15,31,63,63,63
2130 SYMBOL 141,0,128,192,224,240,248,248,248 
2140 SYMBOL 142,63,63,31,13,1,3,7,15
2150 SYMBOL 143,248,248,240,96,0,128,192,224 
2160 SYMBOL 144,0,0,12,30,63,127,127,63 
2170 SYMBOL 145,7,26,100,132,8,136,144,16 
2180 SYMBOL 146,30,12,0,0,0,0,0,0
2190 SYMBOL 147,24,60,126,255,255,126,60,24 
2200 SYMBOL 148,0,0,0,0,0,7,31,127
2210 SYMBOL 149,0,7,24,44,206,199,131,129 
2220 SYMBOL 150,127,255,255,255,255,255,127,62 
2230 SYMBOL 151,128,192,192,192,128,128,0,0 
2240 SYMBOL 152,63,96,192,135,140,152,248,152 
2250 SYMBOL 153,252,6,3,225,49,25,31,25
2260 SYMBOL 154,24,48,96,192,255,1,3,3 
2270 SYMBOL 155,24,12,6,3,255,128,192,192 
2280 SYMBOL 156,0,127,127,0,115,82,74,123 
2290 SYMBOL 157,0,255,255,0,222,82,82,222 
2300 SYMBOL 158,74,74,122,0,127,127,0,0 
2310 SYMBOL 159,82,82,81,0,255,255,0,0 
2320 RETURN
2980 REM ——————————
2990 REM DESSIN DE LA MACHINE
3000 FOR I=0 TO 3
3010 READ A,B,C,D:A=A+128:B=B+128
3020 PEN 2:PRINT CHR$(A)CHR$(A+1) » « CHR$(A)CHR$(A+1) » « CHR$(A)CHR$(A+1);
3030 PEN 3:PRINT TAB(28)CHR$(B)CHR$(B+1) »    « CHR$(B)CHR$(B+1)
3040 PEN 2:PRINT CHR$(A+2)CHR$(A+3) » « CHR$(A+2)CHR$(A+3) » « CHR$(A+2)CHR$(A+3) » = »;C;
3050 PEN 3:PRINT TAB(28)CHR$(B+2)CHR$(B+3) »    « CHR$(B+2)CHR$(B+3) » = »;D;
3060 NEXT I 
3070 PEN 1 
3080 PLOT 220,260:DRAW 420,260:DRAW 420,380:DRAW 220,380:DRAW 220,260
3090 PLOT 120,20:DRAW 520,20:DRAW 520,260:DRAW 120,260:DRAW 120,20
3100 PLOT 100,20:DRAW 540,20
3110 PLOT 240,220:DRAW 396,220:DRAW 396,164:DRAW 240,164:DRAW 240,220
3120 PLOT 292,220:DRAW 292,164:PLOT 344,220:DRAW 344,164
3130 PLOT 350,330:DRAW 410,330:DRAW 390,300:DRAW 370,300:DRAW 350,330
3140 PEN 2:LOCATE 23,4:PRINT « 20c »
3150 PEN 1:LOCATE 16,5:PRINT « JACK »
3160 PEN 3:LOCATE 17,6:PRINT « POT »
3170 PLOT 520,95:DRAW 620,95:DRAW 620,60:DRAW 520,60:DRAW 520,95 
3180 GOSUB 1500 
3190 PAPER 0:PEN 1:LOCATE 15,25:PRINT « CAPITAL: »; 
3200 PLOT 240,100:DRAW 400,100:DRAW 400,20:DRAW 240,20:DRAW 240,100:PLOT 260,80:DRAW 380,80:DRAW 380,20:DRAW 260,20:DRAW 260,80
3210 PLOT 180,180:DRAW 200,180:DRAW 200,20:DRAW 180,20:DRAW 180,180:PLOT 440,180:DRAW 460,180:DRAW 460,20:DRAW 440,20:DRAW 440,180
3220 RETURN
3500 DATA 28,8,20,3,24,4,10,2,16,12,5,1,20,28,4,1