summaryrefslogtreecommitdiff
path: root/projects/11/K/KGame.jack
diff options
context:
space:
mode:
Diffstat (limited to 'projects/11/K/KGame.jack')
-rw-r--r--projects/11/K/KGame.jack34
1 files changed, 34 insertions, 0 deletions
diff --git a/projects/11/K/KGame.jack b/projects/11/K/KGame.jack
new file mode 100644
index 0000000..796f5b5
--- /dev/null
+++ b/projects/11/K/KGame.jack
@@ -0,0 +1,34 @@
+class KGame{
+ field Board board;
+
+ constructor KGame new() {
+ let board = Board.new();
+ do board.draw();
+ return this;
+ }
+
+ method void dispose() {
+ do board.dispose();
+ do Memory.deAlloc(this);
+ return;
+ }
+
+ method void run() {
+ var int key, dir;
+ var boolean exit;
+ let key = 0;
+ let exit = false;
+ while (~exit) {
+ while ((key < 130) | (key > 133)) {
+ let key = Keyboard.keyPressed();
+ }
+ let dir = key - 130;
+ while (~(key = 0)) {
+ let key = Keyboard.keyPressed();
+ }
+ do board.next(dir);
+ do board.draw();
+ }
+ return;
+ }
+}