Mercurial > repos > icfp2012
changeset 52:b0d89ee419c1
Add maximum moves check
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 15 Jul 2012 18:37:36 -0700 |
parents | cf534157ef2f |
children | fbeedb3aa239 |
files | src/sim.tp |
diffstat | 1 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/sim.tp Sun Jul 15 18:32:58 2012 -0700 +++ b/src/sim.tp Sun Jul 15 18:37:36 2012 -0700 @@ -130,6 +130,7 @@ _nextGrid <- #[] _robot <- null _ended <- false + _maxmoves <- in_width * in_height _succeeded <- false ret <- #{ @@ -250,11 +251,14 @@ } swapGrids: } + abort <- { + _ended <- true + addPoints: (_robot collected) * 25 + } advance <- :roboCmd { if: roboCmd = "A" { - _ended <- true moves append: roboCmd - addPoints: (_robot collected) * 25 + abort } if: (not: _ended) { @@ -262,6 +266,9 @@ score <- score - 1 moves append: roboCmd doUpdate: + if: (moves length) >= _maxmoves { + abort + } } self }