summaryrefslogtreecommitdiff
path: root/projects/09/K/KGame.jack
diff options
context:
space:
mode:
Diffstat (limited to 'projects/09/K/KGame.jack')
-rw-r--r--projects/09/K/KGame.jack39
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;
}