====== POKER FOLIES ====== {{:otros:Poker_folies_p1.jpg?690|}} ===== Info ===== ^ Author | Logi'Stick | ^ Computer | Amstrad PCW 8256 / 8512 / 9512 | ^ Year | 1986 | ^ Gender | Card game | ^ Controls | Keyboard | ^ Languages | French and Spanish | ^ Status | [[preserved|Preserved]] | ===== Screenshots ===== {{:otros:Poker_folies_screenshot01.png?220}} {{:otros:Poker_folies_screenshot02.png?220}} {{:otros:Poker_folies_screenshot03.png?220}} {{:otros:Poker_folies_screenshot04.png?220}} ===== 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 ":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 - 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 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 POUR CONTINUER OU 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 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 {{:otros:Poker_folies_01.jpg?170}} {{:otros:Poker_folies_02.jpg?170}} {{:otros:Poker_folies_03.jpg?170}} ===== Download ===== * {{:otros:Poker_Folies_French.zip|Poker Folies (French) }}(game in dsk format, zipped) * {{:otros:Poker_Folies_Spanish.zip|Poker Folies (Spanish) }}(game in dsk format, zipped)