# HG changeset patch # User William Morgan # Date 1342395942 25200 # Node ID 1f583d85c8ed4f6f067d52485305f3d3c8f5a782 # Parent 21b14768ea007b0856bd052a6497750238e0655c rocks slide correctly now. rock movement is complete. diff -r 21b14768ea00 -r 1f583d85c8ed src/sim.tp --- a/src/sim.tp Sun Jul 15 14:48:05 2012 -0700 +++ b/src/sim.tp Sun Jul 15 16:45:42 2012 -0700 @@ -197,10 +197,25 @@ x <- calcX: index y <- calcY: index below <- getCell: x (y - 1) + fallToSide <- :delta { + side <- getCell: (x + delta) y + belowSide <- getCell: (x + delta) (y - 1) + if: (side eq: (cellTypes empty)) { + if: (belowSide eq: (cellTypes empty)) { + setCell: (x + delta) (y - 1) value + setCell: x y (cellTypes empty) + true + } else: { false } + } else: { false } + } if: (below eq: (cellTypes empty)) { setCell: x y (cellTypes empty) setCell: x (y - 1) value - } + } else: { if: (below eq: (cellTypes rock)) { + if: (not: (fallToSide: 1)) {fallToSide: -1} + } else: { if: (below eq: (cellTypes lambda)) { + fallToSide: 1 + }}} // end if } else: { if: (value eq: (cellTypes closedLift)) { if: (_robot collected) = _lambdaCount {