User Tools

Site Tools


en:poker_folies

POKER FOLIES

Info

Author Logi'Stick
Computer Amstrad PCW 8256 / 8512 / 9512
Year 1986
Gender Card game
Controls Keyboard
Languages French and Spanish
Status Preserved

Screenshots

Description

The game of POKER is totally simple. A deck of 52 cards in which five cards are titled and shown that cannot be replayed. As soon as they are displayed, you have the option to remove them all to replace them with new ones. Then follows the evaluation of your game and the corresponding winnings according to the winning combinations described.

Listado

  • Listado - POKERFR.BAS
1 REM ********************************************
3 REM *               POKER FOLIES               *
4 REM *            Made by Logi'Stick            *
5 REM *        COPYRIGHT L'ECHO DU PCW 86        *
7 REM ********************************************
10 CLEAR:OPTION RUN:PRINT CHR$(27);"E";CHR$(27);"f":DIM C$(12),Z(14):CAP=100:'cls et initialisation
20 RESTORE 1090:FOR I=0 TO 12:READ C$(I):NEXT:GOSUB 550:'valeur des cartes
30 GOSUB 660:GOSUB 850:GOSUB 750:x=98:Y=56:GOSUB 880:PRINT "Pressez <ESPACE>":Y=58:GOSUB 880:PRINT " pour continuer";
40 U1=U1+1:I$=INKEY$:IF I$<>" " THEN 40
50 GOSUB 60:GOTO 80
60 GOSUB 890
70 X=34:Y=51:GOSUB 880:PRINT " DE <1> A <5> POUR SUPPRIMER LES CARTES - I+I POUR REDISTRIBUER - <ESPACE> POUR ANNULER ":RETURN
80 RANDOMIZE(U1)
90 M=0:Z=0:RO=RO+1:GOSUB 1160
100 X=98:Y=61:GOSUB 880:PRINT CHR$(164);" L'{cho du PCW 86":GOSUB 740
110 ON ERROR GOTO 1150:X=50:Y=48:GOSUB 880:PRINT SPACE$(70):Y=50:GOSUB 880:PRINT CHR$(27);"e";"ENTREZ UNE MISE INFERIEURE AU CAPITAL...";SPACE$(30):X=91:GOSUB 880:INPUT MISE$:MISE=VAL(MISE$)
120 IF MISE>cap OR MISE<1 THEN 110 ELSE CAP=CAP-INT(MISE):PRINT CHR$(27);"f":GOSUB 740
130 X=50:GOSUB 880:PRINT SPACE$(54):GOSUB 1160
140 FOR I=0 TO 4:IF Z(10+I)=1 THEN 170
150 B1=INT(RND(U1)*13):Y1=INT(RND(U1+5)*4):U1=U1+3:B1=B1+Y1/10:GOSUB 190:Z(I)=B1:Z(I+U*5)=B1:'tirage des cartes
160 IF C=1 THEN I=I-1:C=0 ELSE GOSUB 820
170 NEXT I:IF U=0 THEN 210
180 GOTO 290
190 FOR Q=0 TO 9:IF B1<>Z(Q) THEN NEXT Q:RETURN:'test si d{ja tir{e
200 B1=0:C=1:RETURN
210 FOR X1=10 TO 14:Z(X1)=1:NEXT X1:PRINT CHR$(27);"p":GOSUB 70:PRINT CHR$(27);"q"
220 U1=U1+1:A2$=INKEY$:IF A2$="" THEN 220 ELSE A=ASC(A2$):IF A>48 AND A<54 THEN A=VAL(CHR$(A))-1:GOTO 270:'{change de cartes
230 IF A=22 THEN U=1:GOSUB 70:GOTO 140:'pression de I+I
240 IF A<>32 THEN 220
250 FOR I=0 TO 4:IF Z(10+I)=0 THEN GOSUB 820:Z(10+I)=1:Z=0:'annulation par <ESPACE>
260 NEXT I:GOTO 220
270 IF Z(10+A)=1 THEN Z(10+A)=0:Y=33:X=32+18*A:GOSUB 880:PRINT C$:FOR J=0 TO 11:Y=Y+1:GOSUB 880:PRINT A$:NEXT:GOSUB 880:PRINT E$:'affichage des cartes annul{es
280 GOTO 220
290 FOR I=5 TO 9:IF Z(I)<>0 THEN Z(I-5)=Z(I)
300 NEXT I:N=0:GOSUB 610
310 REM **** EVALUATION DU TIRAGE
320 T=0:FOR I=0 TO 4:T=T+Z(I)-INT (Z(I)):NEXT I:T=ROUND(T,1)
330 FOR I=0 TO 4:IF ROUND(Z(I)-INT(Z(I)),1)=T/5 THEN NEXT I:W=1
340 IF S=1 AND W=1 THEN L=20:M$="une QUINTE ROYALE":GOTO 500
350 V=0:I=0:GOSUB 400:IF M>3 THEN L=M*5
360 IF W=1 THEN L=7:M$="une COULEUR":GOTO 500
370 IF S=1 THEN L=5:M$="une QUINTE":GOTO 500
380 IF M>0 THEN L=M:GOTO 500
390 L=0:M$="PERDU":GOTO 500
400 IF INT(Z(I))=INT(Z(I+1)) THEN V=V+1:I=I+1:IF I<4 THEN 400 ELSE GOSUB 590
410 IF V=3 THEN M=15:M$="un CARRE":RETURN
420 IF V=2 THEN P=2:V=0:I=I+1:IF I<4 THEN 400
430 IF P=2 AND K=1 THEN M=10:M$="un FULL":RETURN
440 IF P=2 THEN M=4:M$="un BRELAN":RETURN
450 IF V=1 AND K=0 AND I<3 THEN K=1:V=0:I=I+1:IF I<4 THEN 400
460 IF V=1 AND K=1 THEN M=3:M$="une DOUBLE PAIRE":GOTO 490
470 IF I<3 THEN I=I+1:GOTO 400
480 IF K=1 OR V=1 THEN M=1:M$="une PAIRE"
490 RETURN
500 X=50:Y=48:GOSUB 880:U=0:IF L>0 THEN PRINT "Vous avez ";M$;" et vous gagnez ";L;"x";MISE;" soit:";L*MISE;"$":CAP=CAP+L*MISE ELSE PRINT SPACE$(9);"Je suis d{sol{, mais vous avez perdu";mise;"$":'r{sultat et cumul
510 X=50:Y=50:GOSUB 880:PRINT CHR$(27);"p";" PRESSEZ <ESPACE> POUR CONTINUER OU <EXIT> POUR ARRETER ";CHR$(27);"q"
520 BA$=INKEY$:IF BA$="" THEN 520
530 IF BA$<>" " THEN IF ASC(BA$)=27 THEN FOR I=0 TO 4:PRINT CHR$(7):NEXT:PRINT CHR$(27)+"E":X=67:Y=48:GOSUB 880:PRINT "Adieu ingrat !":FOR I=1 TO 5000:NEXT:PRINT CHR$(27);"e";CHR$(27);"E";CHR$(27);"H":END:'fin par <EXIT>
540 GOSUB 550:GOTO 90
550 W=0:N=0:M=0:K=0:P=0:FOR I=1 TO 14:Z(I)=0:NEXT I:IF CAP>0 THEN RETURN
560 GOSUB 890:X=60:Y=47:GOSUB 880:PRINT "Ah Ah, je vous ai plum{ en";RO;"tours":X=48:Y=49:GOSUB 880:PRINT "Avez-vous assez de courage pour m'affronter encore une fois ?":X=70:Y=51:GOSUB 880:PRINT "(O)ui ou (N)on"
570 A2$=UPPER$(INKEY$):IF A2$="O" THEN CAP=100:RO=0:GOSUB 890:RETURN
580 IF A2$="N" THEN BA$=CHR$(27):GOTO 530 ELSE 570
590 IF V=1 AND K<>1 THEN K=1:V=0
600 RETURN
610 FOR I=0 TO 3:IF INT(Z(I))>Z(I+1) THEN Q=Z(I+1):Z(I+1)=Z(I):Z(I)=Q:R=1:'tri des cartes
620 NEXT I:IF R=1 THEN R=0:GOTO 610:'test d'une {ventuelle modification
630 S=0:FOR I=N TO 3:IF INT(Z(I+1))-INT(Z(I))=1 THEN NEXT I:S=1:RETURN
640 IF INT(Z(0))=0 AND N=0 AND INT(Z(4))=12 THEN N=1:GOTO 630:'test de l'as
650 RETURN
660 REM **** VARIABLES ET GRAPHISMES DES CARTES
670 RESTORE 1110:FOR I=0 TO 3:READ LO:FOR J=1 TO LO:READ KY:CO$(I)=CO$(I)+STRING$(KY,32+312*((J-1)/2-INT((J-1)/2))):NEXT J:FOR L=0 TO 6:A$(I,L)=MID$(CO$(I),1+7*l,7):NEXT L:NEXT I
680 C$="  "+CHR$(134)+STRING$(13,142)+CHR$(140)+" ":D$=C$+c$+c$+c$+c$
690 C1$=CHR$(134)+STRING$(13,138)+CHR$(140)
700 E$="  "+CHR$(131)+STRING$(13,139)+CHR$(137)+" ":F$=e$+e$+e$+e$+e$
710 E1$=CHR$(131)+STRING$(13,138)+CHR$(137)
720 A$="  "+CHR$(135)+STRING$(13,143)+CHR$(141)+" ":B$=a$+a$+a$+a$+a$
730 A1$=CHR$(133)+SPACE$(13)+CHR$(133)
740 PRINT CHR$(27);"H";:PRINT D$;:FOR I=1 TO 11:PRINT b$;:NEXT:PRINT f$:RETURN:'retourne les 5 cartes
750 RESTORE 910:X=32:y=47:GOSUB 880:FOR J=1 TO 12:READ MES$:FOR I=1 TO LEN(MES$):H$=MID$(MES$,I,1):'lecture et affichage des explications
760 IF H$="*" THEN PRINT CHR$(13):GOTO 800:'retour @ la ligne
770 IF H$="%" THEN h$=":" ELSE IF H$="+" THEN 860
780 IF H$="#" THEN 870 ELSE IF H$="-" THEN h$=CHR$(149)
790 PRINT h$;
800 NEXT I:NEXT J:X=0:Y=52:GOSUB 880:PRINT CHR$(27);"r":PRINT SPACE$(90):PRINT CHR$(27);"u":RETURN:'trace la ligne horizontale
810 REM **** DISTRIBUTION DES CARTES
820 Z1=INT(Z(I)):X=34+I*18:GOSUB 830:Y=35:X=X+2:GOSUB 880:PRINT C$(Z1):X=X+2:FOR KY=36 TO 42:Y=KY:GOSUB 880:PRINT A$(10*(Z(I)-INT(Z(I))),KY-36):NEXT KY:X=X+3:Y=43:GOSUB 880:PRINT SPACE$(6-LEN(C$(Z1)));C$(Z1);CHR$(7):RETURN 
830 Y=33:GOSUB 880:PRINT C1$:FOR L=34 TO 44:Y=L:GOSUB 880:PRINT A1$:NEXT L:Y=L:GOSUB 880:PRINT E1$:RETURN 
840 REM **** DESSIN DE POKER
850 RESTORE 1040:FOR I=1 TO 5:READ J:FOR KY=1 TO J:READ M,L:Y=36+I:X=35+M:GOSUB 880:PRINT STRING$(L,188):NEXT KY:NEXT I:RETURN
860 PRINT CHR$(27);"p":GOTO 800:' inversion on
870 PRINT CHR$(27);"q";:GOTO 800:' inversion off
880 PRINT CHR$(27);"Y";CHR$(Y);CHR$(X);"";:RETURN:'positionnement du curseur
890 X=0:FOR Y=46 TO 52:GOSUB 880:PRINT CHR$(27);"K":NEXT:X=91:FOR Y=54 TO 61:GOSUB 880:PRINT CHR$(27);"K":NEXT:RETURN
900 REM **** EXPLICATIONS
910 DATA Bienvenue @ Las V{gas! Je m'appelle Bill et je suis votre croupier favori...*
920 DATA Malgr{ ma ferme intention de vous plumer je vais tout de meme vous expliquez les r}gles%**
930 DATA Le jeu se fait sur 2 tours avec 5 cartes que je vous donne. Apr{s le premier tour vous*avez la possibilit{ de changer une ou plusieurs cartes en indiquant leur num{ro.*
940 DATA Le but {tant de r{aliser les combinaisons qui rapportent le plus.... En voici le d{tail%*
950 DATA +PAIRE%# 2 cartes de meme valeur.............1 fois la mise-
960 DATA +DOUBLE PAIRE%# 2 paires.....................3 fois la mise-
970 DATA +BRELAN%# 3 cartes de meme valeur............4 fois la mise-
980 DATA +QUINTE%# 5 cartes se suivant................5 fois la mise-
990 DATA +COULEUR%# 5 cartes de la meme couleur.......7 fois la mise-
1000 DATA +FULL%# Une paire et un brelan..............10 fois la mise-
1010 DATA +CARRE%# 4 cartes identiques................15 fois la mise-
1020 DATA +QUINTE ROYALE%# Quinte et couleur..........20 fois la mise-
1030 REM **** CODES DE POKER
1040 DATA 6,4,5,22,5,40,1,44,1,58,5,76,5
1050 DATA 9,4,1,8,1,22,1,26,1,40,1,43,1,58,1,76,1,80,1
1060 DATA 6,4,5,22,1,26,1,40,3,58,3,76,5
1070 DATA 8,4,1,22,1,26,1,40,1,43,1,58,1,76,1,79,1
1080 DATA 7,4,1,22,5,40,1,44,1,58,5,76,1,80,1
1090 DATA AS,2,3,4,5,6,7,8,9,10,VALET,DAME,ROI
1100 REM **** CODES DES GRAPHISMES DES COULEURS 
1110 DATA 12,1,2,1,2,1,21,1,5,3,3,5,1:'coeur
1120 DATA 14,3,1,5,3,3,5,1,7,1,5,3,3,5,1:'carreau
1130 DATA 16,3,1,5,3,3,5,1,9,1,1,1,2,3,1,5,3:'pique
1140 DATA 18,2,3,4,3,2,2,1,1,1,11,1,1,1,2,3,1,5,3:'trefle
1150 RESUME 110
1160 X=100:Y=55:GOSUB 880:PRINT "CAPITAL:";USING "#####";CAP;:PRINT "$"
1170 Y=57:GOSUB 880:PRINT "Nb DE TOURS:";USING "###";RO:RETURN

Controls

      Numeric keypad (1-5) = Select letter to change
                     + key = Change selected cards
                     SPACE = Cancel game
                    RETURN = Selection

Loading the program

 1.- Insert the CP/M disc on side 2
 2.- Write BASIC and wait for it to load
 3.- Remove the CP/M disk and insert the disk containing the game Poker Folies
 4.- Type run "POKERFR" for French and "POKERES" for Spanish and press the "ENTER" key

Extras

  • Listing of the program in a magazine with a large circulation of the time

poker_folies_01.jpg poker_folies_02.jpg poker_folies_03.jpg

Download

en/poker_folies.txt · Last modified: 2022/07/04 23:46 by jevicac