function KGame.new 0 push constant 1 call Memory.alloc 1 pop pointer 0 call Board.new 0 pop this 0 push this 0 call Board.draw 1 pop temp 0 push pointer 0 return function KGame.dispose 0 push argument 0 pop pointer 0 push this 0 call Board.dispose 1 pop temp 0 push pointer 0 call Memory.deAlloc 1 pop temp 0 push constant 0 return function KGame.run 5 push argument 0 pop pointer 0 push constant 0 pop local 4 label WHILE_EXP0 push local 4 not not if-goto WHILE_END0 push this 0 call Board.getStatus 1 pop local 3 push constant 0 pop local 0 label WHILE_EXP1 push local 0 push constant 0 eq not if-goto WHILE_END1 call Keyboard.keyPressed 0 pop local 0 goto WHILE_EXP1 label WHILE_END1 push local 0 pop local 2 label WHILE_EXP2 push local 2 push constant 0 eq not not if-goto WHILE_END2 call Keyboard.keyPressed 0 pop local 2 goto WHILE_EXP2 label WHILE_END2 push local 0 push constant 81 eq if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push constant 0 not pop local 4 goto IF_END0 label IF_FALSE0 push local 3 push constant 0 eq if-goto IF_TRUE1 goto IF_FALSE1 label IF_TRUE1 call Screen.clearScreen 0 pop temp 0 push this 0 push constant 1 call Board.setStatus 2 pop temp 0 push this 0 call Board.draw 1 pop temp 0 goto IF_END1 label IF_FALSE1 push local 3 push constant 2 eq push local 3 push constant 3 eq or if-goto IF_TRUE2 goto IF_FALSE2 label IF_TRUE2 call Screen.clearScreen 0 pop temp 0 push this 0 push constant 0 call Board.setStatus 2 pop temp 0 push this 0 call Board.draw 1 pop temp 0 push this 0 call Board.initBoard 1 pop temp 0 goto IF_END2 label IF_FALSE2 push local 0 push constant 82 eq if-goto IF_TRUE3 goto IF_FALSE3 label IF_TRUE3 call Screen.clearScreen 0 pop temp 0 push this 0 call Board.initBoard 1 pop temp 0 push this 0 call Board.draw 1 pop temp 0 goto IF_END3 label IF_FALSE3 push local 0 push constant 129 gt push local 0 push constant 134 lt and if-goto IF_TRUE4 goto IF_FALSE4 label IF_TRUE4 call Screen.clearScreen 0 pop temp 0 push this 0 push local 0 push constant 130 sub call Board.next 2 pop temp 0 push this 0 call Board.draw 1 pop temp 0 push constant 300 call Sys.wait 1 pop temp 0 call Screen.clearScreen 0 pop temp 0 push this 0 call Board.addTile 1 pop temp 0 push this 0 call Board.draw 1 pop temp 0 label IF_FALSE4 label IF_END3 label IF_END2 label IF_END1 label IF_END0 goto WHILE_EXP0 label WHILE_END0 push constant 0 return