Scoring doesn't need global variables
[the-server-room.git] / the-server-room.inf
index e0beba89684fb851d11bbc2287bd3296b29dcb8f..2af50d38fd1ac0480759f44ea4f06ec9cbb18975 100644 (file)
@@ -42,9 +42,6 @@ Serial "190908";
 Constant MAX_SCORE = 6;
 Include "parser";
 Include "verblib";
-Global openedbackpack = 1;
-Global openedtray = 1;
-Global takencd = 1;
 Global beeping = 1;
 !=========================================================================
 ! The Game Objects
@@ -79,9 +76,12 @@ Object  fridge "refrigerator" break_room
 
 Object  counter "long counter" break_room
   with  description
-            "A long counter. You can't quite determine the color,
-            it's somewhere between green and brown. On the counter is
-            a microwave.",
+            "It's a beautiful, stylish, and high-quality solid wood
+            counter that runs the length of the wall. You can't quite
+            determine the color of the sleek countertop, it's
+            somewhere between green and brown. The design on the
+            countertop consists of geometric patterns. It seems a
+            sturdy, durable, and solid counter.",
         name 'counter',
   has   static supporter scenery;
 
@@ -91,7 +91,7 @@ Object  microwave "microwave" counter
             like a real workhorse. It's compact, quiet, and works
             great.",
         name 'microwave' 'micro',
-  has   container openable scenery;
+  has   container openable;
 
 Object  table "table" break_room
   with  description "It's a table. Were you expecting something else?",
@@ -114,9 +114,9 @@ Object  backpack "backpack" table
         article "your",
         before [;
           Open:
-            if (openedbackpack == 1) {
+            if (backpack hasnt visited) {
                 score = score + 2;
-                openedbackpack = 2;
+                give backpack visited;
             }
         ],
   has   clothing container openable;
@@ -129,10 +129,9 @@ Object  disc "Trisquel CD" backpack
         name 'disk' 'disc' 'Trisquel' 'cd',
         after [;
           Take:
-            if (takencd == 1) {
+            if (disc hasnt visited) {
                 score = score + 2;
-                takencd = 2;
-                print_ret "You pick up the Trisquel CD.^";
+                give disc visited;
             }
         ],
   has   ;
@@ -214,9 +213,9 @@ Object  tray "tray" server_room
             if (noun ~= disc)
                 print_ret (The) noun, " is too big to fit.";
           Open:
-            if (openedtray == 1) {
+            if (tray hasnt visited) {
                 score = score + 2;
-                openedtray = 2;
+                give tray visited;
             }
         ],
         after [;