120 G1$ = " ABCDEFGHIJKLMNO":G2$ = "ABCDEFGHIJKLMNOP": FOR X = 1 TO 16:A$(X) = "": NEXT X
130 HGR :A$ = "HI THERE":VT = 4:HT = 1: GOSUB 1020:A$ = "WHAT IS YOUR NAME ?":VT = 6:HT = 1: GOSUB 1020
140 VTAB 24: HTAB 16: PRINT "(MAX 9 CHARS)";: VTAB 22: HTAB 16: INPUT N$: IF LEN(N$) >9 THEN HOME : PRINT CHR$(7): GOTO 140
150 E = 0: GOSUB 1160: IF E = 1 THEN 140
160 HOME : HGR :A$ = "WOULD YOU LIKE":VT = 2:HT = 0: GOSUB 1020:A$ = "THE INSTRUCTIONS":VT = 4: GOSUB 1020:A$ = N$ +" ?":VT = 6: GOSUB 1020: VTAB 22: HTAB 16: INPUT A$: IF LEFT$(A$,1) = "N" THEN 270
170 HGR2 :A$ = "HAND PUZZLE":VT = 1:HT = 0: GOSUB 1020:A$ = "IS PLAYED ON A":VT = 3:HT = 21: GOSUB 980:A$ = "4 X 4 PLAYING BOARD":VT = 5:HT = .2: GOSUB 980
180 A$ = "THE LETTERS":VT = 7:HT = 0: GOSUB 980:A$ = "ABCDEFGHIJKLMNOP":VT = 4: GOSUB 1020:A$ = "ARE SCATTERED AROUND THE BOARD AND YOUR":VT = 11: GOSUB 980
190 A$ = "JOB IS TO PUT THEM IN ORDER":VT = 13: GOSUB 980:A$ = "THERE ARE TWO PUZZLE VARIATIONS":VT = 15: GOSUB 980:A$ = "THAT YOU MAY CHOOSE FROM":VT = 17: GOSUB 980
240 A$ = "TO DO SO YOU MUST":VT = 8: GOSUB 980:A$ = "SELECT THE TOP LEFT":VT = 9: GOSUB 980:A$ = "LETTER OF THE 4 THAT":VT = 10: GOSUB 980:A$ = "YOU WANT TO ROTATE":VT = 11: GOSUB 980
250 A$ = "FOR INSTANCE IF YOU":VT = 13: GOSUB 980:A$ = "TOUCHED THE LETTER G":VT = 14: GOSUB 980:A$ = "THE BOARD WOULD CHANGE TO":VT = 15: GOSUB 980
260 A$ = "A B C D":VT = 17:HT = 5: GOSUB 980:A$ = "E F H L":VT = 18:HT = 5: GOSUB 980:A$ = "I J G K":VT = 19:HT = 5: GOSUB 980:A$ = "M N O P":VT = 20:HT = 5: GOSUB 980:A$ = "PRESS RETURN TO CONTINUE":VT = 22:HT = 7: GOSUB 980: GET A$: PRINT
270 HGR2 :T = 0: FOR X = 0 TO 9 STEP 2:T = T +1:A$ = "GOOD LUCK":VT = X:HT = 6: ON T GOSUB 1090,1100,1110,1120,1120: GOSUB 1020: NEXT X: GOSUB 1130
280 TEXT : HOME : VTAB 10: PRINT "WHICH PUZZLE WILL YOU TRY ?": PRINT : PRINT "1. PUZZLE #1-MOVE ONE LETTER EACH TURN.": PRINT : PRINT "2. PUZZLE #2-ROTATE 4 LETTERS EACH TURN.": PRINT : PRINT "WHICH ? ";: GET G$: IF G$ = CHR$(27) THEN TEXT : HOME : END
290 G = VAL(G$): IF G <1 OR G >2 THEN 280
300 GOSUB 880
310 VTAB 22: HTAB 10: INVERSE : PRINT " SETTING UP THE BOARD ": NORMAL
320 FOR X = 1 TO 16
330 A = INT( RND(1) *16 +65): FOR Y = 1 TO 16: ON (A$(Y)) = CHR$(A) GOTO 330: NEXT Y
340 A$(X) = CHR$(A): NEXT X:TR = 0: IF G = 2 THEN 370
350 FOR X = 1 TO 16: IF A$(X) = "P" THEN A$(X) = " "
360 NEXT X
370 GOSUB 730: GOSUB 1140
380 VTAB 22: HTAB 30: PRINT "MOVE "TR: VTAB 22: PRINT "WHAT IS YOUR MOVE, ";N$;" ";: GET M$: GOSUB 1140
390 IF M$ = "0" THEN 700
400 TR = TR +1: VTAB 22: HTAB 30: PRINT "MOVE "TR
410 FOR X = 1 TO 16: IF M$ = A$(X) THEN M = X: GOTO 430
420 NEXT X: GOSUB 760: GOTO 380
430 T = 0: IF G = 2 AND (M/4 = INT(M/4) OR M >11) THEN GOSUB 760: GOTO 380
440 IF G = 2 THEN 780
450 REM GAME 1
460 ON M GOTO 470,480,480,490,500,510,510,520,500,510,510,520,530,540,540,550
880 HGR : HCOLOR= 3: FOR X = 45 TO 125 STEP 40: HPLOT X,5 TO X,145: NEXT X: FOR X = 40 TO 110 STEP 35: HPLOT 5,X TO 165,X: NEXT X
890 HCOLOR= 5: FOR X = 0 TO 165 STEP 165: FOR Y = X TO X +5: HPLOT Y,0 TO Y,150: NEXT Y,X: FOR X = 0 TO 145 STEP 145: FOR Y = X TO X +5: HPLOT 0,Y TO 165,Y: NEXT Y,X
900 HCOLOR= 3: FOR X = 214 TO 242 STEP 14: HPLOT X,2 TO X,50: NEXT X: FOR X = 14 TO 38 STEP 12: HPLOT 200,X TO 256,X: NEXT X
910 HCOLOR= 5: FOR X = 198 TO 256 STEP 58: FOR Y = X TO X +1: HPLOT Y,0 TO Y,51: NEXT Y,X: FOR X = 0 TO 50 STEP 50: FOR Y = X TO X +1: HPLOT 200,Y TO 256,Y: NEXT Y,X