Compucolor.org – Virtual Media

Listing of file='RUMMY2.BAS;01' on disk='vmedia/chip_12-sector.ccvf'

100 OUT 8,255:OUT 8,247
110 CLEAR 25
120 PLOT 6,38,12,27,24,15
130 DIM CV(3,12),YC(1),YK(11),TS(3,3),TC(3,3)
140 DIM TK(13),SC(1),DC(1),CC(1),PU(1)
150 DIM DK(52),KD(52)
160 DIM TT$(13)
170 A$= "~e|"
180 B$= "a b"
190 C$= "lm"
200 D$= "i"
210 E$= "~eee|"
220 F$= "a   b"
230 I$= "|~"
240 J$= ": ENTER THREE LETTERS SEPARATED BY COMMAS. "
250 K$= "ENTER CARD LETTER (A-K): "
260 L$= "NO CARD THAT LETTER"
270 M$= "                                 "
280 TT$(1)= "A":TT$(2)= "2":TT$(3)= "3":TT$(4)= "4":TT$(5)= "5":TT$(6)= "6":TT$(7)= "7":TT$(8)= "8"
290 TT$(9)= "9":TT$(10)= "T":TT$(11)= "J":TT$(12)= "Q":TT$(13)= "K"
300 GOTO 320
310 PLOT 6,6,14,3,0,31,11:RETURN
320 REM
330 GOSUB 770
340 RC= 15
350 GOSUB 6390
360 PLOT 3,64,0
370 A= PEEK (33209):FOR B= 0TO RC* A:C= RND (1):NEXT B
380 PLOT 14,3,0,31,6,6
390 OUT 8,255
400 PRINT "HIT RETURN"
410 POKE 33278,0
420 C= RND (1)
430 IF PEEK (33278)= 0THEN 420
440 OUT 8,247
450 GOSUB 310:GOSUB 7990
460 KD(1)= DK(52)
470 FOR I= 1TO 10:YK(I)= DK(I+ 41):NEXT I
480 SC(1)= 31:DC(1)= 1:CC(1)= 10:YC(1)= 10
490 DK(42)= 0
500 FOR A= 32TO 41
510 CL= DK(A)
520 G1= CL:GOSUB 740:CL= G1:CM= G2
530 CV(CM- 1,CL- 1)= 1
540 NEXT A
550 X= KD(1):GOSUB 710
560 GOSUB 5000
570 X9= 57:Y9= 21:BC$= "x":PLOT 6,7:GOSUB 7910
580 GOSUB 730
590 SW= 0:GOSUB 310:OUT 8,255:INPUT "AUDIT COMPUTER ? ";Q$
600 OUT 8,247:IF LEFT$ (Q$,1)< > "Y"THEN 620
610 SW= 1
620 GOTO 1280
630 FOR II= 0TO 999:NEXT II:RETURN
640 X= DK(1):X9= 44:Y9= 21:GOSUB 7580:RETURN
650 Y9= 21:BC$= " ":PLOT 6,38:GOSUB 7910:RETURN
660 FOR IO= 1TO 30:KD(IO)= KD(IO+ 1):NEXT IO:RETURN
670 FOR IO= 1TO 30:DK(IO)= DK(IO+ 1):NEXT IO:RETURN
680 FOR IO= 31TO 2STEP - 1:KD(IO)= KD(IO- 1):NEXT IO:RETURN
690 PLOT 15,6,33,3,45,28:PRINT RIGHT$ ((STR$ (SC(1))),2):RETURN
700 PLOT 15,6,33,3,51,28:PRINT RIGHT$ ((STR$ (DC(1))),2):RETURN
710 X9= 50:Y9= 21:GOSUB 7580:RETURN
720 PLOT 15,6,33,3,58,28:PRINT RIGHT$ ((STR$ (CC(1))),2):RETURN
730 X9= 44:Y9= 21:BC$= "x":PLOT 6,7:GOSUB 7910:RETURN
740 G2= 1:FOR N1= 1TO 3
750 IF G1> 13THEN G1= G1- 13:G2= G2+ 1
760 NEXT N1:RETURN
770 REM
780 PLOT 6,33
790 PLOT 2,0,8,242,0,127,127,127,127,8,0,8,255
800 GOSUB 310
810 PLOT 14,6,1,3,26,1
820 PRINT " R U M M Y "
830 PLOT 6,35
840 PLOT 3,1,3
850 PRINT " A   2   3   4   5   6   7   8   9   T   J   Q   K"
860 PLOT 3,55,3
870 PRINT "THREE"
880 PLOT 3,55,5:PRINT "OF  A"
890 PLOT 3,55,7:PRINT "KIND "
900 PLOT 15
910 FOR X= 1TO 49STEP 4:GOSUB 1240:NEXT X
920 PLOT 6,33
930 FOR X= 1TO 62:PLOT 3,X,8:PRINT D$:NEXT X
940 PLOT 14
950 PLOT 3,1,12:PRINT "THREE OR"
960 PLOT 3,1,14:PRINT "MORE  IN"
970 PLOT 3,1,16:PRINT "SEQUENCE"
980 PLOT 6,33,15
990 FOR X= 1TO 62:PLOT 3,X,20:PRINT D$:NEXT X
1000 PLOT 6,32
1010 FOR X= 10TO 28STEP 6:FOR Y= 9TO 15STEP 6
1020 GOSUB 1250:NEXT Y,X
1030 FOR X= 40TO 58STEP 6:FOR Y= 9TO 15STEP 6
1040 GOSUB 1250:NEXT Y,X
1050 PLOT 6,38
1060 PLOT 3,4,28:PRINT "K"
1070 PLOT 3,45,28:PRINT "31     1     10"
1080 PLOT 27,10
1090 PLOT 3,1,21:PRINT "PICK-UP"
1100 PLOT 3,55,21:PRINT "DISCARD"
1110 PLOT 3,43,21:PRINT " STOCK "
1120 PLOT 3,62,21:PRINT "COMPUTER"
1130 PLOT 27,24
1140 FOR X= 12TO 30STEP 6
1150 PLOT 3,X,11:PRINT "s"
1160 PLOT 3,X,17:PRINT "d"
1170 NEXT X
1180 FOR X= 42TO 60STEP 6
1190 PLOT 3,X,11:PRINT "h"
1200 PLOT 3,X,17:PRINT "c"
1210 NEXT X
1220 PLOT 6,6,3,15,31:PRINT "COPYRIGHT 1980 BY DONALD R MILLER"
1230 RETURN
1240 PLOT 3,X,5:PRINT A$:PLOT 3,X,6:PRINT B$:PLOT 3,X,7:PRINT C$:RETURN
1250 PLOT 3,X,Y:PRINT E$:PLOT 3,X,Y+ 1:PRINT F$:PLOT 3,X,Y+ 2:PRINT F$
1260 PLOT 3,X,Y+ 3:PRINT F$:PLOT 3,X,Y+ 4:PRINT I$:RETURN
1270 RETURN
1280 REM
1290 IF CC(1)= 0THEN 6320
1300 IF SW= 0THEN 1490
1310 GOSUB 1320:GOTO 1490
1320 PLOT 15,6,33,3,0,20,11
1330 A= 1
1340 B= 1
1350 IF CV(A- 1,B- 1)= 0THEN 1430
1360 GOSUB 1370:GOTO 1430
1370 IF A= 1THEN PLOT 6,32:PRINT "s";
1380 IF A= 2THEN PLOT 6,33:PRINT "d";
1390 IF A= 3THEN PLOT 6,33:PRINT "h";
1400 IF A= 4THEN PLOT 6,32:PRINT "c";
1410 PRINT "-";TT$(B);" ";
1420 RETURN
1430 B= B+ 1:IF B< 14THEN 1350
1440 A= A+ 1:IF A< 5THEN 1340
1450 PLOT 8:PRINT
1460 PLOT 3,45,20:G1= DK(1):GOSUB 740
1470 B= G1:A= G2
1480 GOSUB 1370:PRINT :RETURN
1490 GOSUB 310
1500 OUT 8,255
1510 INPUT "PICK UP CARD:   S-STOCK   D-DISCARD      Q-QUIT  ";Q$
1520 OUT 8,247
1530 GOSUB 310
1540 Q$= LEFT$ (Q$,1)
1550 IF Q$= "Q"THEN 4810
1560 IF Q$= "S"THEN 1740
1570 IF Q$= "D"THEN 1870
1580 IF Q$= "0"OR Q$= ""THEN 1740
1590 PRINT "NOT S,D,Q"
1600 GOSUB 630
1610 GOTO 1280
1620 PRINT "STOCK EMPTY."
1630 GOSUB 630
1640 GOSUB 1650:GOTO 1280
1650 A= 1
1660 DK(A)= KD(A)
1670 A= A+ 1:IF A< 32THEN 1660
1680 SC(1)= DC(1):DC(1)= 0
1690 X9= 50:GOSUB 650:GOSUB 640
1700 GOSUB 690:GOSUB 700
1710 RETURN
1720 PRINT "NO DISCARD"
1730 GOTO 1600
1740 IF SC(1)= 0THEN 1620
1750 PU(1)= DK(1)
1760 SC(1)= SC(1)- 1
1770 GOSUB 670
1780 DK(31)= 0
1790 GOSUB 690
1800 X9= 2:Y9= 21:X= PU(1):GOSUB 7580
1810 YK(11)= PU(1)
1820 X9= 44:GOSUB 650
1830 IF SC(1)= 0THEN 1850
1840 GOSUB 730
1850 REM
1860 GOTO 1980
1870 IF DC(1)= 0THEN 1720
1880 PU(1)= KD(1)
1890 DC(1)= DC(1)- 1
1900 GOSUB 660
1910 KD(31)= 0
1920 IF DC(1)= 0THEN 1960
1930 X= KD(1):GOSUB 710
1940 GOSUB 700
1950 GOTO 1800
1960 X9= 50:GOSUB 650
1970 GOTO 1940
1980 REM
1990 GOSUB 310
2000 OUT 8,255
2010 INPUT "D-DISCARD  A-PLAY 3 ALIKE  S-PLAY 3 IN SEQUENCE  O-PLAY 1 ";Q$
2020 OUT 8,247
2030 GOSUB 310
2040 Q$= LEFT$ (Q$,1)
2050 IF Q$= "D"THEN 2140
2060 IF Q$= "A"THEN 2570
2070 IF Q$= "S"THEN 3400
2080 IF Q$= "O"THEN 4020
2090 IF Q$= "Q"THEN 4810
2100 IF Q$= "0"OR Q$= ""THEN Q$= "K":GOTO 2440
2110 PRINT "NOT D,A,S,O"
2120 GOSUB 630
2130 GOTO 1980
2140 REM
2150 GOSUB 310
2160 OUT 8,255
2170 INPUT "DISCARD A-K ";Q$
2180 GOSUB 310
2190 OUT 8,247
2200 Q$= LEFT$ (Q$,1)
2210 IF Q$= "0"OR Q$= ""THEN 2270
2220 IF Q$> "K"OR Q$< "A"THEN 2240
2230 GOTO 2290
2240 PRINT "NOT A-K"
2250 GOSUB 630
2260 GOTO 2140
2270 IF YC(1)= 0THEN 5160
2280 GOTO 1980
2290 IF Q$= "K"THEN 2440
2300 A1= ASC (Q$)- 64
2310 IF YK(A1)= 0THEN 2550
2320 DC(1)= DC(1)+ 1
2330 GOSUB 680
2340 KD(1)= YK(A1)
2350 IF PU(1)= 0THEN YK(A1)= 0:GOSUB 3240:GOTO 2370
2360 YK(A1)= PU(1)
2370 X= KD(1)
2380 YK(11)= 0
2390 GOSUB 710
2400 PU(1)= 0:X9= 2:GOSUB 650
2410 GOSUB 5000
2420 GOSUB 700
2430 GOTO 5220
2440 IF PU(1)= 0THEN 2530
2450 X9= 2:GOSUB 650
2460 X= PU(1):GOSUB 710
2470 DC(1)= DC(1)+ 1
2480 GOSUB 680
2490 KD(1)= PU(1)
2500 PU(1)= 0
2510 YK(11)= 0
2520 GOTO 2420
2530 PRINT "NO DISCARD"
2540 GOTO 2250
2550 PRINT "NO CARD IN HAND FOR LETTER "Q$
2560 GOTO 2250
2570 REM
2580 OUT 8,255
2590 PRINT "3 ALIKE";J$;:INPUT "";Q$,R$,S$
2600 OUT 8,247
2610 GOSUB 310
2620 GOSUB 2650
2630 IF U4= 1THEN U4= 0:GOTO 3370
2640 GOTO 2940
2650 Q$= LEFT$ (Q$,1)
2660 R$= LEFT$ (R$,1)
2670 S$= LEFT$ (S$,1)
2680 IF Q$< "L"AND Q$> "@"THEN 2700
2690 U4= 1:RETURN
2700 IF R$< "L"AND R$> "@"THEN 2720
2710 U4= 1:RETURN
2720 IF S$< "L"AND S$> "@"THEN 2740
2730 U4= 1:RETURN
2740 B1= ASC (Q$)- 64
2750 B2= ASC (R$)- 64
2760 B3= ASC (S$)- 64
2770 D1= B1:D2= B2:D3= B3
2780 B1= YK(B1)
2790 B2= YK(B2)
2800 B3= YK(B3)
2810 G1= B1
2820 GOSUB 740
2830 B4= G1
2840 B7= G2
2850 G1= B2
2860 GOSUB 740
2870 B5= G1
2880 B8= G2
2890 G1= B3
2900 GOSUB 740
2910 B6= G1
2920 B9= G2
2930 RETURN
2940 IF B4= B5AND B5= B6THEN GOSUB 2990:GOTO 3120
2950 PRINT "CARDS SELECTED: "Q$" "R$" "S$" ARE NOT ALIKE."
2960 GOSUB 630
2970 GOSUB 310
2980 GOTO 1980
2990 PLOT 15,6,57
3000 X= B4* 4- 3
3010 PLOT 3,X,6
3020 PRINT "   "
3030 PLOT 3,X,7
3040 PRINT "   "
3050 PLOT 3,X+ 1,7,14
3060 PRINT "3"
3070 PLOT 6,33,15
3080 PLOT 3,X,5:PRINT "~ |"
3090 PLOT 6,9,3,X+ 1,5:PRINT " "
3100 TK(B4)= 3
3110 RETURN
3120 GOSUB 3140
3130 GOTO 4420
3140 YK(D1)= 0
3150 YK(D2)= 0
3160 YK(D3)= 0
3170 GOSUB 3350
3180 YC(1)= YC(1)- 3
3190 GOSUB 3240
3200 YC(1)= YC(1)+ 1
3210 GOSUB 5000
3220 YC(1)= YC(1)- 1
3230 RETURN
3240 FOR I= 1TO 11
3250 KD(I+ 40)= YK(I)
3260 YK(I)= 0
3270 NEXT I
3280 CM= 1
3290 FOR A= 1TO 11
3300 IF KD(A+ 40)= 0THEN 3320
3310 YK(CM)= KD(A+ 40):CM= CM+ 1
3320 NEXT A
3330 PU(1)= 0
3340 RETURN
3350 X9= 2:GOSUB 650
3360 RETURN
3370 GOSUB 310
3380 PRINT "CARDS NO GOOD"
3390 GOTO 2960
3400 REM
3410 GOSUB 310
3420 OUT 8,255
3430 PRINT "3 IN SEQUENCE";J$;:INPUT "";Q$,R$,S$
3440 GOSUB 310
3450 OUT 8,247
3460 GOSUB 2650
3470 IF U4= 1THEN U4= 0:GOTO 3370
3480 IF B7= B8AND B7= B9THEN 3520
3490 PRINT "NOT SAME VALUE"
3500 GOSUB 630
3510 GOTO 1980
3520 IF B4< B5THEN 3570
3530 BA= B5:B5= B4:B4= BA
3540 IF B4< B5THEN 3570
3550 PRINT "CARDS NOT IN CONSECUTIVE SEQUENCE."
3560 GOTO 3500
3570 IF B4< B6THEN 3610
3580 BA= B6:B6= B5:B5= B4:B4= BA
3590 IF B4< B6THEN 3650
3600 GOTO 3550
3610 IF B5< B6THEN 3650
3620 BA= B5:B5= B6:B6= BA
3630 IF B5< B6THEN 3650
3640 GOTO 3550
3650 IF B4+ 1= B5AND B5+ 1= B6THEN GOSUB 3670:GOTO 4000
3660 GOTO 3550
3670 REM
3680 FOR I= 1TO 4
3690 IF TS(B7- 1,I- 1)= 0THEN 3720
3700 NEXT I
3710 END
3720 TS(B7- 1,I- 1)= B4+ 13* (B7- 1)
3730 TC(B7- 1,I- 1)= B6+ 13* (B7- 1)
3740 IF B7< 3THEN X= 6* I+ 4:GOTO 3760
3750 X= 6* I+ 34
3760 IF B7= 1OR B7= 3THEN Y= 9:GOTO 3780
3770 Y= 15
3780 PLOT 15,6,60
3790 FOR A= 0TO 4
3800 PLOT 3,X,Y+ A
3810 PRINT "     "
3820 NEXT A
3830 PLOT 3,X,Y,6,39:PRINT "~"
3840 PLOT 3,X+ 4,Y:PRINT "|"
3850 PLOT 6,60
3860 PLOT 3,X,Y+ 4:PRINT "|"
3870 PLOT 3,X+ 4,Y+ 4:PRINT "~"
3880 A= B4:B= B6
3890 CO= 57
3900 IF B7= 1OR B7= 4THEN CO= 56
3910 IF B7= 1THEN CD$= "s"
3920 IF B7= 2THEN CD$= "d"
3930 IF B7= 3THEN CD$= "h"
3940 IF B7= 4THEN CD$= "c"
3950 PLOT 14,6,CO,3,X+ 2,Y+ 4
3960 PRINT CD$
3970 PLOT 6,CO,3,X+ 1,Y+ 1
3980 PRINT TT$(A);"-";TT$(B)
3990 RETURN
4000 GOSUB 3140
4010 GOTO 4420
4020 REM
4030 OUT 8,255
4040 INPUT "A-ADD CARD TO 3 ALIKE   S-ADD CARD TO SEQUENCE ";Q$
4050 GOSUB 310
4060 Q$= LEFT$ (Q$,1)
4070 IF Q$= "0"OR Q$= ""THEN 1980
4080 IF Q$= "A"THEN 4140
4090 IF Q$= "S"THEN 4440
4100 PRINT "NOT A OR S"
4110 GOSUB 630
4120 GOSUB 310
4130 GOTO 4020
4140 OUT 8,255
4150 PRINT K$;:INPUT "";Q$
4160 OUT 8,247
4170 GOSUB 310
4180 Q$= LEFT$ (Q$,1)
4190 IF Q$> "@"AND Q$< "L"THEN 4240
4200 PRINT "NOT A-K."
4210 GOTO 4110
4220 PRINT L$
4230 GOTO 4110
4240 C1= ASC (Q$)- 64
4250 IF YK(C1)= 0THEN 4220
4260 G1= YK(C1)
4270 GOSUB 740
4280 C2= G1
4290 IF TK(C2)= 3THEN TK(C2)= 4:GOTO 4320
4300 PRINT "DO NOT HAVE 3 OF A KIND."
4310 GOTO 4110
4320 REM
4330 IF C1= 11THEN YK(11)= 0:GOTO 4350
4340 YK(C1)= PU(1)
4350 PU(1)= 0
4360 X9= 2:GOSUB 650
4370 IF U1= 1THEN U1= 0:GOTO 4390
4380 C1= C2:GOSUB 5770
4390 GOSUB 3240
4400 GOSUB 5000
4410 YC(1)= YC(1)- 1
4420 IF YK(1)= 0THEN GOSUB 5000:GOTO 5160
4425 IF YC(1)< 1THEN GOSUB 5000:GOTO 5160
4430 GOTO 2140
4440 OUT 8,255
4450 GOSUB 310
4460 PRINT K$;:INPUT "";Q$
4470 OUT 8,247
4480 GOSUB 310
4490 Q$= LEFT$ (Q$,1)
4500 IF Q$> "@"AND Q$< "L"THEN 4530
4510 PRINT "NOT A-K."
4520 GOTO 4110
4530 C1= ASC (Q$)- 64
4540 C4= C1
4550 IF YK(C1)< > 0THEN 4580
4560 PRINT L$
4570 GOTO 4110
4580 G1= YK(C1)
4590 C3= G1
4600 GOSUB 740
4610 C2= G1
4620 CM= G2
4630 PLOT 15
4640 FOR I= 1TO 4
4650 IF TS(CM- 1,I- 1)- 1= C3THEN U2= 0:GOTO 4740
4660 NEXT I
4670 FOR I= 1TO 4
4680 IF TC(CM- 1,I- 1)+ 1= C3THEN 4790
4690 NEXT I
4700 GOSUB 310
4710 PRINT "NOT IN SEQUENCE"
4720 GOSUB 630
4730 GOTO 1980
4740 YK(C1)= 0:C1= C2:II= I:CL= C3:GOSUB 5840
4750 U1= 1
4760 C1= C4
4770 GOTO 4320
4780 GOTO 2140
4790 U2= 1
4800 GOTO 4740
4810 OUT 8,255
4820 GOSUB 310
4830 INPUT "PLAY AGAIN (Y/N) ? ";Q$
4840 OUT 8,247
4850 IF LEFT$ (Q$,1)< > "Y"THEN 4890
4860 PLOT 6,38,12,27,11,15
4870 GOSUB 4930
4880 GOTO 320
4890 PLOT 6,2,27,11,15
4900 OUT 8,255
4910 LOAD "MENU":RUN
4920 END
4930 REM
4940 FOR I= 1TO 13:TK(I)= 0:NEXT I
4950 FOR I= 1TO 31:KD(A)= 0:NEXT I
4960 FOR A= 0TO 3:FOR B= 0TO 3:TS(A,B)= 0:TC(A,B)= 0:NEXT B,A
4970 SC(1)= 0:DC(1)= 0:CC(1)= 0:YC(1)= 0:PU(1)= 0
4980 FOR A= 0TO 3:FOR B= 0TO 12:CV(A,B)= 0:NEXT B,A
4990 RETURN
5000 REM
5010 PLOT 6,38,15
5020 FOR I= 21TO 28
5030 PLOT 3,10,I
5040 PRINT M$
5050 NEXT I
5060 IF YC(1)< 1THEN 5150
5070 FOR IK= YC(1)TO 1STEP - 1
5080 X= YK(IK)
5090 Y9= 21
5100 X9= 40- 3* IK
5110 GOSUB 7580
5120 PLOT 6,38,3,X9+ 1,28
5130 PRINT CHR$ (IK+ 64)
5140 NEXT IK
5150 RETURN
5160 GOSUB 310
5170 PLOT 6,14
5180 PRINT "YOU WIN !!!"
5190 O5= O5+ 1
5200 GOTO 6370
5210 RETURN
5220 IF YC(1)= 0THEN 5160
5230 IF SW= 1THEN GOSUB 1320
5240 GOSUB 310:PLOT 6,1,15,3,46,31
5250 PRINT "COMPUTER THINKING."
5260 PLOT 3,64,0
5270 IF DC(1)< > 0THEN 5300
5280 IF SC(1)< > 0THEN 6870
5290 GOTO 4810
5300 REM
5310 CL= KD(1)
5320 G1= CL
5330 GOSUB 740
5340 C1= G1
5350 CM= G2
5360 IF TK(C1)= 3THEN 5630
5370 GOSUB 5400
5380 IF V1= 0THEN 5510
5390 V1= 0:GOTO 5650
5400 FOR II= 1TO 4
5410 IF TS(CM- 1,II- 1)= 0THEN 5440
5420 IF (TS(CM- 1,II- 1)+ 12)/ 13= INT ((TS(CM- 1,II- 1)+ 12)/ 13)THEN 5440
5430 IF TS(CM- 1,II- 1)- 1= CLTHEN 5970
5440 NEXT II
5450 FOR II= 1TO 4
5460 IF TC(CM- 1,II- 1)= 0THEN 5490
5470 IF (TC(CM- 1,II- 1)/ 13)= INT (TC(CM- 1,II- 1)/ 13)THEN 5490
5480 IF TC(CM- 1,II- 1)+ 1= CLTHEN 5960
5490 NEXT II
5500 RETURN
5510 IF CC(1)< 2THEN 6870
5520 FOR A= 1TO 4
5530 IF CV(A- 1,C1- 1)< > 0THEN 5600
5540 NEXT A
5550 IF C1= 1THEN 5580
5560 IF C1= 13THEN 5610
5570 IF CV(CM- 1,C1- 2)< > 0THEN 5600
5580 IF CV(CM- 1,C1)< > 0THEN 5600
5590 GOTO 6870
5600 U6= 1:GOTO 5650
5610 IF CV(CM- 1,C1- 2)< > 0THEN 5600
5620 GOTO 5590
5630 GOSUB 5770
5640 GOTO 5650
5650 DC(1)= DC(1)- 1
5660 GOSUB 660:KD(31)= 0
5670 IF DC(1)= 0THEN 5750
5680 X= KD(1):GOSUB 710
5690 GOSUB 700
5700 IF U6= 0THEN 6220
5710 U6= 0
5720 CV(CM- 1,C1- 1)= 1
5730 GOSUB 6010
5740 GOTO 7040
5750 X9= 50:GOSUB 650
5760 GOTO 5690
5770 X= C1* 4- 3
5780 PLOT 15,6,15
5790 PLOT 3,X,5:PRINT "` `"
5800 PLOT 3,X,6:PRINT " 4 "
5810 PLOT 3,X,7:PRINT "` `"
5820 TK(C1)= 4
5830 RETURN
5840 IF CM< 3THEN X= 6* II+ 4:GOTO 5860
5850 X= 6* II+ 34
5860 IF CM= 1OR CM= 3THEN Y= 9:GOTO 5880
5870 Y= 15
5880 IF U2= 1THEN TC(CM- 1,II- 1)= CL:GOTO 5900
5890 TS(CM- 1,II- 1)= CL
5900 IF CM= 1OR CM= 4THEN CO= 56:GOTO 5920
5910 CO= 57
5920 PLOT 6,7,14,31
5930 IF U2= 1THEN U2= 0:GOSUB 6000:GOSUB 630:PLOT 6,CO,15,14:GOSUB 6000:GOTO 5950
5940 GOSUB 5990:GOSUB 630:PLOT 6,CO,15,14:GOSUB 5990
5950 RETURN
5960 U2= 1
5970 GOSUB 5840
5980 V1= 1:GOTO 5500
5990 PLOT 3,X+ 1,Y+ 1:PRINT TT$(C1):RETURN
6000 PLOT 3,X+ 3,Y+ 1:PRINT TT$(C1):RETURN
6010 FOR P2= 32TO 42
6020 IF DK(P2)= 0THEN DK(P2)= CL:GOTO 6040
6030 NEXT P2
6040 RETURN
6050 FOR P2= 32TO 42
6060 IF DK(P2)= CNTHEN DK(P2)= 0:GOTO 6080
6070 NEXT P2
6080 RETURN
6090 REM
6100 PLOT 3,64,0
6110 FOR P2= 32TO 42
6120 IF DK(P2)= 0THEN 6270
6130 CL= DK(P2)
6140 G1= CL
6150 GOSUB 740
6160 C1= G1
6170 CM= G2
6180 GOSUB 5400
6190 IF V1= 0THEN 6260
6200 V1= 0
6210 CV(CM- 1,C1- 1)= 0
6220 CC(1)= CC(1)- 1
6230 GOSUB 720
6240 CN= C1+ 13* (CM- 1):GOSUB 6050
6250 GOTO 6440
6260 IF TK(C1)= 3THEN 6290
6270 NEXT P2
6280 GOTO 6440
6290 GOSUB 5770
6300 CV(CM- 1,C1- 1)= 0
6310 GOTO 6220
6320 X9= 57:GOSUB 650
6330 GOSUB 310
6340 PLOT 6,56
6350 PRINT "COMPUTER WINS !!!"
6360 O6= O6+ 1
6370 GOSUB 630
6380 GOSUB 6390:GOTO 4810
6390 PLOT 6,38,15,3,18,1
6400 PRINT "YOU-";O5
6410 PLOT 3,38,1
6420 PRINT O6;"-CC2"
6430 RETURN
6440 PLOT 3,64,0
6450 F1= 0:F2= 0
6460 FOR P2= 32TO 42
6470 IF DK(P2)< > 0THEN 6580
6480 NEXT P2
6490 IF F1= 0THEN 6320
6500 IF CC(1)= 0THEN 6320
6510 CV(F1- 1,F2- 1)= 0
6520 DC(1)= DC(1)+ 1
6530 GOSUB 680
6540 KD(1)= F2+ 13* (F1- 1)
6550 CN= KD(1):GOSUB 6050
6560 X= KD(1):GOSUB 710:GOSUB 700
6570 GOTO 1280
6580 A= DK(P2):F3= DK(P2):B= 1
6590 G1= A:GOSUB 740
6600 A= G1
6610 B= G2
6620 F1= B:F2= A
6630 CU= 0:BB= 1
6640 IF CV(BB- 1,A- 1)< > 0THEN CU= CU+ 1
6650 BB= BB+ 1:IF BB< 5THEN 6640
6660 IF CU> 1THEN 6480
6670 IF A= 1THEN 6740
6680 IF A= 13THEN 6830
6690 IF CV(B- 1,A- 2)< > 0THEN 6480
6700 IF CV(B- 1,A)< > 0THEN 6480
6710 GOTO 6750
6720 F1= B:F2= A
6730 GOTO 6510
6740 IF CV(B- 1,1)< > 0THEN 6480
6750 FOR II= 1TO 4
6760 IF A= 1THEN 6850
6770 IF A= 13THEN 6790
6780 IF TS(B- 1,II- 1)- 1= F3THEN 6480
6790 IF TS(B- 1,II- 1)+ 1= F3THEN 6480
6800 NEXT II
6810 IF TK(A)= 3THEN 6480
6820 GOTO 6720
6830 IF CV(B- 1,11)< > 0THEN 6480
6840 GOTO 6750
6850 IF TS(B- 1,II- 1)- 1= F3THEN 6480
6860 GOTO 6800
6870 REM
6880 PLOT 3,64,0
6890 IF SC(1)= 0THEN GOSUB 2212:GOTO 6870
6900 SC(1)= SC(1)- 1
6910 C1= DK(1)
6920 CL= C1:GOSUB 6010
6930 GOSUB 670:DK(31)= 0
6940 GOSUB 690
6950 X9= 44:GOSUB 650
6960 IF SC(1)= 0THEN 6980
6970 GOSUB 730
6980 REM
6990 G1= C1
7000 GOSUB 740
7010 C2= G1
7020 CM= G2
7030 CV(CM- 1,C2- 1)= 1
7040 GOTO 7160
7050 REM
7060 FOR P2= 32TO 42
7070 IF DK(P2)< > 0THEN 7100
7080 NEXT P2
7090 GOTO 6090
7100 G1= DK(P2)
7110 GOSUB 740
7120 A= G1
7130 B= G2
7140 IF TK(A)= 0THEN 7400
7150 GOTO 7080
7160 REM
7170 FOR P2= 32TO 42
7180 IF DK(P2)< > 0THEN 7210
7190 NEXT P2
7200 GOTO 7050
7210 G1= DK(P2)
7220 GOSUB 740
7230 A= G1
7240 B= G2
7250 IF A< 12THEN 7270
7260 GOTO 7190
7270 IF CV(B- 1,A)< > 0THEN 7290
7280 GOTO 7190
7290 IF CV(B- 1,A+ 1)< > 0THEN 7310
7300 GOTO 7190
7310 B4= A:B6= A+ 2:B7= B
7320 CV(B- 1,A- 1)= 0:CV(B- 1,A)= 0:CV(B- 1,A+ 1)= 0
7330 CN= A+ 13* (B- 1):GOSUB 6050
7340 CN= A+ 1+ 13* (B- 1):GOSUB 6050
7350 CN= A+ 2+ 13* (B- 1):GOSUB 6050
7360 CC(1)= CC(1)- 3
7370 GOSUB 720
7380 GOSUB 3670
7390 GOTO 6440
7400 CT= 0
7410 IF CV(0,A- 1)= 1THEN CT= CT+ 1
7420 IF CV(1,A- 1)= 1THEN CT= CT+ 1
7430 IF CV(2,A- 1)= 1THEN CT= CT+ 1
7440 IF CV(3,A- 1)= 1THEN CT= CT+ 1
7450 IF CT> 2THEN 7470
7460 GOTO 7080
7470 B4= A
7480 GOSUB 2990
7490 B= 1
7500 CT= 0
7510 IF CV(B- 1,A- 1)< > 0THEN CV(B- 1,A- 1)= 0:CN= A+ 13* (B- 1):GOSUB 6050:CT= CT+ 1
7520 IF CT= 3THEN B= 5
7530 B= B+ 1:IF B< 5THEN 7510
7540 CC(1)= CC(1)- 3
7550 GOSUB 720
7560 GOTO 6440
7570 REM
7580 PLOT 15
7590 IF X< 1THEN 7900
7600 IF X> 39THEN Q= X- 39:P$= "c":PLOT 6,56:CO= 56:GOTO 7640
7610 IF X> 26THEN Q= X- 26:P$= "h":PLOT 6,57:CO= 57:GOTO 7640
7620 IF X> 13THEN Q= X- 13:P$= "d":PLOT 6,57:CO= 57:GOTO 7640
7630 Q= X:P$= "s":PLOT 6,56:CO= 56
7640 PLOT 27,10:FOR II= 0TO 4:PLOT 3,X9+ II,Y9:PRINT "       ":NEXT II
7650 IF Q> 9THEN 7720
7660 IF Q> 5THEN 7730
7670 IF Q> 3THEN 7740
7680 IF Q= 1OR Q= 5OR Q= 7THEN 7750
7690 IF Q= 2OR Q= 8THEN 7760
7700 IF Q= 3OR Q= 9OR Q> 10THEN 7770
7710 GOTO 7780
7720 PLOT 3,X9+ 1,Y9+ 1:PRINT P$;P$;P$;P$;P$:PLOT 3,X9+ 3,Y9+ 1:PRINT P$;P$;P$;P$;P$:GOTO 7700
7730 PLOT 3,X9+ 1,Y9+ 1:PRINT P$" "P$" "P$:PLOT 3,X9+ 3,Y9+ 1:PRINT P$" "P$" "P$:GOTO 7680
7740 PLOT 3,X9+ 1,Y9+ 1:PRINT P$"   "P$:PLOT 3,X9+ 3,Y9+ 1:PRINT P$"   "P$:GOTO 7680
7750 PLOT 3,X9+ 2,Y9+ 3:PRINT P$:GOTO 7780
7760 PLOT 3,X9+ 2,Y9+ 2:PRINT P$" "P$:GOTO 7780
7770 PLOT 3,X9+ 2,Y9+ 1:PRINT P$" "P$" "P$
7780 REM
7790 PLOT 27,24
7800 PLOT 3,X9,Y9:PRINT "neeeo"
7810 PLOT 3,X9,Y9+ 6:PRINT "lm"
7820 PLOT 27,10
7830 PLOT 3,X9,Y9+ 1:PRINT "aaaaa"
7840 PLOT 3,X9+ 4,Y9+ 1:PRINT "bbbbb"
7850 PLOT 6,CO,27,24
7860 IF Q= 10THEN PLOT 3,X9,Y9:PRINT "10":PLOT 3,X9+ 3,Y9+ 6:PRINT "10":GOTO 7900
7870 PLOT 3,X9,Y9:PRINT TT$(Q)
7880 PLOT 3,X9+ 4,Y9+ 6:PRINT TT$(Q)
7890 IF Q> 10THEN PLOT 3,X9+ 2,Y9+ 3:PRINT TT$(Q)
7900 RETURN
7910 PLOT 15
7920 BC$= BC$+ BC$+ BC$+ BC$+ BC$
7930 FOR AA= 0TO 6
7940 PLOT 3,X9,Y9+ AA
7950 PRINT BC$
7960 NEXT AA
7970 PLOT 3,64,0
7980 RETURN
7990 FOR A= 1TO 52:KD(A)= 0:NEXT A
8000 PLOT 6,1,14
8010 FOR I= 52TO 1STEP - 1
8020 PLOT 3,26,31:PRINT "SHUFFLING";I;" "
8030 PLOT 3,64,0
8040 DK(I)= INT (52* RND (1)+ 1)
8050 IF KD(DK(I))= 1THEN 8040
8060 AA= PEEK (33209)
8070 IF AA= 3* ITHEN FOR B= 0TO I:C= RND (1):NEXT B
8080 KD(DK(I))= 1
8090 NEXT I
8100 GOSUB 310
8110 PLOT 15
8120 FOR A= 1TO 52:KD(A)= 0:NEXT A
8130 RETURN
8140 END