function PongGame.new 0 push constant 7 call Memory.alloc 1 pop pointer 0 call Screen.clearScreen 0 pop temp 0 push constant 50 pop this 6 push constant 230 push constant 229 push this 6 push constant 7 call Bat.new 4 pop this 0 push constant 253 push constant 222 push constant 0 push constant 511 push constant 0 push constant 229 call Ball.new 6 pop this 1 push this 1 push constant 400 push constant 0 call Ball.setDestination 3 pop temp 0 push constant 0 push constant 238 push constant 511 push constant 240 call Screen.drawRectangle 4 pop temp 0 push constant 22 push constant 0 call Output.moveCursor 2 pop temp 0 push constant 8 call String.new 1 push constant 83 call String.appendChar 2 push constant 99 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 58 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 48 call String.appendChar 2 call Output.printString 1 pop temp 0 push constant 0 pop this 3 push constant 0 pop this 4 push constant 0 pop this 2 push constant 0 pop this 5 push pointer 0 return function PongGame.dispose 0 push argument 0 pop pointer 0 push this 0 call Bat.dispose 1 pop temp 0 push this 1 call Ball.dispose 1 pop temp 0 push pointer 0 call Memory.deAlloc 1 pop temp 0 push constant 0 return function PongGame.newInstance 0 call PongGame.new 0 pop static 0 push constant 0 return function PongGame.getInstance 0 push static 0 return function PongGame.run 1 push argument 0 pop pointer 0 label run.While0 push this 3 not not if-goto run.EndWhile0 label run.While0.While0 push local 0 push constant 0 eq push this 3 not and not if-goto run.While0.EndWhile0 call Keyboard.keyPressed 0 pop local 0 push this 0 call Bat.move 1 pop temp 0 push pointer 0 call PongGame.moveBall 1 pop temp 0 push constant 50 call Sys.wait 1 pop temp 0 goto run.While0.While0 label run.While0.EndWhile0 push local 0 push constant 130 eq not if-goto run.While0.Else1 push this 0 push constant 1 call Bat.setDirection 2 pop temp 0 goto run.While0.Endif1 label run.While0.Else1 push local 0 push constant 132 eq not if-goto run.While0.If1.Else0 push this 0 push constant 2 call Bat.setDirection 2 pop temp 0 goto run.While0.If1.Endif0 label run.While0.If1.Else0 push local 0 push constant 140 eq not if-goto run.While0.If1.If0.Else0 push constant 1 neg pop this 3 label run.While0.If1.If0.Else0 label run.While0.If1.Endif0 label run.While0.Endif1 label run.While0.While2 push local 0 push constant 0 eq not push this 3 not and not if-goto run.While0.EndWhile2 call Keyboard.keyPressed 0 pop local 0 push this 0 call Bat.move 1 pop temp 0 push pointer 0 call PongGame.moveBall 1 pop temp 0 push constant 50 call Sys.wait 1 pop temp 0 goto run.While0.While2 label run.While0.EndWhile2 goto run.While0 label run.EndWhile0 push this 3 not if-goto run.Else1 push constant 10 push constant 27 call Output.moveCursor 2 pop temp 0 push constant 9 call String.new 1 push constant 71 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 109 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 79 call String.appendChar 2 push constant 118 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 114 call String.appendChar 2 call Output.printString 1 pop temp 0 label run.Else1 push constant 0 return function PongGame.moveBall 5 push argument 0 pop pointer 0 push this 1 call Ball.move 1 pop this 2 push this 2 push constant 0 gt push this 2 push this 5 eq not and not if-goto moveBall.Else0 push this 2 pop this 5 push constant 0 pop local 0 push this 0 call Bat.getLeft 1 pop local 1 push this 0 call Bat.getRight 1 pop local 2 push this 1 call Ball.getLeft 1 pop local 3 push this 1 call Ball.getRight 1 pop local 4 push this 2 push constant 4 eq not if-goto moveBall.Else0.Else0 push local 1 push local 4 gt push local 2 push local 3 lt or pop this 3 push this 3 not not if-goto moveBall.Else0.Else0.Else0 push local 4 push local 1 push constant 10 add lt not if-goto moveBall.Else0.Else0.Else0.Else0 push constant 1 neg pop local 0 goto moveBall.Else0.Else0.Else0.Endif0 label moveBall.Else0.Else0.Else0.Else0 push local 3 push local 2 push constant 10 sub gt not if-goto moveBall.Else0.Else0.Else0.If0.Else0 push constant 1 pop local 0 label moveBall.Else0.Else0.Else0.If0.Else0 label moveBall.Else0.Else0.Else0.Endif0 push this 6 push constant 2 sub pop this 6 push this 0 push this 6 call Bat.setWidth 2 pop temp 0 push this 4 push constant 1 add pop this 4 push constant 22 push constant 7 call Output.moveCursor 2 pop temp 0 push this 4 call Output.printInt 1 pop temp 0 label moveBall.Else0.Else0.Else0 label moveBall.Else0.Else0 push this 1 push local 0 call Ball.bounce 2 pop temp 0 label moveBall.Else0 push constant 0 return