sdb:robots
This is an old revision of the document!
ROBOTS.BAS
This game is featured in the SD-8516 User's Guide, chapter four.
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("r")
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("H")
2030 LET D = ASC("J")
2040 LET U = ASC("K")
2050 LET R = ASC("L")
2060 LET Q = ASC("Q")
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 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
7900 RETURN
sdb/robots.1774613461.txt.gz · Last modified: by appledog
