changeset 35:8e8903cc0997

Robot movement works now
author Mike Pavone <pavone@retrodev.com>
date Sun, 15 Jul 2012 10:52:50 -0700
parents ac0df071afe7
children 814e3d482ad3
files src/sim.tp
diffstat 1 files changed, 13 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/sim.tp	Sun Jul 15 10:30:40 2012 -0700
+++ b/src/sim.tp	Sun Jul 15 10:52:50 2012 -0700
@@ -56,9 +56,7 @@
 					busted <- false
 					mine <- null
 					doCmd <- :cmd {
-						debugLog: "docmd\n"
 						action <- commands get: cmd
-						debugLog: "fetched action\n"
 						action:
 					}
 					move <- :xDelta yDelta {
@@ -74,28 +72,27 @@
 
 						navigable <- :cur {
 							// need "any" and "all" functions...
-							if: cur eq empty    {true} else: {
-							if: cur eq earth    {true} else: {
-							if: cur eq lambda   {true} else: {
-							if: cur eq openLift {true} else: {
+							if: (cur eq: empty)    {true} else: {
+							if: (cur eq: earth)    {true} else: {
+							if: (cur eq: lambda)   {true} else: {
+							if: (cur eq: openLift) {true} else: {
 							                      false         }}}}
 						}
 						
 						consequenceOf <- :cur {
-							if: cur = lambda {collected <- collected + 1}
-							if: cur = openLift {mine succeeded!: true}							
+							if: (cur eq: lambda)   {collected <- collected + 1}
+							if: (cur eq: openLift) {mine succeeded!: true}							
 						}
 
 						destination <- mine getCell: xPrime yPrime
-						debugLog: "destination is " . destination . "\n"
 						if: (destination navigable: ) {
 							consequenceOf: destination
 							writeMove:
 						} else: {
-							if: destination = rock {
+							if: (destination eq: rock) {
 								xPrimePrime <- xDelta * 2 + x
 								rockDestination <- mine getCell: xPrimePrime y
-								if: rockDestination = empty {
+								if: (rockDestination eq: empty) {
 									mine setCell: xPrimePrime y rock
 									writeMove:
 								}
@@ -150,11 +147,11 @@
 				}
 				advance <- :roboCmd {
 					endreached <- roboCmd = "A"
-					if: endreached { debugLog: "game over man\n" } else: { debugLog: "still going\n" }
-					robot doCmd: roboCmd
-					moves <- moves + 1
-					debugLog: "calling doUpdate"
-					doUpdate:
+					if: (not: endreached) {
+						robot doCmd: roboCmd
+						moves <- moves + 1
+						doUpdate:
+					}
 					self
 				}
 				printGrid <- {