diff options
Diffstat (limited to 'projects/09/K/KGame.jack')
-rw-r--r-- | projects/09/K/KGame.jack | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/projects/09/K/KGame.jack b/projects/09/K/KGame.jack index 796f5b5..e2b6d3d 100644 --- a/projects/09/K/KGame.jack +++ b/projects/09/K/KGame.jack @@ -14,20 +14,43 @@ class KGame{ } method void run() { - var int key, dir; + var int key, dir, key1, st; var boolean exit; - let key = 0; let exit = false; while (~exit) { - while ((key < 130) | (key > 133)) { + let st = board.getStatus(); + let key = 0; + while (key = 0) { let key = Keyboard.keyPressed(); } - let dir = key - 130; - while (~(key = 0)) { - let key = Keyboard.keyPressed(); + let key1 = key; + while (~(key1 = 0)) { + let key1 = Keyboard.keyPressed(); } - do board.next(dir); - do board.draw(); + if (key = 81) { + let exit = true; + } else { if ((st = 0)) { + do Screen.clearScreen(); + do board.setStatus(1); + do board.draw(); + } else { if ((st = 2) | (st = 3)) { + do Screen.clearScreen(); + do board.setStatus(0); + do board.draw(); + do board.initBoard(); + } else { if (key = 82) { // r for restart + do Screen.clearScreen(); + do board.initBoard(); + do board.draw(); + } else { if ((key > 129) & (key < 134)) { + do Screen.clearScreen(); + do board.next(key - 130); + do board.draw(); + do Sys.wait(300); + do Screen.clearScreen(); + do board.addTile(); + do board.draw(); + }}}}} } return; } |