From b1e468bbe07f5e0ec19066d6f9881cf4159e5a12 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Thu, 9 May 2013 12:19:58 +0200 Subject: digital/io-hub/src/apbirthday: give up candles after many tries --- digital/io-hub/src/apbirthday/strat.cc | 4 ++++ digital/io-hub/src/apbirthday/strat.hh | 2 ++ 2 files changed, 6 insertions(+) (limited to 'digital') diff --git a/digital/io-hub/src/apbirthday/strat.cc b/digital/io-hub/src/apbirthday/strat.cc index 29d6eb7d..c2ab4d61 100644 --- a/digital/io-hub/src/apbirthday/strat.cc +++ b/digital/io-hub/src/apbirthday/strat.cc @@ -181,6 +181,7 @@ Strat::decision (Position &pos) pos.v = pg_cake_pos; pos.a = 0; last_decision_ = CANDLES; + candles_tries_ = 0; return CANDLES; case 2: if (team_color) @@ -211,6 +212,9 @@ strat_candles_score (int first, int last) bool Strat::decision_candles (CandlesDecision &decision, uint16_t robot_angle) { + if (candles_tries_ > 5) + return false; + candles_tries_++; // Make an evaluation of the best direction to follow. // TODO: +1/-1 until candles at ends can be reached. int limit, score_forward, score_backward; diff --git a/digital/io-hub/src/apbirthday/strat.hh b/digital/io-hub/src/apbirthday/strat.hh index 1f4365c6..76729bb7 100644 --- a/digital/io-hub/src/apbirthday/strat.hh +++ b/digital/io-hub/src/apbirthday/strat.hh @@ -98,6 +98,8 @@ class Strat private: /// Last taken decision. Decision last_decision_; + /// Number of candles tries. + int candles_tries_; /// Last plate decision. PlateDecision plate_decision_; /// Last gifts decision. -- cgit v1.2.3