From 71c6cc5f01a5914deaa381784cae31d11b2d0b60 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sat, 19 May 2012 22:01:46 +0200 Subject: digital/io-hub/src/guybrush: prefer to unload in holds the first time --- digital/io-hub/src/guybrush/strat.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'digital/io-hub/src') diff --git a/digital/io-hub/src/guybrush/strat.c b/digital/io-hub/src/guybrush/strat.c index a07c1822..308bdd49 100644 --- a/digital/io-hub/src/guybrush/strat.c +++ b/digital/io-hub/src/guybrush/strat.c @@ -117,6 +117,8 @@ struct strat_t vect_t prepared_pos; /** Robot content estimation. */ uint8_t load; + /** Number of time the robot unloaded. */ + uint8_t unload_nb; /** Upper clamp is dead. */ uint8_t upper_clamp_dead; /** Places information. */ @@ -210,7 +212,7 @@ strat_place_score (uint8_t i) if (strat.upper_clamp_dead && strat_place[i].decision == STRAT_DECISION_TOTEM) score -= 3000; - if (strat.load <= 4 + if (strat.load <= 4 && strat.unload_nb != 0 && (i == STRAT_PLACE_CAPTAIN0 || i == STRAT_PLACE_CAPTAIN1)) score += 2000; return score; @@ -273,6 +275,7 @@ strat_success (void) break; case STRAT_DECISION_UNLOAD: strat.load = 0; + strat.unload_nb++; if (strat.last_place == STRAT_PLACE_CAPTAIN0 || strat.last_place == STRAT_PLACE_CAPTAIN1) { -- cgit v1.2.3