10 CLEAR:SCREEN 2:COLOR 7,0:CLS:WIDTH40 20 DIM M(8,8),KY(32),CL(9):SN=0:KY(32)=0:KY(31)=5:KY(30)=1:KY(29)=7:KY(28)=3 22 CL(0)=0:CL(1)=2:CL(2)=4:CL(3)=6:CL(4)=2:CL(5)=4:CL(6)=6:CL(7)=2:CL(8)=4:CL(9)=6 25 GOSUB 9130:GOTO 7000 30 FOR J=0 TO 8:FOR I=0 TO 8:CH(I,J)=0:NEXT:NEXT 36 REM 40 REM 100 REM 200 CLS 210 FOR K=0 TO 10:CH=INT(RND(1)*7)+1:I=INT(RND(1)*7)+1 215 J=INT(RND(1)*7)+1:M(I,J)=CH:V=I+1:W=J+1:GOSUB 5000:NEXT 400 X=4:Y=4:SF=0:CL=7:V=X:W=Y:GOSUB 3000 500 K=ASC(INKEY$) 502 IF(K=0) THEN GOTO 500 503 IF(K=32)THEN GOTO 700 505 IF K>27ANDK<32THENS1=KY(K) 540 IF(S1<>7)AND(S1<>1)AND(S1<>3)AND(S1<>5)THEN GOTO 500 545 CL=0 550 IF(S1=1)AND(Y>1)THENV=X:W=Y:GOSUB3000:Y=Y-1:V=X:W=Y:CL=7:GOSUB3000 560 IF(S1=5)AND(Y<7)THENV=X:W=Y:GOSUB3000:Y=Y+1:V=X:W=Y:CL=7:GOSUB3000 570 IF(S1=3)AND(X<7)THENV=X:W=Y:GOSUB3000:X=X+1:V=X:W=Y:CL=7:GOSUB3000 580 IF(S1=7)AND(X>1)THENV=X:W=Y:GOSUB3000:X=X-1:V=X:W=Y:CL=7:GOSUB3000 600 GOTO 500 700 REM 710 ON SF+1 GOTO 720,740 720 IF M(X,Y)=0 THEN 500 730 IF M(X,Y)<>0 THEN 1700 740 IF (X=X1)AND(Y=Y1) THEN 500 742 REM 750 SF=0:X2=X:Y2=Y 752 IF M(X2,Y2)=0 THEN GOTO 770 754 IF M(X2,Y2)<>0 THEN GOTO 500 770 CL=0:V=X1:W=Y1:GOSUB 4000:M(X2,Y2)=M(X1,Y1):CL=150:M(X1,Y1)=0 775 CH=M(X2,Y2):V=X2+1:W=Y2+1:GOSUB5000:GOSUB1000:GOSUB1080 790 I=INT(RND(1)*7)+1:J=INT(RND(1)*7)+1:CH=INT(RND(1)*7)+1 794 IF (M(I,J)<>0) THEN 790 796 IF (M(I,J)=0) THEN 800 800 M(I,J)=CH:V=I+1:W=J+1:GOSUB 5000:BT=0 805 GOSUB1030:BT=0:GOSUB1090:GOSUB8000:GOTO500 1000 J=Y2:BT=0 1030 FOR I=1 TO 7 1035 REM 1040 IF(M(I+1,J)<>0)AND(M(I,J)<>0)AND(M(I,J)=M(I+1,J))THEN BT=BT+1 1045 REM IF(M(I+1,J)=0)OR(M(I,J)=0)OR(M(I,J)<>M(I+1,J))THEN BT=0 1050 IF BT> 5THEN SN=SN+1:GOSUB8000:W=J:GOSUB 1500 1070 NEXT 1075 RETURN 1080 I=X2:BT=0 1090 FOR J=1 TO 7 1091 REM 1093 IF(M(I,J+1)<>0)AND(M(I,J)<>0)AND(M(I,J)=M(I,J+1))THEN BT=BT+1 1094 REM IF(M(I,J+1)=0)OR(M(I,J)=0)OR(M(I,J)<>M(I,J+1))THEN BT=0 1095 IF BT>5 THEN SN=SN+1:GOSUB 8000:V=I:GOSUB1800 1096 NEXT 1097 RETURN 1500 FORV=(I-BT+1)TO(I+1):M(V,J)=0:CL=0:GOSUB4000:NEXT:BT=0:RETURN 1700 SF=1:X1=X:Y1=Y:V=X1:W=Y1:CL=7:GOSUB 2000:GOTO500 1800 FORW=(J-BT+1)TO(J+1):M(I,W)=0:CL=0:GOSUB 4000:NEXT W:BT=0:RETURN 2000 XX=V*16:YY=W*16:QUAD(XX+16,YY+16)-(XX+31,YY+31),CL:RETURN 3000 XX=V*16:YY=W*16:QUAD(XX+16,YY+16)-(XX+32,YY+32),CL:RETURN 4000 CH=0:V=V+1:W=W+1:GOSUB 5000:V=V-1:W=W-1:RETURN 5000 LOCATE V * 2 ,W * 2:COLOR CL(CH):PRINT CH$(CH);:COLOR 7:RETURN 7000 CLS:LOCATE 4,1:PRINT "MARK PUZZLE"; 7020 FOR CH=1 TO 7:V=CH+0:W=4:GOSUB5000:NEXT 7040 LOCATE 4,13:PRINT "[PUSH SPACE]"; 7045 REM LOCATE 2,15:PRINT "PUSH [TRIGER] PLAY" 7060 IF INKEY$=" " THEN :GOTO 30 7070 GOTO 7060 8000 CH=1:W=11 8020 FOR V=1 TO SN 8030 GOSUB 5000 8040 NEXT 8050 IF SN>8 THEN GOTO 25 8060 RETURN 9130 RESTORE 50010 9140 FOR J = 0 TO 7 9170 READ A$:DEFCHR$(224 + J * 4 + 0) = A$:CH$(J) = CHR$(224 + J * 4 + 0) 9180 READ A$:DEFCHR$(224 + J * 4 + 1) = A$:CH$(J) = CH$(J) + CHR$(224 + J * 4 + 1) + CHR$(29)+CHR$(29) + CHR$(31) 9190 READ A$:DEFCHR$(224 + J * 4 + 2) = A$:CH$(J) = CH$(J) + CHR$(224 + J * 4 + 2) 9200 READ A$:DEFCHR$(224 + J * 4 + 3) = A$:CH$(J) = CH$(J) + CHR$(224 + J * 4 + 3) 9210 NEXT J 9220 RETURN 50000 REM ********* CHR 50010 REM HERRT 50020 DATA FFFFFFFFFFFFFFFF 50030 DATA FFFFFFFFFFFFFFFF 50040 DATA FFFFFFFFFFFFFFFF 50050 DATA FFFFFFFFFFFFFFFF 50060 REM HERTT 50070 DATA 00387CFEFEFEFEFE 50080 DATA 001C3E7F7F7F7F7F 50090 DATA FCF8F0F0E0C08000 50100 DATA 3F1F0F0F05030100 50110 REM HEART 50120 DATA 00387CFEFEFEFEFE 50130 DATA 001C3E7F7F7F7F7F 50140 DATA FCF8F0F0E0C08000 50150 DATA 3F1F0F0F05030100 50160 REM DIA 50170 DATA 0080C0E0E0F0F8FC 50180 DATA 00010307070F1F3F 50190 DATA FCF8F0E0E0C08000 50200 DATA 3F1F0F0707030100 50210 REM DIA 50220 DATA 0080C0E0E0F0F8FC 50230 DATA 00010307070F1F3F 50240 DATA FCF8F0E0E0C08000 50250 DATA 3F1F0F0707030100 50260 REM DAIA 50270 DATA 0080C0E0E0F0F8FC 50280 DATA 00010307070F1F3F 50290 DATA FCF8F0E0E0C08000 50300 DATA 3F1F0F0707030100 50310 REM SPADE 50320 DATA 0080C0E0F0F8FCFC 50330 DATA 000103070F1F3F3F 50340 DATA FEFEFEFEFC9C80C0 50350 DATA 7F7F7F7F3F390103 50360 REM SPADE 50370 DATA 0080C0E0F0F8FCFC 50380 DATA 000103070F1F3F3F 50390 DATA FEFEFEFEFC9C80C0 50400 DATA 7F7F7F7F3F390103