' Worm game\r
' by Svjatoslav Agejenko 2002\r
\r
-DECLARE FUNCTION cnum$ (a%)\r
-DECLARE SUB putworm (a%)\r
-DECLARE SUB level (a%)\r
-DECLARE SUB showb ()\r
-DECLARE SUB sc2 (x%, y%)\r
-DECLARE SUB ai (a%)\r
-DECLARE SUB autop (a%)\r
-DECLARE SUB stat ()\r
-DECLARE SUB prc (a%)\r
-DECLARE SUB stuff ()\r
-DECLARE SUB dead (a%)\r
-DECLARE SUB add (a%)\r
-DECLARE SUB tkt ()\r
-DECLARE SUB subt (b%)\r
-DECLARE SUB show ()\r
-DECLARE SUB start ()\r
-DECLARE SUB init ()\r
-DECLARE SUB sc (x%, y%)\r
+DECLARE FUNCTION cnum$(a%)\r
+DECLARE SUB putworm(a%)\r
+DECLARE SUB level(a%)\r
+DECLARE SUB showb()\r
+DECLARE SUB sc2(x%, y%)\r
+DECLARE SUB ai(a%)\r
+DECLARE SUB autop(a%)\r
+DECLARE SUB stat()\r
+DECLARE SUB prc(a%)\r
+DECLARE SUB stuff()\r
+DECLARE SUB dead(a%)\r
+DECLARE SUB add(a%)\r
+DECLARE SUB tkt()\r
+DECLARE SUB subt(b%)\r
+DECLARE SUB show()\r
+DECLARE SUB start()\r
+DECLARE SUB init()\r
+DECLARE SUB sc(x%, y%)\r
DEFINT A-Z\r
\r
DIM SHARED buf(0 TO 36, 0 TO 36)\r
wai = 0\r
wai = 20\r
\r
-\r
auto(1) = 0\r
auto(2) = 0\r
auto(3) = 0\r
auto(5) = 0\r
CLS\r
\r
-INPUT "How mutch players 1 - 5:", ussm\r
-INPUT "How mutch of them is computers:", a\r
+INPUT "How many players (1 - 5):", ussm\r
+INPUT "How many of them are computers:", a\r
FOR b = ussm TO ussm - a + 1 STEP -1\r
-auto(b) = 1\r
+ auto(b) = 1\r
NEXT b\r
\r
-INPUT "How mutch lives:", elum\r
-INPUT "Speed: (1-slow 3-ok 10-very fast)", spd\r
-\r
+INPUT "How many lives:", elum\r
+INPUT "Speed: (1-slow, 3-ok, 10-very fast)", spd\r
\r
start\r
\r
tkt\r
SOUND 0, 5 / spd\r
IF mtm >= 15 THEN\r
-mtm = 1\r
-lvl = lvl + 1\r
-level lvl\r
+ mtm = 1\r
+ lvl = lvl + 1\r
+ level lvl\r
END IF\r
GOTO 1\r
\r
-SUB ai (a)\r
+SUB ai(a%)\r
+ FOR y = 0 TO 36\r
+ FOR x = 0 TO 36\r
+ buf2(x, y) = 32000\r
+ IF buf(x, y) = 2 THEN buf2(x, y) = 0\r
+ IF buf(x, y) > 9 OR buf(x, y) = 1 THEN buf2(x, y) = -1\r
+ NEXT x\r
+ NEXT y\r
+\r
+ IF buf2(16, 16) = 32000 THEN buf2(16, 16) = 15000\r
+\r
+ 6\r
+ b = 0\r
+ FOR y = 1 TO 35\r
+ FOR x = 1 TO 34\r
+ IF (buf2(x + 1, y) > buf2(x, y) + 1) AND (buf2(x, y) >= 0) THEN\r
+ buf2(x + 1, y) = buf2(x, y) + 1\r
+ b = 1\r
+ END IF\r
+ NEXT x\r
+\r
+ FOR x = 35 TO 2 STEP -1\r
+ IF (buf2(x - 1, y) > buf2(x, y) + 1) AND (buf2(x, y) >= 0) THEN\r
+ buf2(x - 1, y) = buf2(x, y) + 1\r
+ b = 1\r
+ END IF\r
+ NEXT x\r
+\r
+ IF (buf2(1, y) > buf2(35, y) + 1) AND (buf2(35, y) >= 0) THEN\r
+ buf2(1, y) = buf2(35, y) + 1\r
+ b = 1\r
+ END IF\r
+\r
+ IF (buf2(35, y) > buf2(1, y) + 1) AND (buf2(1, y) >= 0) THEN\r
+ buf2(35, y) = buf2(1, y) + 1\r
+ b = 1\r
+ END IF\r
+ NEXT y\r
+\r
+ FOR x = 1 TO 35\r
+ FOR y = 1 TO 34\r
+ IF (buf2(x, y + 1) > buf2(x, y) + 1) AND (buf2(x, y) >= 0) THEN\r
+ buf2(x, y + 1) = buf2(x, y) + 1\r
+ b = 1\r
+ END IF\r
+ NEXT y\r
+\r
+ FOR y = 35 TO 2 STEP -1\r
+ IF (buf2(x, y - 1) > buf2(x, y) + 1) AND (buf2(x, y) >= 0) THEN\r
+ buf2(x, y - 1) = buf2(x, y) + 1\r
+ b = 1\r
+ END IF\r
+ NEXT y\r
+\r
+ IF (buf2(x, 1) > buf2(x, 35) + 1) AND (buf2(x, 35) >= 0) THEN\r
+ buf2(x, 1) = buf2(x, 35) + 1\r
+ b = 1\r
+ END IF\r
+\r
+ IF (buf2(x, 35) > buf2(x, 1) + 1) AND (buf2(x, 1) >= 0) THEN\r
+ buf2(x, 35) = buf2(x, 1) + 1\r
+ b = 1\r
+ END IF\r
+ NEXT x\r
+\r
+ IF b = 1 THEN GOTO 6\r
+\r
+ tx = ux(a)\r
+ ty = uy(a)\r
+ 'sc2 tx, ty\r
+\r
+ d = 0\r
+ 7\r
+ b = 32001\r
+ tmpxp = 0\r
+ tmpyp = 0\r
+ IF (buf2(tx - 1, ty) < b) AND (buf2(tx - 1, ty) >= 0) THEN\r
+ b = buf2(tx - 1, ty)\r
+ tmpxp = -1\r
+ tmpyp = 0\r
+ c = 1\r
+ END IF\r
+\r
+ IF (buf2(tx, ty - 1) < b) AND (buf2(tx, ty - 1) >= 0) THEN\r
+ b = buf2(tx, ty - 1)\r
+ tmpxp = 0\r
+ tmpyp = -1\r
+ c = 2\r
+ END IF\r
+\r
+ IF (buf2(tx + 1, ty) < b) AND (buf2(tx + 1, ty) >= 0) THEN\r
+ b = buf2(tx + 1, ty)\r
+ tmpxp = 1\r
+ tmpyp = 0\r
+ c = 3\r
+ END IF\r
+\r
+ IF (buf2(tx, ty + 1) < b) AND (buf2(tx, ty + 1) >= 0) THEN\r
+ b = buf2(tx, ty + 1)\r
+ tmpxp = 0\r
+ tmpyp = 1\r
+ c = 4\r
+ END IF\r
+\r
+ IF b = 32001 THEN\r
+ 'SOUND 3000, 1\r
+ tmpxp = -1\r
+ tmpyp = 0\r
+ c = 1\r
+ b = -1\r
+ END IF\r
+\r
+ buf2(tx, ty) = -1\r
+ d = d + 1\r
+ ussk(d, a) = c\r
+ tx = tx + tmpxp\r
+ ty = ty + tmpyp\r
+\r
+ IF tx = 1 THEN tx = 34\r
+ IF ty = 1 THEN ty = 34\r
+ IF tx = 35 THEN tx = 2\r
+ IF ty = 35 THEN ty = 2\r
+\r
+ e = buf2(tx, ty)\r
+ buf2(tx, ty) = -1\r
+\r
+ sc2 tx, ty\r
+\r
+ IF d > ail THEN GOTO 8\r
+\r
+ IF (e > 0) AND (b > -1) THEN GOTO 7\r
+\r
+ 8\r
+ d = d + 1\r
+ ussk(d, a) = 5\r
+ usskp(a) = 1\r
+\r
+ showb\r
+END SUB\r
\r
+SUB autop(a%)\r
+ c = 0\r
+\r
+ 5\r
+ IF usskp(a) > 0 THEN\r
+ b = ussk(usskp(a), a)\r
+\r
+ IF b = 1 THEN\r
+ uxp(a) = -1\r
+ uyp(a) = 0\r
+ ELSEIF b = 2 THEN\r
+ uxp(a) = 0\r
+ uyp(a) = -1\r
+ ELSEIF b = 3 THEN\r
+ uxp(a) = 1\r
+ uyp(a) = 0\r
+ ELSEIF b = 4 THEN\r
+ uxp(a) = 0\r
+ uyp(a) = 1\r
+ ELSEIF b = 5 THEN\r
+ ai a\r
+ GOTO 5\r
+ END IF\r
+\r
+ usskp(a) = usskp(a) + 1\r
+ END IF\r
+\r
+ nx = ux(a) + uxp(a)\r
+ ny = uy(a) + uyp(a)\r
+\r
+ b = buf(INT(nx), INT(ny))\r
+\r
+ IF (b = 1 OR b > 9) AND (c = 0) THEN\r
+ ai a\r
+ c = 1\r
+ GOTO 5\r
+ END IF\r
+END SUB\r
\r
-FOR y = 0 TO 36\r
-FOR x = 0 TO 36\r
-buf2(x, y) = 32000\r
-IF buf(x, y) = 2 THEN buf2(x, y) = 0\r
-IF buf(x, y) > 9 OR buf(x, y) = 1 THEN buf2(x, y) = -1\r
-NEXT x\r
-NEXT y\r
+FUNCTION cnum$(a%)\r
+ b$ = STR$(a%)\r
\r
-IF buf2(16, 16) = 32000 THEN buf2(16, 16) = 15000\r
+ IF LEFT$(b$, 1) = " " THEN\r
+ b$ = RIGHT$(b$, LEN(b$) - 1)\r
+ END IF\r
\r
+ cnum$ = b$\r
+END FUNCTION\r
\r
-6\r
-b = 0\r
-FOR y = 1 TO 35\r
-FOR x = 1 TO 34\r
-IF (buf2(x + 1, y) > buf2(x, y) + 1) AND (buf2(x, y) >= 0) THEN buf2(x + 1, y) = buf2(x, y) + 1: b = 1\r
-NEXT x\r
-FOR x = 35 TO 2 STEP -1\r
-IF (buf2(x - 1, y) > buf2(x, y) + 1) AND (buf2(x, y) >= 0) THEN buf2(x - 1, y) = buf2(x, y) + 1: b = 1\r
-NEXT x\r
+SUB dead(a%)\r
+ elud(a) = elud(a) - 1\r
+ putworm a\r
+END SUB\r
\r
-IF (buf2(1, y) > buf2(35, y) + 1) AND (buf2(35, y) >= 0) THEN buf2(1, y) = buf2(35, y) + 1: b = 1\r
-IF (buf2(35, y) > buf2(1, y) + 1) AND (buf2(1, y) >= 0) THEN buf2(35, y) = buf2(1, y) + 1: b = 1\r
-NEXT y\r
+SUB init()\r
+ level 1\r
+END SUB\r
\r
-FOR x = 1 TO 35\r
-FOR y = 1 TO 34\r
-IF (buf2(x, y + 1) > buf2(x, y) + 1) AND (buf2(x, y) >= 0) THEN buf2(x, y + 1) = buf2(x, y) + 1: b = 1\r
-NEXT y\r
-FOR y = 35 TO 2 STEP -1\r
-IF (buf2(x, y - 1) > buf2(x, y) + 1) AND (buf2(x, y) >= 0) THEN buf2(x, y - 1) = buf2(x, y) + 1: b = 1\r
-NEXT y\r
+SUB level(a%)\r
+ LOCATE 5, 5\r
+ PRINT "G E T R E A D Y"\r
\r
+ LOCATE 7, 5\r
+ PRINT "L E V E L :"; a%\r
\r
-IF (buf2(x, 1) > buf2(x, 35) + 1) AND (buf2(x, 35) >= 0) THEN buf2(x, 1) = buf2(x, 35) + 1: b = 1\r
-IF (buf2(x, 35) > buf2(x, 1) + 1) AND (buf2(x, 1) >= 0) THEN buf2(x, 35) = buf2(x, 1) + 1: b = 1\r
-NEXT x\r
+ FOR b = 1 TO wai\r
+ SOUND 0, 1\r
+ NEXT b\r
\r
-IF b = 1 THEN GOTO 6\r
-\r
-tx = ux(a)\r
-ty = uy(a)\r
-'sc2 tx, ty\r
-\r
-d = 0\r
-7\r
-b = 32001\r
-tmpxp = 0\r
-tmpyp = 0\r
-IF (buf2(tx - 1, ty) < b) AND (buf2(tx - 1, ty) >= 0) THEN b = buf2(tx - 1, ty): tmpxp = -1: tmpyp = 0: c = 1\r
-IF (buf2(tx, ty - 1) < b) AND (buf2(tx, ty - 1) >= 0) THEN b = buf2(tx, ty - 1): tmpxp = 0: tmpyp = -1: c = 2\r
-IF (buf2(tx + 1, ty) < b) AND (buf2(tx + 1, ty) >= 0) THEN b = buf2(tx + 1, ty): tmpxp = 1: tmpyp = 0: c = 3\r
-IF (buf2(tx, ty + 1) < b) AND (buf2(tx, ty + 1) >= 0) THEN b = buf2(tx, ty + 1): tmpxp = 0: tmpyp = 1: c = 4\r
-\r
-IF b = 32001 THEN\r
-'SOUND 3000, 1\r
-tmpxp = -1\r
-tmpyp = 0\r
-c = 1\r
-b = -1\r
-END IF\r
+ CLS\r
\r
-buf2(tx, ty) = -1\r
-d = d + 1\r
-ussk(d, a) = c\r
-tx = tx + tmpxp\r
-ty = ty + tmpyp\r
-IF tx = 1 THEN tx = 34\r
-IF ty = 1 THEN ty = 34\r
-IF tx = 35 THEN tx = 2\r
-IF ty = 35 THEN ty = 2\r
-e = buf2(tx, ty)\r
-buf2(tx, ty) = -1\r
+ FOR y = 0 TO 36\r
+ FOR x = 0 TO 36\r
+ buf(x, y) = 0\r
+ NEXT x\r
+ NEXT y\r
\r
-sc2 tx, ty\r
-IF d > ail THEN GOTO 8\r
-IF (e > 0) AND (b > -1) THEN GOTO 7\r
-8\r
-d = d + 1\r
-ussk(d, a) = 5\r
-usskp(a) = 1\r
+ FOR x = 0 TO 36\r
+ buf(x, 0) = 1\r
+ buf(x, 36) = 1\r
+ buf(0, x) = 1\r
+ buf(36, x) = 1\r
+ NEXT x\r
\r
-'DIM SHARED ussk(1 TO 2000, 1 TO 5)\r
-'DIM SHARED usskp(1 TO 5)\r
+ b$ = cnum(a%) + ".lvl"\r
\r
+ OPEN b$ FOR INPUT AS #1\r
\r
-showb\r
+ 10\r
+ IF EOF(1) <> 0 THEN GOTO 11\r
\r
-END SUB\r
+ LINE INPUT #1, c$\r
\r
-SUB autop (a)\r
-c = 0\r
-5\r
-IF usskp(a) > 0 THEN\r
-b = ussk(usskp(a), a)\r
-IF b = 1 THEN uxp(a) = -1: uyp(a) = 0\r
-IF b = 2 THEN uxp(a) = 0: uyp(a) = -1\r
-IF b = 3 THEN uxp(a) = 1: uyp(a) = 0\r
-IF b = 4 THEN uxp(a) = 0: uyp(a) = 1\r
-IF b = 5 THEN ai a: GOTO 5\r
-usskp(a) = usskp(a) + 1\r
-END IF\r
+ IF LEFT$(c$, 1) = "/" THEN\r
+ d = d + 1\r
\r
-nx = ux(a) + uxp(a)\r
-ny = uy(a) + uyp(a)\r
-b = buf(INT(nx), INT(ny))\r
-IF (b = 1 OR b > 9) AND (c = 0) THEN ai a: c = 1: GOTO 5\r
+ IF d > 35 THEN\r
+ GOTO 12\r
+ END IF\r
\r
+ g = LEN(c$)\r
\r
-END SUB\r
+ IF g > 36 THEN\r
+ g = 36\r
+ END IF\r
\r
-FUNCTION cnum$ (a)\r
+ FOR e = 2 TO g\r
+ f$ = RIGHT$(LEFT$(c$, e), 1)\r
\r
-b$ = STR$(a)\r
-IF LEFT$(b$, 1) = " " THEN b$ = RIGHT$(b$, LEN(b$) - 1)\r
-cnum$ = b$\r
+ IF f$ = "#" OR f$ = "m" THEN\r
+ buf(e - 1, d) = 1\r
+ ELSE\r
+ buf(e - 1, d) = 0\r
+ END IF\r
+ NEXT e\r
+ END IF\r
\r
-END FUNCTION\r
+ 12\r
+ GOTO 10\r
\r
-SUB dead (a)\r
-elud(a) = elud(a) - 1\r
-putworm a\r
-END SUB\r
+ 11\r
+ CLOSE #1\r
\r
-SUB init\r
-level 1\r
-END SUB\r
+ stuff\r
+ show\r
\r
-SUB level (a)\r
-LOCATE 5, 5\r
-PRINT "G E T R E A D Y"\r
-LOCATE 7, 5\r
-PRINT "L E V E L :"; a\r
+ FOR b = 1 TO ussm\r
+ ussl(b) = 0\r
+ putworm b\r
+ NEXT b\r
\r
-FOR b = 1 TO wai\r
-SOUND 0, 1\r
-NEXT b\r
-CLS\r
+ stat\r
+END SUB\r
\r
+SUB prc(a%)\r
+ subt a\r
\r
-FOR y = 0 TO 36\r
-FOR x = 0 TO 36\r
-buf(x, y) = 0\r
-NEXT x\r
-NEXT y\r
+ ussp(a) = ussp(a) + 1\r
\r
-FOR x = 0 TO 36\r
-buf(x, 0) = 1\r
-buf(x, 36) = 1\r
-buf(0, x) = 1\r
-buf(36, x) = 1\r
-NEXT x\r
+ IF elud(a) = 0 THEN\r
+ GOTO 4\r
+ END IF\r
\r
+ IF auto(a) = 1 THEN\r
+ autop a\r
+ END IF\r
\r
+ ux(a) = ux(a) + uxp(a)\r
+ uy(a) = uy(a) + uyp(a)\r
\r
-b$ = cnum(a) + ".lvl"\r
-OPEN b$ FOR INPUT AS #1\r
-d = 0\r
-10\r
-IF EOF(1) <> 0 THEN GOTO 11\r
-LINE INPUT #1, c$\r
-IF LEFT$(c$, 1) = "/" THEN\r
-d = d + 1\r
-IF d > 35 THEN GOTO 12\r
-g = LEN(c$)\r
-IF g > 36 THEN g = 36\r
-FOR e = 2 TO g\r
-f$ = RIGHT$(LEFT$(c$, e), 1)\r
-IF f$ = "#" OR f$ = "m" THEN buf(e - 1, d) = 1 ELSE buf(e - 1, d) = 0\r
-NEXT e\r
-END IF\r
-12\r
+ IF ux(a) = 35 THEN\r
+ ux(a) = 2\r
+ END IF\r
\r
-GOTO 10\r
-11\r
+ IF uy(a) = 35 THEN\r
+ uy(a) = 2\r
+ END IF\r
\r
-CLOSE #1\r
+ IF ux(a) = 1 THEN\r
+ ux(a) = 34\r
+ END IF\r
\r
+ IF uy(a) = 1 THEN\r
+ uy(a) = 34\r
+ END IF\r
\r
-stuff\r
-show\r
+ x = ux(a)\r
+ y = uy(a)\r
\r
+ 3\r
+ IF buf(x, y) = 2 THEN\r
+ buf(x, y) = 0\r
\r
-FOR b = 1 TO ussm\r
-ussl(b) = 0\r
-putworm b\r
-NEXT b\r
-stat\r
-END SUB\r
+ sc x, y\r
\r
-SUB prc (a)\r
+ stuff\r
\r
-subt a\r
-ussp(a) = ussp(a) + 1\r
+ ussl(a) = ussl(a) + mtm\r
\r
-IF elud(a) = 0 THEN GOTO 4\r
+ usss(a) = usss(a) + mtm\r
\r
-IF auto(a) = 1 THEN autop a\r
+ FOR b = 1 TO ussm\r
+ IF (elud(b) > 0) AND (auto(b) = 1) THEN\r
+ ai b\r
+ END IF\r
+ NEXT b\r
\r
+ stat\r
\r
+ GOTO 3\r
+ END IF\r
\r
-ux(a) = ux(a) + uxp(a)\r
-uy(a) = uy(a) + uyp(a)\r
-IF ux(a) = 35 THEN ux(a) = 2\r
-IF uy(a) = 35 THEN uy(a) = 2\r
-IF ux(a) = 1 THEN ux(a) = 34\r
-IF uy(a) = 1 THEN uy(a) = 34\r
+ IF buf(x, y) > 0 THEN\r
+ dead a\r
\r
+ GOTO 4\r
+ END IF\r
\r
-x = ux(a)\r
-y = uy(a)\r
+ IF a = 1 THEN\r
+ buf(x, y) = 10\r
+ ELSEIF a = 2 THEN\r
+ buf(x, y) = 11\r
+ ELSEIF a = 3 THEN\r
+ buf(x, y) = 12\r
+ ELSEIF a = 4 THEN\r
+ buf(x, y) = 13\r
+ ELSEIF a = 5 THEN\r
+ buf(x, y) = 14\r
+ END IF\r
\r
-3\r
-IF buf(x, y) = 2 THEN\r
-buf(x, y) = 0\r
-sc x, y\r
-stuff\r
-ussl(a) = ussl(a) + mtm\r
-usss(a) = usss(a) + mtm\r
-FOR b = 1 TO ussm\r
-IF (elud(b) > 0) AND (auto(b) = 1) THEN ai b\r
-NEXT b\r
-stat\r
-GOTO 3\r
-END IF\r
+ sc x, y\r
\r
-IF buf(x, y) > 0 THEN dead a: GOTO 4\r
-IF a = 1 THEN buf(x, y) = 10\r
-IF a = 2 THEN buf(x, y) = 11\r
-IF a = 3 THEN buf(x, y) = 12\r
-IF a = 4 THEN buf(x, y) = 13\r
-IF a = 5 THEN buf(x, y) = 14\r
-sc x, y\r
-IF ussp(a) > 2000 THEN ussp(a) = ussp(a) - 2000\r
-ussx(ussp(a), a) = x\r
-ussy(ussp(a), a) = y\r
+ IF ussp(a) > 2000 THEN\r
+ ussp(a) = ussp(a) - 2000\r
+ END IF\r
\r
-4\r
+ ussx(ussp(a), a) = x\r
\r
+ ussy(ussp(a), a) = y\r
+\r
+ 4\r
END SUB\r
\r
-SUB putworm (a)\r
-b = ussl(a)\r
-FOR c = b TO 1 STEP -1\r
-ussl(a) = c\r
-subt a\r
-NEXT c\r
-\r
-9\r
-uy(a) = INT(RND * 30 + 2)\r
-ux(a) = INT(RND * 10 + 5)\r
-FOR b = ux(a) TO ux(a) + 10\r
-IF buf(b, uy(a)) <> 0 THEN GOTO 9\r
-NEXT b\r
+SUB putworm(a%)\r
+ b = ussl(a)\r
\r
-uxp(a) = 1\r
-uyp(a) = 0\r
-ussl(a) = 3\r
-stat\r
+ FOR c = b TO 1 STEP -1\r
+ ussl(a) = c\r
\r
-END SUB\r
+ subt a\r
+ NEXT c\r
+\r
+ 9\r
+ uy(a) = INT(RND * 30 + 2)\r
+\r
+ ux(a) = INT(RND * 10 + 5)\r
\r
-SUB sc (x, y)\r
-x1 = x * 5\r
-y1 = y * 5\r
-\r
-LINE (x1, y1)-(x1 + 3, y1 + 3), 0, BF\r
-\r
-SELECT CASE buf(x, y)\r
-CASE 0\r
-LINE (x1, y1)-(x1 + 3, y1 + 3), 1, BF\r
-CASE 1\r
-LINE (x1, y1)-(x1 + 3, y1 + 3), 7, BF\r
-LINE (x1, y1)-(x1 + 3, y1 + 3), 8, B\r
-CASE 2\r
-LINE (x1, y1)-(x1 + 3, y1 + 3), 14, BF\r
-CASE 10\r
-LINE (x1, y1)-(x1 + 3, y1 + 3), 10, BF\r
-PSET (x1, y1), 0\r
-PSET (x1 + 3, y1), 0\r
-PSET (x1, y1 + 3), 0\r
-PSET (x1 + 3, y1 + 3), 0\r
-\r
-CASE 11\r
-LINE (x1, y1)-(x1 + 3, y1 + 3), 12, BF\r
-PSET (x1, y1), 0\r
-PSET (x1 + 3, y1), 0\r
-PSET (x1, y1 + 3), 0\r
-PSET (x1 + 3, y1 + 3), 0\r
-\r
-CASE 12\r
-LINE (x1, y1)-(x1 + 3, y1 + 3), 13, BF\r
-PSET (x1, y1), 0\r
-PSET (x1 + 3, y1), 0\r
-PSET (x1, y1 + 3), 0\r
-PSET (x1 + 3, y1 + 3), 0\r
-\r
-CASE 13\r
-LINE (x1, y1)-(x1 + 3, y1 + 3), 15, BF\r
-PSET (x1, y1), 0\r
-PSET (x1 + 3, y1), 0\r
-PSET (x1, y1 + 3), 0\r
-PSET (x1 + 3, y1 + 3), 0\r
-\r
-CASE 14\r
-LINE (x1, y1)-(x1 + 3, y1 + 3), 9, BF\r
-PSET (x1, y1), 0\r
-PSET (x1 + 3, y1), 0\r
-PSET (x1, y1 + 3), 0\r
-PSET (x1 + 3, y1 + 3), 0\r
-\r
-\r
-END SELECT\r
+ FOR b = ux(a) TO ux(a) + 10\r
+ IF buf(b, uy(a)) <> 0 THEN\r
+ GOTO 9\r
+ END IF\r
+ NEXT b\r
\r
+ uxp(a) = 1\r
+\r
+ uyp(a) = 0\r
+\r
+ ussl(a) = 3\r
+\r
+ stat\r
END SUB\r
\r
-SUB sc2 (x, y)\r
-'LOCATE 1, 1\r
-'PRINT x, y\r
-'x1 = x * 5 + 2\r
-'y1 = y * 5 + 2\r
-'PSET (x1, y1), 15\r
+SUB sc(x%, y%)\r
+ x1 = x% * 5\r
\r
+ y1 = y% * 5\r
\r
-'a$ = INPUT$(1)\r
+ LINE (x1, y1)-(x1 + 3, y1 + 3), 0, BF\r
+\r
+ SELECT CASE buf(x%, y%)\r
+ CASE 0\r
+ LINE (x1, y1)-(x1 + 3, y1 + 3), 1, BF\r
+\r
+ CASE 1\r
+ LINE (x1, y1)-(x1 + 3, y1 + 3), 7, BF\r
+\r
+ LINE (x1, y1)-(x1 + 3, y1 + 3), 8, B\r
+\r
+ CASE 2\r
+ LINE (x1, y1)-(x1 + 3, y1 + 3), 14, BF\r
+\r
+ CASE 10\r
+ LINE (x1, y1)-(x1 + 3, y1 + 3), 10, BF\r
+\r
+ PSET (x1, y1), 0\r
+\r
+ PSET (x1 + 3, y1), 0\r
+\r
+ PSET (x1, y1 + 3), 0\r
+\r
+ PSET (x1 + 3, y1 + 3), 0\r
+\r
+ CASE 11\r
+ LINE (x1, y1)-(x1 + 3, y1 + 3), 12, BF\r
+\r
+ PSET (x1, y1), 0\r
+\r
+ PSET (x1 + 3, y1), 0\r
+\r
+ PSET (x1, y1 + 3), 0\r
+\r
+ PSET (x1 + 3, y1 + 3), 0\r
+\r
+ CASE 12\r
+ LINE (x1, y1)-(x1 + 3, y1 + 3), 13, BF\r
+\r
+ PSET (x1, y1), 0\r
+\r
+ PSET (x1 + 3, y1), 0\r
+\r
+ PSET (x1, y1 + 3), 0\r
+\r
+ PSET (x1 + 3, y1 + 3), 0\r
+\r
+ CASE 13\r
+ LINE (x1, y1)-(x1 + 3, y1 + 3), 15, BF\r
+\r
+ PSET (x1, y1), 0\r
+\r
+ PSET (x1 + 3, y1), 0\r
+\r
+ PSET (x1, y1 + 3), 0\r
+\r
+ PSET (x1 + 3, y1 + 3), 0\r
+\r
+ CASE 14\r
+ LINE (x1, y1)-(x1 + 3, y1 + 3), 9, BF\r
+\r
+ PSET (x1, y1), 0\r
\r
+ PSET (x1 + 3, y1), 0\r
+\r
+ PSET (x1, y1 + 3), 0\r
+\r
+ PSET (x1 + 3, y1 + 3), 0\r
+ END SELECT\r
END SUB\r
\r
-SUB show\r
-FOR y = 1 TO 35\r
-FOR x = 1 TO 35\r
-sc x, y\r
+SUB sc2(x%, y%)\r
+ ' LOCATE 1, 1\r
+ ' PRINT x%, y%\r
\r
-NEXT x\r
-NEXT y\r
+ ' x1 = x% * 5 + 2\r
+\r
+ ' y1 = y% * 5 + 2\r
+\r
+ ' PSET (x1, y1), 15\r
+\r
+ ' a$ = INPUT$(1)\r
+END SUB\r
\r
+SUB show()\r
+ FOR y = 1 TO 35\r
+ FOR x = 1 TO 35\r
+ sc x, y\r
+ NEXT x\r
+ NEXT y\r
END SUB\r
\r
-SUB showb\r
+SUB showb()\r
GOTO 15\r
FOR x = 1 TO 35\r
FOR y = 1 TO 35\r
'a$ = INPUT$(1)\r
END SUB\r
\r
-SUB start\r
-SCREEN 13\r
-RANDOMIZE TIMER\r
-\r
-uy(1) = 5\r
-uy(2) = 10\r
-uy(3) = 15\r
-uy(4) = 20\r
-uy(5) = 25\r
-\r
-\r
-FOR a = 1 TO ussm\r
-ux(a) = 15\r
-uxp(a) = 1\r
-uyp(a) = 0\r
-ussp(a) = 0\r
-ussl(a) = 3\r
-elud(a) = elum\r
-usss(a) = 0\r
-usskp(a) = 1\r
-ussk(1, a) = 5\r
-NEXT a\r
-mtm = 0\r
+SUB start()\r
+ SCREEN 13\r
+\r
+ RANDOMIZE TIMER\r
+\r
+ uy(1) = 5\r
+\r
+ uy(2) = 10\r
+\r
+ uy(3) = 15\r
+\r
+ uy(4) = 20\r
+\r
+ uy(5) = 25\r
+\r
+ FOR a = 1 TO ussm\r
+ ux(a) = 15\r
+\r
+ uxp(a) = 1\r
+\r
+ uyp(a) = 0\r
+\r
+ ussp(a) = 0\r
+\r
+ ussl(a) = 3\r
+\r
+ elud(a) = elum\r
+\r
+ usss(a) = 0\r
+\r
+ usskp(a) = 1\r
+\r
+ ussk(1, a) = 5\r
+ NEXT a\r
+\r
+ mtm = 0\r
END SUB\r
\r
-SUB stat\r
-LOCATE 1, 25\r
-PRINT mtm\r
+SUB stat()\r
+ LOCATE 1, 25\r
+\r
+ PRINT mtm\r
+\r
+ FOR a = 1 TO 5\r
+ COLOR 15\r
+\r
+ LOCATE 2 + a, 24\r
+\r
+ PRINT RIGHT$(STR$(a), 1)\r
+\r
+ COLOR 10\r
+\r
+ LOCATE 2 + a, 26\r
+\r
+ IF auto(a) = 1 THEN\r
+ PRINT "*"\r
+ ELSE\r
+ PRINT "-"\r
+ END IF\r
+\r
+ COLOR 12\r
+\r
+ LOCATE 2 + a, 27\r
+\r
+ b$ = STR$(usss(a))\r
\r
+ PRINT RIGHT$(b$, LEN(b$) - 1)\r
\r
-FOR a = 1 TO 5\r
-COLOR 15\r
-LOCATE 2 + a, 24\r
-PRINT RIGHT$(STR$(a), 1)\r
+ COLOR 13\r
\r
-COLOR 10\r
-LOCATE 2 + a, 26\r
-IF auto(a) = 1 THEN PRINT "*" ELSE PRINT "-"\r
+ LOCATE 2 + a, 30\r
\r
-COLOR 12\r
-LOCATE 2 + a, 27\r
-b$ = STR$(usss(a))\r
-PRINT RIGHT$(b$, LEN(b$) - 1)\r
+ b$ = STR$(elud(a))\r
\r
-COLOR 13\r
-LOCATE 2 + a, 30\r
-b$ = STR$(elud(a))\r
-PRINT RIGHT$(b$, LEN(b$) - 1)\r
-NEXT a\r
+ PRINT RIGHT$(b$, LEN(b$) - 1)\r
+ NEXT a\r
\r
-COLOR 10\r
-LOCATE 8, 26\r
-PRINT "Auto"\r
+ COLOR 10\r
\r
-COLOR 12\r
-LOCATE 2, 27\r
-PRINT "Score"\r
+ LOCATE 8, 26\r
\r
-COLOR 13\r
-LOCATE 8, 30\r
-PRINT "Lives"\r
+ PRINT "Auto"\r
\r
-LOCATE 1, 30\r
-PRINT "Level:"; lvl\r
+ COLOR 12\r
\r
+ LOCATE 2, 27\r
\r
+ PRINT "Score"\r
+\r
+ COLOR 13\r
+\r
+ LOCATE 8, 30\r
+\r
+ PRINT "Lives"\r
+\r
+ LOCATE 1, 30\r
+\r
+ PRINT "Level:"; lvl\r
END SUB\r
\r
-SUB stuff\r
-2\r
-x = INT(RND * 33 + 2)\r
-y = INT(RND * 33 + 2)\r
-IF buf(x, y) = 0 THEN\r
-buf(x, y) = 2\r
-sc x, y\r
-ELSE\r
-GOTO 2\r
-END IF\r
-mtm = mtm + 1\r
-stat\r
+SUB stuff()\r
+ 2\r
+ x = INT(RND * 33 + 2)\r
+\r
+ y = INT(RND * 33 + 2)\r
+\r
+ IF buf(x, y) = 0 THEN\r
+ buf(x, y) = 2\r
+\r
+ sc x, y\r
+ ELSE\r
+ GOTO 2\r
+ END IF\r
+\r
+ mtm = mtm + 1\r
+\r
+ stat\r
END SUB\r
\r
-SUB subt (b)\r
-a = ussp(b) - ussl(b)\r
-IF a < 1 THEN a = a + 2000\r
-IF ussx(a, b) > 0 THEN\r
+SUB subt(b%)\r
+ a = ussp(b) - ussl(b)\r
\r
-buf(ussx(a, b), ussy(a, b)) = 0\r
-sc ussx(a, b), ussy(a, b)\r
-ussx(a, b) = 0\r
-END IF\r
+ IF a < 1 THEN\r
+ a = a + 2000\r
+ END IF\r
+\r
+ IF ussx(a, b) > 0 THEN\r
+ buf(ussx(a, b), ussy(a, b)) = 0\r
+\r
+ sc ussx(a, b), ussy(a, b)\r
+\r
+ ussx(a, b) = 0\r
+ END IF\r
END SUB\r
\r
-SUB tkt\r
-a$ = INKEY$\r
-IF a$ = CHR$(27) THEN SYSTEM\r
-IF (a$ = CHR$(0) + "M") AND (uxp(1) <> -1) THEN uxp(1) = 1: uyp(1) = 0\r
-IF (a$ = CHR$(0) + "K") AND (uxp(1) <> 1) THEN uxp(1) = -1: uyp(1) = 0\r
-IF (a$ = CHR$(0) + "P") AND (uyp(1) <> -1) THEN uxp(1) = 0: uyp(1) = 1\r
-IF (a$ = CHR$(0) + "H") AND (uyp(1) <> 1) THEN uxp(1) = 0: uyp(1) = -1\r
-\r
-IF (a$ = "d") AND (uxp(2) <> -1) THEN uxp(2) = 1: uyp(2) = 0\r
-IF (a$ = "a") AND (uxp(2) <> 1) THEN uxp(2) = -1: uyp(2) = 0\r
-IF (a$ = "s") AND (uyp(2) <> -1) THEN uxp(2) = 0: uyp(2) = 1\r
-IF (a$ = "w") AND (uyp(2) <> 1) THEN uxp(2) = 0: uyp(2) = -1\r
-\r
-b = VAL(a$)\r
-IF b > 0 THEN\r
-IF auto(b) = 1 THEN auto(b) = 0 ELSE auto(b) = 1\r
-stat\r
-END IF\r
+SUB tkt()\r
+ a$ = INKEY$\r
+\r
+ IF a$ = CHR$(27) THEN\r
+ SYSTEM\r
+ END IF\r
+\r
+ IF (a$ = CHR$(0) + "M") AND (uxp(1) <> -1) THEN\r
+ uxp(1) = 1\r
+\r
+ uyp(1) = 0\r
+ END IF\r
+\r
+ IF (a$ = CHR$(0) + "K") AND (uxp(1) <> 1) THEN\r
+ uxp(1) = -1\r
+\r
+ uyp(1) = 0\r
+ END IF\r
+\r
+ IF (a$ = CHR$(0) + "P") AND (uyp(1) <> -1) THEN\r
+ uxp(1) = 0\r
+\r
+ uyp(1) = 1\r
+ END IF\r
+\r
+ IF (a$ = CHR$(0) + "H") AND (uyp(1) <> 1) THEN\r
+ uxp(1) = 0\r
+\r
+ uyp(1) = -1\r
+ END IF\r
+\r
+ IF (a$ = "d") AND (uxp(2) <> -1) THEN\r
+ uxp(2) = 1\r
+\r
+ uyp(2) = 0\r
+ END IF\r
+\r
+ IF (a$ = "a") AND (uxp(2) <> 1) THEN\r
+ uxp(2) = -1\r
+\r
+ uyp(2) = 0\r
+ END IF\r
+\r
+ IF (a$ = "s") AND (uyp(2) <> -1) THEN\r
+ uxp(2) = 0\r
+\r
+ uyp(2) = 1\r
+ END IF\r
+\r
+ IF (a$ = "w") AND (uyp(2) <> 1) THEN\r
+ uxp(2) = 0\r
+\r
+ uyp(2) = -1\r
+ END IF\r
+\r
+ b = VAL(a$)\r
+\r
+ IF b > 0 THEN\r
+ IF auto(b) = 1 THEN\r
+ auto(b) = 0\r
+ ELSE\r
+ auto(b) = 1\r
+ END IF\r
\r
-FOR a = 1 TO ussm\r
-prc a\r
-NEXT a\r
+ stat\r
+ END IF\r
\r
+ FOR a = 1 TO ussm\r
+ prc a\r
+ NEXT a\r
END SUB\r