tss8/shuffl.bas

49 lines
1.3 KiB
QBasic
Raw Permalink Normal View History

2021-04-13 18:58:17 -04:00
10 REM SHUFFL - SHUFFLE DECK OF PLAYING CARDS
20 REM 2021/4/3 DAVID MEYER (PAPA AT SDF.ORG) +JMJ
30
40 DEF FNS(C)=INT(C/13)
50 DEF FNR(C)=C-INT(C/13)*13
60
70 DIM S1$(4),S2$(4)
80 LET S1$(0)="C"\LET S2$(0)="CLUBS"
90 LET S1$(1)="D"\LET S2$(1)="DIAMND"
100 LET S1$(2)="H"\LET S2$(2)="HEARTS"
110 LET S1$(3)="S"\LET S2$(3)="SPADES"
120 LET S1$(4)="*J"\LET S2$(4)="JOKER"
130
140 DIM R1$(12),R2$(12)
150 LET R1$(0)="A"\LET R2$(0)="ACE"
160 LET R1$(1)="2"\LET R2$(1)="TWO"
170 LET R1$(2)="3"\LET R2$(2)="THREE"
180 LET R1$(3)="4"\LET R2$(3)="FOUR"
190 LET R1$(4)="5"\LET R2$(4)="FIVE"
200 LET R1$(5)="6"\LET R2$(5)="SIX"
210 LET R1$(6)="7"\LET R2$(6)="SEVEN"
220 LET R1$(7)="8"\LET R2$(7)="EIGHT"
230 LET R1$(8)="9"\LET R2$(8)="NINE"
240 LET R1$(9)="T"\LET R2$(9)="TEN"
250 LET R1$(10)="J"\LET R2$(10)="JACK"
260 LET R1$(11)="Q"\LET R2$(11)="QUEEN"
270 LET R1$(12)="K"\LET R2$(12)="KING"
280
340 LET C0=51
350 DIM D(53)
360 FOR C=0 TO C0
370 LET D(C)=C
380 NEXT C
390
400 RANDOMIZE
410 FOR I=C0 TO 0 STEP -1
420 LET J=INT((I+1)*RND(0))
430 LET T=D(I)\LET D(I)=D(J)\LET D(J)=T
440 NEXT I
450
460 FOR I=0 TO C0
465 IF FNS(D(I)) = 4 THEN 475
470 PRINT R1$(FNR(D(I)));S1$(FNS(D(I)));" ";
471 GO TO 480
475 PRINT S1$(FNS(D(I)));" ";
480 NEXT I
490
2046 END