diff options
author | Frederick Yin <fkfd@fkfd.me> | 2022-08-16 11:54:23 +0800 |
---|---|---|
committer | Frederick Yin <fkfd@fkfd.me> | 2022-08-16 11:54:23 +0800 |
commit | 9542deeb483a00b6fabed7574720926ce97d7511 (patch) | |
tree | 0f2c1f72c03dd4693fd59df67544d2a4dddc5494 /projects/10/Square/Main.jack | |
parent | 9c0cb1d1c32724fc95ac9548e4f8d873d3adaccc (diff) |
Projects, 01-06 completed
Diffstat (limited to 'projects/10/Square/Main.jack')
-rw-r--r-- | projects/10/Square/Main.jack | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/projects/10/Square/Main.jack b/projects/10/Square/Main.jack new file mode 100644 index 0000000..a6fd2c2 --- /dev/null +++ b/projects/10/Square/Main.jack @@ -0,0 +1,36 @@ +// This file is part of www.nand2tetris.org
+// and the book "The Elements of Computing Systems"
+// by Nisan and Schocken, MIT Press.
+// File name: projects/10/Square/Main.jack
+
+// (derived from projects/09/Square/Main.jack, with testing additions)
+
+/** Initializes a new Square Dance game and starts running it. */
+class Main {
+ static boolean test; // Added for testing -- there is no static keyword
+ // in the Square files.
+ function void main() {
+ var SquareGame game;
+ let game = SquareGame.new();
+ do game.run();
+ do game.dispose();
+ return;
+ }
+
+ function void more() { // Added to test Jack syntax that is not used in
+ var int i, j; // the Square files.
+ var String s;
+ var Array a;
+ if (false) {
+ let s = "string constant";
+ let s = null;
+ let a[1] = a[2];
+ }
+ else { // There is no else keyword in the Square files.
+ let i = i * (-j);
+ let j = j / (-2); // note: unary negate constant 2
+ let i = i | j;
+ }
+ return;
+ }
+}
|