Mercurial > repos > icfp2012
changeset 46:5d2e59cbbc7c
Merge
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 15 Jul 2012 17:27:23 -0700 |
parents | 9f1ca5ba2684 (current diff) 1f583d85c8ed (diff) |
children | 365c83ea7658 703488432369 |
files | src/sim.tp |
diffstat | 1 files changed, 16 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/src/sim.tp Sun Jul 15 17:26:25 2012 -0700 +++ b/src/sim.tp Sun Jul 15 17:27:23 2012 -0700 @@ -211,10 +211,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 { @@ -294,22 +309,6 @@ ret lambdaCount!: (ret lambdaCount) + 1 } } - - -// adding a 'new' method to robot and doing this instead -// wolud allow me to treat robots and other cellTypes equaly -// particularly for adding methods or state to other cellTypess. -// -// if: (el = (cellTypes robot)) { -// robot <- el new: -// (ret grid) set: index robot -// robot mine!: ret -// ret updatePos: robot index -// nextGrid append: el -// } else: { -// nextGrid append: el -// } - } ret }