sdb:robots
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| sdb:robots [2026/04/14 06:09] – created appledog | sdb:robots [2026/04/19 20:32] (current) – appledog | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | = ROBOTS.BAS | ||
| + | This game is featured in the [[sd: | ||
| + | |||
| + | <codify BASIC> | ||
| + | 10 LET PX = 19 | ||
| + | 20 LET PY = 11 | ||
| + | 30 LET RX = 1 | ||
| + | 40 LET RY = 1 | ||
| + | |||
| + | 100 REM DRAW MAP | ||
| + | 110 GOSUB 1000 | ||
| + | 120 REM GET PLAYER INPUT | ||
| + | 130 GOSUB 2000 | ||
| + | 140 REM MAKE ROBOTS MOVE | ||
| + | 150 GOSUB 7000 | ||
| + | 160 REM CHECK FOR COLLISION | ||
| + | 170 IF PX = RX THEN IF PY = RY THEN GOTO 4000 | ||
| + | 180 REM LOOP UNTIL QUIT | ||
| + | 190 GOTO 100 | ||
| + | |||
| + | 1000 REM DRAW MAP | ||
| + | 1005 VSTOP | ||
| + | 1010 CLS | ||
| + | 1020 LET A = ASC(" | ||
| + | 1030 FOR X = 0 TO 39 | ||
| + | 1040 CHARXY X, 0, A | ||
| + | 1050 CHARXY X, 24, A | ||
| + | 1060 NEXT X | ||
| + | 1070 FOR Y = 0 TO 24 | ||
| + | 1080 CHARXY 0, Y, A | ||
| + | 1090 CHARXY 39, Y, A | ||
| + | 1100 NEXT Y | ||
| + | 1110 LET PC = ASC(" | ||
| + | 1120 LET RC = ASC(" | ||
| + | 1200 CHARXY PX, PY, PC | ||
| + | 1300 CHARXY RX, RY, RC | ||
| + | 1800 VSTART | ||
| + | 1900 RETURN | ||
| + | |||
| + | 2000 REM *** SECTION B) INPUT LOOP | ||
| + | 2010 LET K = GETKEY() | ||
| + | 2015 IF K >= 97 THEN LET K = K - 32 | ||
| + | 2020 LET L = ASC(" | ||
| + | 2030 LET D = ASC(" | ||
| + | 2040 LET U = ASC(" | ||
| + | 2050 LET R = ASC(" | ||
| + | 2060 LET Q = ASC(" | ||
| + | 2200 IF K = L THEN GOSUB 5000 : REM MOVE LEFT | ||
| + | 2210 IF K = D THEN GOSUB 5100 : REM MOVE DOWN | ||
| + | 2220 IF K = U THEN GOSUB 5200 : REM MOVE UP | ||
| + | 2230 IF K = R THEN GOSUB 5300 : REM MOVE RIGHT | ||
| + | 2240 IF K = Q THEN GOSUB 5400 : REM QUIT | ||
| + | 2900 RETURN | ||
| + | |||
| + | 4000 REM ROBOT CATCHES YOU | ||
| + | 4010 CLS | ||
| + | 4020 ? "OH NO! THE ROBOT CATCHES YOU." | ||
| + | 4030 ? "GAME OVER." | ||
| + | 4900 END | ||
| + | |||
| + | 5000 REM MOVE PLAYER LEFT | ||
| + | 5010 LET PX = PX - 1 | ||
| + | 5020 IF PX < 1 THEN LET PX = 1 | ||
| + | 5030 RETURN | ||
| + | 5100 REM MOVE PLAYER DOWN | ||
| + | 5110 LET PY = PY + 1 | ||
| + | 5120 IF PY > 22 THEN LET PY = 22 | ||
| + | 5130 RETURN | ||
| + | 5200 REM MOVE PLAYER UP | ||
| + | 5210 LET PY = PY - 1 | ||
| + | 5220 IF PY < 1 THEN LET PY = 1 | ||
| + | 5230 RETURN | ||
| + | 5300 REM MOVE PLAYER RIGHT | ||
| + | 5310 LET PX = PX + 1 | ||
| + | 5320 IF PX > 38 THEN LET PX = 38 | ||
| + | 5330 RETURN | ||
| + | 5400 REM QUIT | ||
| + | 5410 CLS | ||
| + | 5420 PRINT "QUIT GAME" | ||
| + | 5430 PRINT "THANK YOU FOR PLAYING!" | ||
| + | 5440 END | ||
| + | |||
| + | 7000 REM MAKE ROBOT MOVE TOWARDS PLAYER | ||
| + | 7010 IF RX < PX THEN LET RX = RX + 1 | ||
| + | 7020 IF RX > PX THEN LET RX = RX - 1 | ||
| + | 7030 IF RY < PY THEN LET RY = RY + 1 | ||
| + | 7040 IF RY > PY THEN LET RY = RY - 1 | ||
| + | 7100 PLAY "T120 W1 V5 O2 L24 B" | ||
| + | 7900 RETURN | ||
| + | </ | ||
