From e13ade1ef0cb35568cd78d0d65884a6bbd7f951d Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sat, 12 May 2012 15:54:57 +0200 Subject: digital/io-hub/src/guybrush: add failure report function --- digital/io-hub/src/guybrush/strat.c | 16 ++++++++++++++++ digital/io-hub/src/guybrush/strat.h | 4 ++++ 2 files changed, 20 insertions(+) (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 a59fb4e1..51e2eb99 100644 --- a/digital/io-hub/src/guybrush/strat.c +++ b/digital/io-hub/src/guybrush/strat.c @@ -79,6 +79,8 @@ struct strat_place_dyn_t { /** Valid (not collected yet). */ uint8_t valid; + /** Tryed yet. */ + uint8_t fail_nb; }; /** Strat context. */ @@ -158,3 +160,17 @@ strat_success (void) } } +void +strat_failure (void) +{ + switch (strat.last_decision) + { + default: + if (strat.place[strat.last_place].fail_nb < 255) + strat.place[strat.last_place].fail_nb++; + break; + case STRAT_DECISION_UNLOAD: + break; + } +} + diff --git a/digital/io-hub/src/guybrush/strat.h b/digital/io-hub/src/guybrush/strat.h index 53654bba..e20a44b8 100644 --- a/digital/io-hub/src/guybrush/strat.h +++ b/digital/io-hub/src/guybrush/strat.h @@ -48,4 +48,8 @@ strat_decision (vect_t *pos); void strat_success (void); +/** Report a failure of last decision. */ +void +strat_failure (void); + #endif /* strat_h */ -- cgit v1.2.3