changeset 36:814e3d482ad3

Make navigable a property of the cell type so I can use it in lifter
author Mike Pavone <pavone@retrodev.com>
date Sun, 15 Jul 2012 11:07:11 -0700
parents 8e8903cc0997
children 2dc785f67327
files src/sim.tp
diffstat 1 files changed, 6 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/sim.tp	Sun Jul 15 10:52:50 2012 -0700
+++ b/src/sim.tp	Sun Jul 15 11:07:11 2012 -0700
@@ -18,11 +18,17 @@
 	makeCellTypes <- {
 		typedict <- dict linear
 		new <- :idStr {
+			cannav <- if: idStr = " "  {true} else: {
+			          if: idStr = "."  {true} else: {
+			          if: idStr = "\\" {true} else: {
+			          if: idStr = "O"  {true} else: {
+			                            false         }}}}
 			ret <- #{
 				id <- (idStr byte: 0)
 				string <- idStr
 				isrobot <- { false }
 				eq <- :other { id = (other id) }
+				navigable <- { cannav }
 			}
 			typedict set: (ret id) ret
 			ret
@@ -69,15 +75,6 @@
 							x <- xPrime
 							y <- yPrime
 						}
-
-						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: {
-							                      false         }}}}
-						}
 						
 						consequenceOf <- :cur {
 							if: (cur eq: lambda)   {collected <- collected + 1}