Private
Public Access
1
0
Files
BASIC10Liner2026/pac.bas

16 lines
838 B
QBasic
Raw Normal View History

2026-02-07 14:12:04 +00:00
FOR i=1 TO 9: PRINT AT i,2;"\{17}\{0}\{16}\{4}..............": NEXT i: LET s$=" "
@walls:
READ a: READ b: DATA 1,8,2,3,2,4,2,6,3,8,4,2,4,4,4,5,4,6,4,8,0,0: LET p=22562
IF a THEN PRINT AT a,b;s$;AT a,17-b;s$;AT 10-a,b;s$;AT 10-a,17-b;s$: GOTO @walls
LET g=22831: LET x=1: LET z=4: POKE 22689,129: POKE 22704,129: FOR s=1 TO 85
@loop:
LET k$=INKEY$: LET n=FN a(p,(32*(k$="d"))-(32*(k$="e"))-(k$="o")+(k$="p"))
LET b=(b * NOT n) + n: POKE p,0: LET q=PEEK (p+b): LET p=p+b*(q<>56)
LET p=p+(-14*b*(q=129)): LET q=PEEK p: POKE p,54
LET j=g-p: LET j=FN a(g,32*(j<-31))+FN a(g,-32*(j>31))
IF j=0 THEN LET j=FN a(g,(g-p<0))+FN a(g,-(g-p>0))
POKE g,z:LET x=j-(x * NOT j):LET g=g+x: LET z=PEEK g: POKE g,40
IF z=54 THEN RUN
IF q<>4 THEN GOTO @loop
NEXT s: RUN
DEF FN a(l,n)=n*(PEEK (l+n)<>56)