Action DriveStrategy::makeDecision(ITank &tank, model::World world) { Action action; action.setLeft(0); action.setRight(0); std::vector<model::Bonus> bonuses = world.bonuses(); if (bonuses.empty()) return action; model::Bonus best = bonuses[0]; for (int i = 1; i < (int)bonuses.size(); i++) { model::Bonus cur = bonuses[i]; if (tank.distanceTo(cur) < tank.distanceTo(best)) best = cur; } //std::cerr << "Move to " << best.x() << " " << best.y() << std::endl; moveTo(tank, best.x(), best.y(), action); return action; }