220 DIM X(500):DIM Y(500):G=0:COLOR 7 250 REM ---FOR NEW GAME--- 280 S=0:O=-1 300 GOSUB 1000 600 REM ---GAME MAIN LOOP--- 610 GOSUB 2000 615 I=ZTIME:J=INT(ZTIME/50)*50+50 620 IF ZTIME>=I AND ZTIMEG THEN G=S:GOSUB 5000 760 IF INKEY$<>CHR$(13) THEN GOTO 760 900 GOTO 250 1000 REM ====WRITE SCREEN SUB=== 1110 CLS 1120 GOSUB 4000:PRINT 1130 FOR J=1 TO 23 1140 PRINT"*";SPACE$(23);"*" 1150 NEXT J 1160 GOSUB 4000 1180 GOSUB 5000 1190 REM ---READY HEBI--- 1200 FOR I=0 TO 9 1205 X(I)=20:Y(I)=10+I 1210 LOCATE X(I),Y(I):PRINT"H" 1220 NEXT I 1250 LOCATE X(0),10:PRINT"O" 1260 B=0:E=9:F=0 1300 REM ---- READY MOUSE SUB ---- 1340 M=INT(RND*23)+1:L=INT(RND*24)+1 1360 IF PEEK(L,M)<>ASC(" ") THEN GOTO 1300 1361 IF PEEK(L,M-1)<>ASC(" ") THEN GOTO 1300 1362 IF PEEK(L-1,M)<>ASC(" ") THEN GOTO 1300 1363 IF PEEK(L+1,M)<>ASC(" ") THEN GOTO 1300 1364 IF PEEK(L,M+1)<>ASC(" ") THEN GOTO 1300 1370 LOCATE L,M:PRINT"Q" 1900 RETURN 2000 REM ==== MOVE HEBI SUB ==== 2100 D$=INKEY$ 2110 IF D$="j" THEN F=-1:Z=0 2120 IF D$="l" THEN F=1:Z=0 2130 IF D$="i" THEN F=0:Z=-1 2140 IF D$="m" THEN F=0:Z=1 2150 IF F=0 AND Z=0 THEN RETURN 2200 I=X(B):J=Y(B):LOCATE I,J:PRINT"H" 2220 I=I+F:J=J+Z 2305 IF PEEK(I,J)=ASC("Q") THEN GOSUB 3000:GOTO 2400 2310 IF PEEK(I,J)<>ASC(" ") THEN F=0:Z=0:O=0 2400 LOCATE I,J:PRINT"O"; 2500 B=B-1:IF B<0 THEN B=499 2510 X(B)=I:Y(B)=J 2610 LOCATE X(E),Y(E):PRINT " " 2620 E=E-1:IF E<0 THEN E=499 2900 RETURN 3000 REM ==== HIT MOUSE SUB ==== 3100 S=S+1:GOSUB 5500 3200 E=E+1 3300 GOSUB 1300 3900 RETURN 4000 REM ==== ? STR("*") SUB ==== 4100 PRINT"*************************"; 4900 RETURN 5000 REM ==== PRINT DATA SUB ==== 5100 LOCATE 27,5:PRINT"[[ HUSTLE ]]"; 5200 LOCATE 27,11:PRINT"GREAT ";G;" "; 5500 REM ---- PRINT SCORE SUB ---- 5600 LOCATE 27,14:PRINT"SCORE ";S;" "; 5900 RETURN