35 lines
1.3 KiB
QBasic
35 lines
1.3 KiB
QBasic
10 PRINT CHR$(147):PRINT " DICE POKER":PRINT
|
|
20 PRINT "ROLL FIVE DICE. KEEP ANY DICE TWICE."
|
|
30 PRINT "ENTER POSITIONS TO KEEP, LIKE 135.":PRINT
|
|
40 PRINT "PRESS ANY KEY"
|
|
50 GET A$:IF A$="" THEN 50
|
|
60 R=RND(-TI):DIM D(5),C(6):K$=""
|
|
70 FOR T=1 TO 3:FOR I=1 TO 5:H=0
|
|
75 FOR J=1 TO LEN(K$):IF VAL(MID$(K$,J,1))=I THEN H=1
|
|
80 NEXT:IF T=1 OR H=0 THEN D(I)=INT(RND(1)*6)+1
|
|
90 NEXT I:PRINT CHR$(147):PRINT "ROLL";T;"OF 3":PRINT
|
|
100 FOR I=1 TO 5:PRINT " [";D(I);"]";:NEXT:PRINT:PRINT
|
|
110 IF T=3 THEN 150
|
|
120 PRINT "KEEP WHICH POSITIONS? (Q QUITS)";:INPUT K$
|
|
130 IF K$="Q" THEN 270
|
|
140 NEXT
|
|
150 FOR I=1 TO 6:C(I)=0:NEXT:SM=0
|
|
160 FOR I=1 TO 5:C(D(I))=C(D(I))+1:SM=SM+D(I):NEXT
|
|
170 P=0:TR=0:F=0:FOR I=1 TO 6
|
|
180 IF C(I)=2 THEN P=P+1
|
|
190 IF C(I)=3 THEN TR=1
|
|
200 IF C(I)=4 THEN F=1
|
|
210 IF C(I)=5 THEN F=2
|
|
220 NEXT:SC=SM:N$="HIGH DICE"
|
|
230 IF P=1 THEN SC=SM+10:N$="ONE PAIR"
|
|
235 IF P=2 THEN SC=SM+25:N$="TWO PAIRS"
|
|
240 IF TR THEN SC=SM+30:N$="THREE OF A KIND"
|
|
245 IF TR AND P THEN SC=40:N$="FULL HOUSE"
|
|
250 IF F=1 THEN SC=60:N$="FOUR OF A KIND"
|
|
255 IF F=2 THEN SC=75:N$="FIVE OF A KIND"
|
|
257 ST=C(1)*C(2)*C(3)*C(4)*C(5)+C(2)*C(3)*C(4)*C(5)*C(6)
|
|
260 IF ST THEN SC=50:N$="STRAIGHT"
|
|
265 PRINT N$:PRINT "SCORE";SC:PRINT:PRINT "R=PLAY AGAIN Q=QUIT"
|
|
270 GET A$:IF A$="R" THEN RUN
|
|
280 IF A$<>"Q" THEN 270
|
|
290 PRINT CHR$(147):END
|