Working in 10 lines max 80 chars
This commit is contained in:
23
pac.bas
23
pac.bas
@@ -1,16 +1,11 @@
|
||||
FOR i=1 TO 9: PRINT AT i,2;"\{17}\{0}\{16}\{4}..............": NEXT i: LET s$=" "
|
||||
FOR i=1 TO 9: PRINT AT i,2;"\{17}\{0}\{16}\{4}..............": NEXT i: LET p=22562: LET x=1
|
||||
@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:
|
||||
READ a: READ b: DEF FN b()=FN a(g,(g-p<0))+FN a(g,-(g-p>0)): DATA 1,8,2,3,2,4,2
|
||||
IF a THEN PRINT AT a,b;" ";AT a,17-b;" ";AT 10-a,b;" ";AT 10-a,17-b;" ": GO TO @walls
|
||||
LET g=22831: LET z=4: POKE 22689,129: POKE 22704,129: FOR s=1 TO 85 STEP 0
|
||||
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)
|
||||
LET b=(b*NOT n)+n: POKE p,0: LET q=PEEK (p+b): LET p=p+b*(q<>56): DATA 6,3,8,4,2
|
||||
LET p=p+(-14*b*(q>99)): LET q=PEEK p: POKE p,54: POKE g,z: LET j=g-p: DATA 4,4,4
|
||||
LET j=FN a(g,32*(j<-31))+FN a(g,-32*(j>31)): IF j=0 THEN LET j=FN b(): DATA 5,4
|
||||
LET x=j-(x*NOT j): LET g=g+x: LET z=PEEK g: POKE g,40: IF z=54 OR q=40 THEN RUN
|
||||
LET s=s+1*(q=4): NEXT s: RUN: DEF FN a(l,n)=n*(PEEK (l+n)<>56): DATA 6,4,8,0,0
|
||||
Reference in New Issue
Block a user