10 CLEAR:COLOR 7,9,1 20 '*** SHUFFLE CARDS *** 30 DIM C(52):DIM T(52):DIM C$(52):RANDOMIZE(TIMER) 40 FOR X=1 TO 52 50 READ C$(X) 60 C(X) = X :NEXT X 70 FOR X=1 TO 52 80 T(X) = INT(RND*10000) 90 NEXT X 100 FOR X=1 TO 52 110 FOR Y=(X+1) TO 52 120 IF T(X) > T(Y) THEN TEMP=T(X):T(X)=T(Y):T(Y)=TEMP:TEMP=C(X):C(X)=C(Y):C(Y)=TEMP:'TEMP$=C$(X):C$(X)=C$(Y):C$(Y)=TEMP$ 130 NEXT Y:NEXT X 140 '*** START *** 150 CLS:PRINT:PRINT 160 PRINT " ÉÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍ»" 170 PRINT " ÌÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎ͹" 180 PRINT " º º º º" 190 PRINT " º º º º" 200 PRINT " º º WELCOME TO KING'S CORNER!!! º º" 210 PRINT " º º º º" 220 PRINT " º º PROGRAM WRITTEN BY DAN BUCK º º" 230 PRINT " º º º º" 240 PRINT" º º º º" 250 PRINT" ÌÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎ͹" 260 PRINT" ÈÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊͼ" 270 PRINT:PRINT:PRINT" ";:GOSUB 5020 275 ST=TIMER 280 '***DEAL*** 290 CLS:DIM PH(26):DIM CH(26) 300 FOR X=1 TO 14 310 IF X<8 THEN PH(X)=C(X) 320 IF X>7 THEN CH(X-7)=C(X) 330 NEXT X 340 D=19 350 '*** SHOW BOARD*** 360 LOCATE 5,30:PRINT"123"; 370 LOCATE 6,30:PRINT"4±5"; 380 LOCATE 7,30:PRINT"678"; 390 LOCATE 3,30:IF C(15)>26 THEN COLOR 0 ELSE COLOR 4 400 PRINT C$(C(15));:TT=C(15):TB=C(15) 410 LOCATE 9,30:IF C(16)>26 THEN COLOR 0 ELSE COLOR 4 420 PRINT C$(C(16));:BT=C(16):BB=C(16) 430 LOCATE 6,22:IF C(17)>26 THEN COLOR 0 ELSE COLOR 4 440 PRINT C$(C(17));:LL=C(17):LR=C(17) 450 LOCATE 6,39:IF C(18)>26 THEN COLOR 0 ELSE COLOR 4 460 PRINT C$(C(18));:COLOR 7:RL=C(18):RR=C(18) 470 TL=0:TR=0:BL=0:BR=0 480 'PH(1)=13:PH(2)=38:PH(3)=11:PH(4)=36:PH(5)=9:PH(6)=34:PH(7)=7:C(19)=32 490 LOCATE 14,7:PRINT"PLAYER" 500 FOR X=1 TO 7 510 IF PH(X)>26 THEN COLOR 0 ELSE COLOR 4 520 PRINT C$(PH(X))" ";:NEXT X:COLOR 7 530 PRINT:PRINT"A B C D E F G H I J K L M N O Q R S T U V W X Y Z" 540 LOCATE 18,7:PRINT"COMPUTER" 550 FOR X=1 TO 7 560 PRINT "±± ";:NEXT X 570 COLOR 7 580 LOCATE 23,20:GOSUB 5020 590 '***PLAY*** 600 PC=7:COC=7 610 IF D>52 THEN D=8 615 IF D=15 THEN LOCATE 6,31:PRINT" ";:GOTO 640 620 PC=PC+1 630 PH(PC)=C(D):D=D+1 640 LOCATE 15,1:PRINT" ":LOCATE 15,1 650 FOR X=1 TO PC 660 IF PH(X)>26 THEN COLOR 0 ELSE COLOR 4 670 PRINT C$(PH(X))" ";:NEXT X:COLOR 7 680 LOCATE 23,1:PRINT"CHOOSE A NUMBER OR LETTER TO PLAY OR MOVE, OR PRESS 'P' TO PASS":GOSUB 5030 690 IF (I$<"1" OR I$>"8") AND (I$<"A" OR I$>"Z") THEN 680 700 IF I$="P"THEN 1400 710 I=ASC(I$):IF I>80 THEN I=I-1 720 IF I>64 AND I<91 THEN CP=PH(I-64) ELSE 1150 730 LOCATE 23,1:PRINT" ":LOCATE 23,6:PRINT"PRESS THE NUMBER OF THE REGION TO PLAY THE CARD" 740 I$=INKEY$:IF I$<"1" OR I$>"8" THEN 740 ELSE I=ASC(I$)-48 750 ON I GOTO 760,770,780,790,800,810,820,830 760 CC=TL:H1=2:V1=20:H2=4:V2=25:GOSUB 950:TL=CC:GOTO 1040 770 IC=TB:OC=TT:H1=1:V1=30:H2=3:V2=30:GOSUB 850:TB=IC:TT=OC:GOTO 1040 780 CC=TR:H1=2:V1=42:H2=4:V2=37:GOSUB 950:TR=CC:GOTO 1040 790 IC=LR:OC=LL:H1=6:V1=19:H2=6:V2=22:GOSUB 850:LR=IC:LL=OC:GOTO 1040 800 IC=RL:OC=RR:H1=6:V1=42:H2=6:V2=39:GOSUB 850:RL=IC:RR=OC:GOTO 1040 810 CC=BL:H1=10:V1=20:H2=8:V2=25:GOSUB 950:BL=CC:GOTO 1040 820 IC=BT:OC=BB:H1=11:V1=30:H2=9:V2=30:GOSUB 850:BT=IC:BB=OC:GOTO 1040 830 CC=BR:H1=10:V1=42:H2=8:V2=37:GOSUB 950:BR=CC:GOTO 1040 840 '***PLAY MIDDLE*** 850 IF IC=0 THEN 920 860 IF (CP<27 AND OC<27) OR (OC>26 AND CP>26) THEN 1120 870 Z=INT(100*(OC/13-INT(OC/13))) 880 ZZ=INT(100*(CP/13-INT(CP/13)+1/13)):IF ZZ>98 THEN ZZ=0 890 IF Z=ZZ THEN LOCATE H1,V1 ELSE 1120 900 IF CP>26 THEN COLOR 0 ELSE COLOR 4 910 PRINT C$(CP);:OC=CP:COLOR 7:RETURN 920 LOCATE H2,V2:IF CP>26 THEN COLOR 0 ELSE COLOR 4 930 PRINT C$(CP);:IC=CP:OC=CP:COLOR 7:RETURN 940 '***PLAY CORNER*** 950 IF CC=0 AND (CP/13=INT(CP/13)) THEN 1020 960 IF (CP<27 AND CC<27) OR (CC>26 AND CP>26) THEN 1120 970 Z=INT(100*(CC/13-INT(CC/13))) 980 ZZ=INT(100*(CP/13-INT(CP/13)+1/13)):IF ZZ>98 THEN ZZ=0 990 IF Z=ZZ THEN LOCATE H1,V1 ELSE 1120 1000 IF CP>26 THEN COLOR 0 ELSE COLOR 4 1010 PRINT C$(CP);:CC=CP:COLOR 7:RETURN 1020 LOCATE H2,V2:IF CP>26 THEN COLOR 0 ELSE COLOR 4 1030 PRINT C$(CP);:CC=CP:COLOR 7:RETURN 1040 '***REMOVE CARD FROM HAND*** 1050 MV$="FALSE" 1060 FOR X= 1 TO 25 1070 IF PH(X)=CP THEN MV$="TRUE":PC=PC-1 1080 IF PC=0 THEN LOCATE 15,1:ET=TIMER-ST:PRINT"CONGRATULATIONS! YOU WIN!! ";:INPUT"PLAY AGAIN (Y/N)? ",A$:IF A$="Y" THEN 10 ELSE CLS:PRINT"IT TOOK YOU"INT(ET/60)"MINUTES AND"INT(ET-(INT(ET/60))*60)"SECONDS TO WIN.":END 1090 IF MV$="TRUE" THEN PH(X)=PH(X+1) 1100 NEXT X 1110 GOTO 640 1120 '***BAD MOVE*** 1130 LOCATE 23,5:PRINT"BAD MOVE!! PRESS ANY KEY TO TRY AGAIN ":GOSUB 5030 1140 GOTO 640 1150 '***MOVE STACK*** 1160 LOCATE 23,1:PRINT" ENTER THE POSITION TO MOVE TO. ":GOSUB 5030:IF I$<"1" OR I$>"8" THEN 1160 1170 MT=ASC(I$)-48 1180 I=I-48:ON I GOTO 1190,1200,1190,1210,1220,1190,1230,1190 1190 GOTO 1130 1200 CP=TB:TC=TT:GOTO 1240 1210 CP=LR:TC=LL:GOTO 1240 1220 CP=RL:TC=RR:GOTO 1240 1230 CP=BT:TC=BB:GOTO 1240 1240 ON MT GOTO 1250,1260,1270,1280,1290,1300,1310,1320 1250 CC=TL:H1=2:V1=20:H2=4:V2=25:GOSUB 950:TL=TC:GOTO 1330 1260 IC=TB:OC=TT:H1=1:V1=30:H2=3:V2=30:GOSUB 850:TB=IC:TT=TC:GOTO 1330 1270 CC=TR:H1=2:V1=42:H2=4:V2=37:GOSUB 950:TR=TC:GOTO 1330 1280 IC=LR:OC=LL:H1=6:V1=19:H2=6:V2=22:GOSUB 850:LR=IC:LL=TC:GOTO 1330 1290 IC=RL:OC=RR:H1=6:V1=42:H2=6:V2=39:GOSUB 850:RL=IC:RR=TC:GOTO 1330 1300 CC=BL:H1=10:V1=20:H2=8:V2=25:GOSUB 950:BL=TC:GOTO 1330 1310 IC=BT:OC=BB:H1=11:V1=30:H2=9:V2=30:GOSUB 850:BT=IC:BB=TC:GOTO 1330 1320 CC=BR:H1=10:V1=42:H2=8:V2=37:GOSUB 950:BR=TC:GOTO 1330 1330 IF I=2 THEN TB=0:TT=0:LOCATE 1,30:PRINT" ";:LOCATE 3,30:PRINT" "; 1340 IF I=4 THEN LR=0:LL=0:LOCATE 6,19:PRINT" ";:LOCATE 6,22:PRINT" "; 1350 IF I=5 THEN RL=0:RR=0:LOCATE 6,42:PRINT" ";:LOCATE 6,39:PRINT" "; 1360 IF I=7 THEN BT=0:BB=0:LOCATE 11,30:PRINT" ";:LOCATE 9,30:PRINT" "; 1370 IF TC/13=INT(TC/13) THEN 640 1380 LOCATE H1,V1:IF TC>26 THEN COLOR 0 ELSE COLOR 4 1390 PRINT C$(TC);:COLOR 7:GOTO 640 1400 '*** COMPUTER PLAY*** 1405 GOTO 610 1410 IF D>52 THEN LOCATE 6,31:PRINT" ";:GOTO 1440 1420 COC=COC+1:CH(COC)=C(D):D=D+1 1430 LOCATE 19,1:PRINT" ":LOCATE 19,1 1440 FOR X=1 TO COC 1460 PRINT "±± ";:NEXT X 1470 FOR I=1 TO 8 5000 GOTO 680 5010 COLOR 7:END 5020 PRINT"PRESS ANY KEY TO CONTINUE" 5030 I$=INKEY$:IF I$="" THEN 5030 5040 RETURN 5050 DATA A,2,3,4,5,6,7,8,9,T,J,Q,K 5060 DATA A,2,3,4,5,6,7,8,9,T,J,Q,K 5070 DATA A,2,3,4,5,6,7,8,9,T,J,Q,K 5080 DATA A,2,3,4,5,6,7,8,9,T,J,Q,K