summaryrefslogtreecommitdiffhomepage
path: root/digital/io-hub/src/apbirthday
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io-hub/src/apbirthday')
-rw-r--r--digital/io-hub/src/apbirthday/strat.cc4
-rw-r--r--digital/io-hub/src/apbirthday/strat.hh2
2 files changed, 6 insertions, 0 deletions
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.