Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: Michael.3545 on October 18, 2010, 06:39:14 pm

Title: Pacman in Axe
Post by: Michael.3545 on October 18, 2010, 06:39:14 pm
So, a while ago I was on ticalc.org, and I downloaded this (http://www.ticalc.org/archives/files/fileinfo/417/41737.html) file.  I was impressed by the game, but there were some parts of it that I didn't like.  I said to myself, "you should use Axe to make an awesome version of this."  So I got started.  The only thing left to do is add a control system for the ghosts.

I have to say my favorite part is wrapping from one side to the other.

(http://img844.imageshack.us/img844/1879/pacmang.gif)

Well, that's what I have been up to recently.

The source and executable can be found here:
http://www.box.net/shared/q7n2g5avh1 (http://www.box.net/shared/q7n2g5avh1)

If anyone is interested in making levels, I can edit in some more information on that.
Title: Re: Pacman in Axe
Post by: ztrumpet on October 18, 2010, 06:42:28 pm
Nice. :)  The funny thing, is that program was written by Quigibo, the author of Axe. :P
Good luck on it. :)
Title: Re: Pacman in Axe
Post by: Michael.3545 on October 18, 2010, 06:44:19 pm
Uh-oh, shh!

But seriously.  I didn't even notice that.
Title: Re: Pacman in Axe
Post by: Deep Toaster on October 18, 2010, 06:56:35 pm
Nice. What about a direct port?
Title: Re: Pacman in Axe
Post by: Michael.3545 on October 18, 2010, 07:13:10 pm
By port, do you mean adapting the original Pac-Man game's code to axe?
Title: Re: Pacman in Axe
Post by: Deep Toaster on October 18, 2010, 07:14:11 pm
Whoops, I meant "clone." Sorry, got them mixed up :-[
Title: Re: Pacman in Axe
Post by: Michael.3545 on October 18, 2010, 07:16:23 pm
I can't make them exactly the same because of the screen size.  Plus I don't want to make this scroll.
Title: Re: Pacman in Axe
Post by: yunhua98 on October 18, 2010, 07:59:20 pm
nice job!  but didn't Quigibo make that program with Axe?  i thought he did when I downloaded.  ;)
Title: Re: Pacman in Axe
Post by: Deep Toaster on October 18, 2010, 08:30:10 pm
Nope, it's pure ASM.

And wow, that was made by Quigibo? I never realized, even though I played it two years ago...
Title: Re: Pacman in Axe
Post by: DJ Omnimaga on October 18, 2010, 08:31:54 pm
Wow awesome! It looks very great! I also remember an older port released in 1999-2000 but it had scrolling.
Title: Re: Pacman in Axe
Post by: Michael.3545 on October 24, 2010, 01:15:05 am
Here is an update on my progress, for anyone interested.

Completed:

To do:

Things I am considering doing:

Here is a (really long) screenie showing me eating lots of dots in the new levels.  Near the end I mess with the new, more lenient collision testing.
(http://img828.imageshack.us/img828/6641/pacmanw.gif)

EDIT:
Attached prog, source and level creation program.

EDIT 2:
Removed spoiler from around code.  Too much code at once is better than no code at all.

Code: (Source) [Select]
:.AAPACMAN A fun arcade game
:DiagnosticOff
:
:
:.appvar
:Lbl AV
:"vPac-Man"→Str1
:
:.only if exist
:UnarchiveStr1
:
:.exists? if notmake
:!If GetCalc(Str1)→O
:
: .create, ret  if < RAM
: Return!If GetCalc(Str1,2)→O
:End
:
:.wrong size
:If {O-2}r≠2
: DelVar Str1
: Goto AV
:End
:
:.SPRITES:
:.CLOSED
:[387CFEFEFE7C3800]→Pic0
:.UP
:[82C6EEFEFE7C3800]→Pic1
:.RIGHT
:[3E7CF8F0F87C3E00]→Pic2
:.LEFT
:[F87C3E1E3E7CF800]→Pic3
:.DOWN
:[387CFEFEEEC68200]→Pic4
:.DOT
:[0000102810000000]→Pic5
:.LIFE
:[70E0C0E070000000]→Pic6
:.GHOST
:[387CD6FEFEFEAA00]→Pic7
:
:
:.no. of maps:
:3→θ
:.MAP DATA
:[FFFC006B6B1B120246C6B6B001FFF811B1B7171001F00FFFFC006F7B1112224446F7B001FFF8631767B70F0F0F0FFFFC446AAB4452FA5116AAB111FFF83491B4971001100F]→GDB1
:
:.TEXT DRAWN TO BUFFER
:Fix 5
:
:
:.MAIN MENU
:Lbl MM
:ClrDraw
:Fix 1
:Text(27,0,"PAC-MAN")
:Fix 0
:ref(0,8,96,1)
:Text(1,10,"By Michael Ripley")
:
:21→A
:Text(4,A,"2ND - Start")
:Text(4,A+7,"MODE - Quit")
:L1→P
:
:DispGraph
:
:While getKey(0)
:Pause 5
:End
:Repeat getKey(54)
: If getKey(15) or getKey(55)
:  Goto EX
: End
:End
:
:.START GAME
:Lbl SG
:
:.init vars
:0→M→S+3→L
:
:
:.NEXT MAP
:Lbl NM
:
:
:.Load map data
:For(I,0,116)
: {M*23+(I/8)+GDB1}e(I^8)*2→iPart(L1*2+I+20}
:End
:
:
:.Draw map
:0→N
:ClrDrawr
:For(B,0,8)
: For(A,0,12)
:  iPart(B*13+A+(L1*2)+20}→P
:  If P=2
:   ref(A*7,B*7,7,7)r
:  End
:  If P=0
:   N+1→N
:   Pt-On(A*7,B*7,Pic5)r
:  End
: End
:End
:
:
:.RESET
:Lbl RS
:
:
:.G-pos
:0→{L1}
:
:.G-dir
:conj(M*23+GDB1+20,L1+1,3)
:
:.G-pos
:For(I,0,5)
: iPart(M*23+GDB1+16*2+I}*7→{L1+I+4}
:End
:
:.reset vars
:0→E→F+1→C→Q→Z
:
:.P-pos
:M*23+GDB1+15*2→P
:iPart(P}*7→X
:iPart(P+1}*7→Y
:
:.P-dir
:M*23+GDB1+19*2→P
:iPart(P}→G
:iPart(P+1}→H
:If G=15
: ‾1→G
:ElseIf H=15
: ‾1→H
:End
:If H=‾1
: 1→D
:ElseIf G=1
: 2→D
:ElseIf G=‾1
: 3→D
:Else
: 4→D
:End
:
:sub(RD,1)
:sub(DW)
:Pause 1000
:
:.MAIN LOOP
:Repeat getKey(55) or F
:
: .KEY PRESSES
: If getKey(1)
:  !If pxl-Test(X,Y+7)r+pxl-Test(X+6,Y+7)r
:   0→G+1→H+3→D
:  End
: End
: If getKey(2)
:  !If pxl-Test(X-1,Y)r+pxl-Test(X-1,Y+6)r
:   ‾1→G+1→H+3→D
:  End
: End
: If getKey(3)
:  !If pxl-Test(X+7,Y)r+pxl-Test(X+7,Y+6)r
:   0→H+1→G+1→D
:  End
: End
: If getKey(4)
:  !If pxl-Test(X,Y-1)r+pxl-Test(X+6,Y-1)r
:   ‾1→H+1→G+1→D
:  End
: End
:
: .MOVE
: DS<(Z,2)
: X+G→A
: Y+H→B
: !If pxl-Test(A,B)r+pxl-Test(A+6,B)r+pxl-Test(A,B+6)r+pxl-Test(A+6,B+6)r
:   A→X
:   B→Y
:   If X=91
:    0→X
:   ElseIf X=‾1
:    90→X
:   End
:   If X>84
:    X-91→E
:   Else
:    0→E
:   End
:  End
:
:  .MOVE GHOSTS
:  ............
:  For(I,0,2)
:   .gXp, gYp
:   I*2+L1+4→A+1→B
:   L1+1*2+(I*2)→U+1→V
:   iPart(U}→U
:   iPart(V}→V
:   If U=15
:    ‾1→U
:   ElseIf V=15
:    ‾1→V
:   End
:
:
:   .INSERT BRAIN HERE
:   .!If X^7 or (Y^7)
:   .End
:
:   {A}+U→{A}
:   {B}+V→{B}
:
:   .coll test
:   If N
:    If {A}-5≤X and ({A}+5≥X)
:     If {B}-5≤Y and ({B}+5≥Y)
:      1→F
:      L-1→L
:     End
:    End
:   End
:  End
: End
:
:
: .WOKKA WOKKA
: DS<(Q,10)
:  C=0→C
: End
:
: sub(RD,0)
: sub(DW)
:End
:
:If F=2
: M+1→M
: .map loopback
: If M=θ
:  0→M
: End
: Goto NM
:End
:
:If F=1
: Fix 3
: Text(10,0,"You have died")
: Fix 2
: DispGraph
: Repeat getKey(54)
: End
: Goto RS
:End
:
:.if F=0, then:
:Goto MM
:
:
:.EXIT
:Lbl EX
:Fix 4
:ClrHome
:While getKey(0)
:Pause 5
:End
:Return
:
:
:.remove dot
:Lbl RD
:!If X^7 or (Y^7)
: X/7→A
: Y/7→B
: B*13+A+(L1*2)+20→P
: !If iPart(P}
:  N-1→N
:  !If N
:   2→F
:  End
:  !If r1
:   S+1→S
:  End
:  1→iPart(P}
:  Pxl-Off(X+3,Y+2)r
:  Pxl-Off(X+2,Y+3)r
:  Pxl-Off(X+4,Y+3)r
:  Pxl-Off(X+3,Y+4)r
: End
:End
:Return
:
:
:.DRAW
:Lbl DW
:ClrDraw
:RecallPic
:
:
:.ghost
:For(I,0,2)
: I*2+L1+4→P
: Pt-On({P},{P+1},Pic7)
:End
:
:Pt-On(X,Y,C*D*8+Pic0)
:If E
: Pt-On(E,Y,C*D*8+Pic0)
:End
:If L>>0
: For(P,0,L-1)
:  Pt-On(92,P*6,Pic6)
: End
:Else
: If L=‾1
:  3→F
: End
:End
:ref(91,28,5,7)
:rref(91,28,5,7)
:DispGraph
Title: Re: Pacman in Axe
Post by: shmibs on October 24, 2010, 01:21:29 am
ooh, this looks very nice. (especially the warp wrap-around) i haven't tried it out, but if turning is difficult it should register if a directional key is pressed and then wait until either the character can turn in the designated direction or until another key is pressed before the player has to do anything else. gray all throughout would also look nice and might make the ghosts stand out a bit more(i like how they were programmed, btw. very inventive).
props all around!
Title: Re: Pacman in Axe
Post by: Michael.3545 on October 24, 2010, 01:35:06 am
Unfortunately, because of an optimization I used, I can't use grayscale in the game loop.  (The backbuffer is taken)

BTW, any ideas on a routine for controlling the ghosts are appreciated.  :)

EDIT:
Also, how do I display any input I get using the input command? 
Quote from: Commands List
Don't forget, its a string of tokens, not characters.
I am confused by that.  Thanks!
Title: Re: Pacman in Axe
Post by: Runer112 on October 24, 2010, 01:56:18 am
This (http://ourl.ca/7568/131899).

EDIT: Wow, really? Thumbing me down for jokingly pointing out a bug in Chrome? Maybe the omnimaga community is worse than I had thought...

EDIT 2: Well it seems that my comment was poorly worded and off-topic, so it wasn't taken well. Which I guess is my fault. I won't delete my previous edit so others can see it if they like, but it's my rash overreaction to my poor attempt at humor being negatively received. I don't hate the omnimaga community... I'm not neutral towards the omnimaga community... I don't like the omnimaga community... I love the omnimaga community. It's the site I spend the majority of my time online at, it's the site I spend the majority of my time reading, and it's the site I spend the majority of my time producing content for. If omnimaga disappeared I don't know what I would ever do, because it has become a core facet of my life. And I'm sorry for ever having said otherwise.

I'm not sure what else to write, I think that's about it. Sorry.
Title: Re: Pacman in Axe
Post by: DJ Omnimaga on October 24, 2010, 02:06:36 am
Runer112 people are free to use CODE tags in spoilers if they want (although I don't see why it's that necessary since guests can open them anyway). In Opera not doing so stretches the page like crazy when there's data inside code anyway and those users aren't complaining. Maybe you could fix the spoiler tag mod for SMF? http://custom.simplemachines.org/mods/index.php?mod=195

Plus this was totally off-topic anyway.

Anyway The game looks nice so far and I hope you finish it.

EDIT: I saw your first edit but thank you for your 2nd one. Personally I am starting to question the legitimability of my position at Omnimaga.
Title: Re: Pacman in Axe
Post by: Ranman on October 24, 2010, 08:27:45 am
Nice job Michael!
Title: Re: Pacman in Axe
Post by: Michael.3545 on October 25, 2010, 08:48:36 am
Last night I finished the high score system.  It is pretty nice, and supports 16 character strings of uppercase, lowercase, and spaces.  It has a backspace key, and stores the top three scores.  I am very happy about this, because it means I won't need to come back and change anything.  Here is a screenshot of the default high scores, which I think will be appreciated.  I don't plan on changing these.

(http://img828.imageshack.us/img828/7820/pacmanz.gif)
Title: Re: Pacman in Axe
Post by: DJ Omnimaga on October 25, 2010, 04:01:11 pm
Lol I saw the highscore screen on IRC last night and laughed at my 666 score :P

Nice that you got them working :)
Title: Re: Pacman in Axe
Post by: ztrumpet on October 25, 2010, 05:36:13 pm
That looks great!  Nice job!
I really like the look of the gameplay. ;D
What method are you using for name input? :)
Title: Re: Pacman in Axe
Post by: Michael.3545 on October 25, 2010, 11:28:39 pm
Ztrumpet, I am using a method I created myself just for this purpose.

This is designed to be called as sub(GHS).  PrgmAAAINPUT is supposed to be the last line of a file.  If you have any questions, ask.
Code: [Select]
:.GETHISCR
:Lbl GHS
:
:Fix 1
:Fix 4
:
:0→{GDB0}
:0→E→L→K→I+1→U
:
:sub(DSP)
:
:Repeat E
: getKey→K
: If K=9 and (L>0)
:  1→E
: End
: If K=4
:  1→U
: ElseIf K=1
:  0→U
: ElseIf K=2
:  If L>0
:   L-1→L
:   0→{GDB0+L}
:   sub(DSP)
:  End
: End
: If K
:  For(I,0,26)
:   If {GDB00+I}=K
:    sub(SC1,I)
:   End
:  End
: End
:
:
: While getKey(0)
: End
:End
:Fix 0
:Fix 5
:ClrHome
:Return
:
:Lbl SC1
:If r1=0
: sub(SC2,32)
: Return
:End
:If U
: sub(SC2,r1+64)
:Else
: sub(SC2,r1+96)
:End
:Return
:
:Lbl SC2
:If L<16
: r1→{GDB0+L}
: 0→{GDB0+L+1}
: L+1→L
: sub(DSP)
:End
:Return
:
:Lbl DSP
:ClrHome
:Text(16,0,"HIGH SCORE!")
:Output(0,2,"Type your name:")
:If {GDB0}
: Output(0,3,GDB0
:End
:If L<16
: Output(L,3,95►Frac)
:End
IMPORTANT:  before starting this sub, GDB0 and GDB00 must be initialized exactly like so:
Code: [Select]
:det(17)→GDB0
:DeltaList(33,47,39,31,46,38,30,22,14,45,37,29,21,13,44,36,28,20,12,43,35,27,19,11,42,34,26)→GDB00


Omnimagicians, I need help!
I just added some code to try to make the ghosts turn at intersections, and I got this:
(http://img220.imageshack.us/img220/4895/ohno.gif)

I have looked over it several times and can't figure out what is going on.  The changes I just made are between the
:   .G-BRAIN
:..............
and the
:..............

Please ask me any questions you have.  I will be offline after this post, but should be back on tomorrow morning.  Sorry for the delay, and sorry Opera users for any massive scrolling I have caused you.

Here is my source:
Code: [Select]
:.AAPACMAN A fun arcade game
:DiagnosticOff
:
:
:.appvar
:Lbl AV
:"vPac-Man"→Str1
:
:.only if exist
:.UnarchiveStr1
:
:.exists? if notmake
:!If GetCalc(Str1)→O
:
: .create, ret  if < RAM
: Return!If GetCalc(Str1,57)→O
: 666→{O}r
: 256→{O+2}r
: 13→{O+4}r
: "DJ"→Str01
: "Byte"→Str02
: "Clyde"→Str03
: For(I,0,16)
:  {Str01+I}→{O+I+6}
: End
: For(I,0,16)
:  {Str02+I}→{O+I+23}
: End
: For(I,0,16)
:  {Str03+I}→{O+I+40}
: End
:End
:
:.wrong size
:ReturnIf {O-2}r≠57
:
:
:.SPRITES:
:.CLOSED
:[387CFEFEFE7C3800]→Pic0
:.UP
:[82C6EEFEFE7C3800]→Pic1
:.RIGHT
:[3E7CF8F0F87C3E00]→Pic2
:.LEFT
:[F87C3E1E3E7CF800]→Pic3
:.DOWN
:[387CFEFEEEC68200]→Pic4
:.DOT
:[0000102810000000]→Pic5
:.LIFE
:[70E0C0E070000000]→Pic6
:.GHOST
:[387CD6FEFEFEAA00]→Pic7
:
:
:.no. of maps:
:3→θ
:.MAP DATA
:[FFFC006B6B1B120246C6B6B001FFF811B1B7171001F00FFFFC006F7B1112224446F7B001FFF8631767B70F0F0F0FFFFC446AAB4452FA5116AAB111FFF83491B4971001100F]→GDB1
:
:
:.hi scr stuffs
:det(17)→GDB0
:DeltaList(33,47,39,31,46,38,30,22,14,45,37,29,21,13,44,36,28,20,12,43,35,27,19,11,42,34,26)→GDB00
:
:
:.TEXT DRAWN TO BUFFER
:Fix 5
:
:
:.MAIN MENU
:Lbl MM
:ClrDraw
:Fix 1
:Text(27,0,"PAC-MAN")
:Fix 0
:ref(0,8,96,1)
:Text(1,10,"By Michael Ripley")
:
:21→A
:Text(4,A,"2ND - Start")
:Text(4,A+7,"ALPHA - High Scores"
:Text(4,A+14,"MODE - Quit")
:L1→P
:
:DispGraph
:
:While getKey(0)
:Pause 5
:End
:Repeat getKey(54)
: If getKey(15) or getKey(55)
:  Goto EX
: Else If getKey(48)
:  Goto HS
: End
:End
:Goto SG
:
:.HIGH SCORE
:Lbl HS
:ClrDraw
:Fix 1
:Text(16,0,"High Scores")
:Fix 0
:For(I,0,2)
: I*7+10→P
: Text(3,P,I+49►Frac,"."
: Text(15,P,{I*2+O}r►Dec)
: Text(40,P,I*17+O+6)
:End
:DispGraph
:While getKey(0)
:Pause 50
:End
:Repeat getKey(54) or getKey(15) or getKey(55) or getKey(48)
:End
:Goto MM
:
:
:
:.START GAME
:Lbl SG
:
:.init vars
:0→M→S+3→L
:
:
:.NEXT MAP
:Lbl NM
:
:
:.Load map data
:For(I,0,116)
: {M*23+(I/8)+GDB1}e(I^8)*2→iPart(L1*2+I+20}
:End
:
:
:.Draw map
:0→N
:ClrDrawr
:For(B,0,8)
: For(A,0,12)
:  iPart(B*13+A+(L1*2)+20}→P
:  If P=2
:   ref(A*7,B*7,7,7)r
:  End
:  If P=0
:   N+1→N
:   Pt-On(A*7,B*7,Pic5)r
:  End
: End
:End
:
:
:.RESET
:Lbl RS
:
:
:.G-pos
:0→{L1}
:
:.G-dir
:conj(M*23+GDB1+20,L1+1,3)
:
:.G-pos
:For(I,0,5)
: iPart(M*23+GDB1+16*2+I}*7→{L1+I+4}
:End
:
:.reset vars
:0→E→F+1→C→Q→Z
:
:.P-pos
:M*23+GDB1+15*2→P
:iPart(P}*7→X
:iPart(P+1}*7→Y
:
:.P-dir
:M*23+GDB1+19*2→P
:iPart(P}→G
:iPart(P+1}→H
:If G=15
: ‾1→G
:ElseIf H=15
: ‾1→H
:End
:If H=‾1
: 1→D
:ElseIf G=1
: 2→D
:ElseIf G=‾1
: 3→D
:Else
: 4→D
:End
:
:sub(RD,1)
:sub(DW)
:Pause 1000
:
:.MAIN LOOP
:Repeat getKey(55) or F
:
: .KEY PRESSES
: If getKey(1)
:  !If pxl-Test(X,Y+7)r+pxl-Test(X+6,Y+7)r
:   0→G+1→H+3→D
:  End
: End
: If getKey(2)
:  !If pxl-Test(X-1,Y)r+pxl-Test(X-1,Y+6)r
:   ‾1→G+1→H+3→D
:  End
: End
: If getKey(3)
:  !If pxl-Test(X+7,Y)r+pxl-Test(X+7,Y+6)r
:   0→H+1→G+1→D
:  End
: End
: If getKey(4)
:  !If pxl-Test(X,Y-1)r+pxl-Test(X+6,Y-1)r
:   ‾1→H+1→G+1→D
:  End
: End
:
: .MOVE
: DS<(Z,2)
: X+G→A
: Y+H→B
: !If pxl-Test(A,B)r+pxl-Test(A+6,B)r+pxl-Test(A,B+6)r+pxl-Test(A+6,B+6)r
:   A→X
:   B→Y
:   If X=91
:    0→X
:   ElseIf X=‾1
:    90→X
:   End
:   If X>84
:    X-91→E
:   Else
:    0→E
:   End
:  End
:
:  .MOVE GHOSTS
:  For(I,0,2)
:   .gXp, gYp
:   I*2+L1+4→A+1→B
:   L1+1*2+(I*2)→U+1→V
:
:   .get J,K
:   sub(GGD)
:
:
:   .G-BRAIN
:..............
:
:   .On tile
:   !If {A}^7 or ({B}^7)
:    L4+2→P
:    0→{L4}r
:    0→{P}
:    If J
:     J*‾1→{L4}
:    Else
:     K*‾1→{L4+1}
:    End
:
:.stop indent
:
:.1  UP
:!If pxl-Test({A},{B}-1)r
:If {L4+1}≠‾1
: 0→{{P}*2+L4+3}
: ‾1→{{P}*2+L4+4}
: {P}+1→{P}
:End
:End
:
:.2  RIGHT
:!If pxl-Test({A}+7,{B})r
:If {L4}≠1
: 1→{{P}*2+L4+3}
: 0→{{P}*2+L4+4)
: {P}+1→{P}
:End
:End
:
:.3  DOWN
:!If pxl-Test({A},{B}+7)r
:If {L4+1}≠1
: 0→{{P}*2+L4+3}
: 1→{{P}*2+L4+4}
: {P}+1→{P}
:End
:End
:
:.4  LEFT
:!If pxl-Test({A}-1,{B})r
:If {L4}≠‾1
: ‾1→{{P}*2+L4+3}
: 0→{{P}*2+L4+4}
: {P}+1→{P}
:End
:End
:
:.resume indent
:
:    {rand^{L4+2}*2+L4+3}→P
:    {P}→iPart(U}
:    {P+1}→iPart(V}
:    sub(GGD)
:   End
:
:..............
:
:   {A}+J→{A}
:   {B}+K→{B}
:
:   .coll test
:   If N
:    If {A}-5≤X and ({A}+5≥X)
:     If {B}-5≤Y and ({B}+5≥Y)
:      1→F
:      L-1→L
:     End
:    End
:   End
:  End
: End
:
:
: .WOKKA WOKKA
: DS<(Q,10)
:  C=0→C
: End
:
: sub(RD,0)
: sub(DW)
:End
:
:.Game Over
:If F=3
: ClrDraw
: Fix 1
: Text(0,0,"Game Over")
: Fix 0
: Text(0,10,"Score: ",S►Dec)
: DispGraph
: While getKey(0)
: .do-nothing
: Pause 50
: End
: Repeat getKey(54)
: End
:
: .HI SCORE!
: If S>{O+4}r
:  .in ext prog
:  sub(GHS)
:  S→{O+4}r
:  For(I,0,17)
:   {GDB0+I}→{O+I+40}
:  End
:  If {O+4}r>{O+2}r
:   expr(O+4,O+2,2)
:   expr(O+40,O+23,17)
:   If {O+2}r>{O}r
:    expr(O+2,O,2)
:    expr(O+23,O+6,17)
:   End
:  End
: End
:End
:
:.beat level
:If F=2
: M+1→M
: .map loopback
: If M=θ
:  0→M
: End
: Goto NM
:End
:
:.lost life
:If F=1
: Fix 3
: Text(10,0,"You have died")
: Fix 2
: DispGraph
: Repeat getKey(54)
: End
: Goto RS
:End
:
:.pressed MODE
:Goto MM
:
:
:.EXIT
:Lbl EX
:Fix 4
:ClrHome
:While getKey(0)
:Pause 5
:End
:Return
:
:
:.get G-dir
:Lbl GGD
:If iPart(U}=15
: ‾1→J
:ElseIf iPart(V}=15
: ‾1→K
:End
:Return
:
:
:.remove dot
:Lbl RD
:!If X^7 or (Y^7)
: X/7→A
: Y/7→B
: B*13+A+(L1*2)+20→P
: !If iPart(P}
:  N-1→N
:  !If N
:   2→F
:  End
:  !If r1
:   S+1→S
:  End
:  1→iPart(P}
:  Pxl-Off(X+3,Y+2)r
:  Pxl-Off(X+2,Y+3)r
:  Pxl-Off(X+4,Y+3)r
:  Pxl-Off(X+3,Y+4)r
: End
:End
:Return
:
:
:.DRAW
:Lbl DW
:ClrDraw
:RecallPic
:
:
:.ghost
:For(I,0,2)
: I*2+L1+4→P
: Pt-On({P},{P+1},Pic7)
:End
:
:Pt-On(X,Y,C*D*8+Pic0)
:If E
: Pt-On(E,Y,C*D*8+Pic0)
:End
:If L>>0
: For(P,0,L-1)
:  Pt-On(92,P*6,Pic6)
: End
:Else
: If L=‾1
:  3→F
: End
:End
:ref(91,28,5,7)
:rref(91,28,5,7)
:DispGraph
:Return
:
:.HISCORE STUFF
:prgmAAAINPUT

EDIT:
Changed the word "Omnimaga" to the more grammatically correct "Omnimagicians".
Title: Re: Pacman in Axe
Post by: DJ Omnimaga on October 26, 2010, 01:42:37 pm
I think it might be best to ask for help in a new topic in the Axe sub-forum, as typically, questions asked and requests made in project topics tend to be ignored, especially that some member never go out of the Axe sub-forum. Also lol at the edit :P