-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMOVE2.BAS
More file actions
56 lines (46 loc) · 905 Bytes
/
Copy pathMOVE2.BAS
File metadata and controls
56 lines (46 loc) · 905 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
SCREEN 13 ' 300x200 40x25
CLS
pX% = 1: pY% = 1: nX% = 1: nY% = 1: i$ = ""
DIM map(25, 40) AS STRING
'Make map
FOR R = 1 TO 25
FOR C = 1 TO 40
RANDOMIZE TIMER
rn% = INT(RND * 100) + 1
IF rn% > 90 THEN
map(R, C) = "x"
LOCATE R, C
PRINT map(R, C)
END IF
NEXT C
NEXT R
'Game loop
DO
CLS
'Draw map
FOR R = 1 TO 25
FOR C = 1 TO 40
LOCATE R, C
PRINT map(R, C)
NEXT C
NEXT R
'Get input
i$ = INKEY$
IF i$ = "w" THEN nY% = pY% - 1
IF i$ = "a" THEN nX% = pX% - 1
IF i$ = "s" THEN nY% = pY% + 1
IF i$ = "d" THEN nX% = pX% + 1
'Wrap
IF nY% < 1 THEN nY% = 25
IF nY% > 25 THEN nY% = 1
IF nX% < 1 THEN nX% = 40
IF nX% > 40 THEN nX% = 1
'Collision
IF map(nY%, nX%) <> "x" THEN
pY% = nY%: pX% = nX%
END IF
'Draw player
LOCATE pY%, pX%
PRINT "0"
SLEEP 10
LOOP WHILE i$ <> "q"