If we're wishing to optimize for the ease of use when defining new strategies, perhaps we should use enums or strings for moves/items in Strategy classes. Ideally instead of returning 0, 1 from choose_action competitors should return PERFORM_MOVE, ATTACK. This is much more readable for complex strategies and I believe will lead to less dumb mistakes.
If we're wishing to optimize for the ease of use when defining new strategies, perhaps we should use enums or strings for moves/items in
Strategyclasses. Ideally instead of returning0, 1fromchoose_actioncompetitors should returnPERFORM_MOVE, ATTACK. This is much more readable for complex strategies and I believe will lead to less dumb mistakes.