Rock Paper Scissors
Company:
University
Required product:
Program to help understand the best strategy to play Rock Paper Scissors. You need to build a tournament that creates a round robin of players using different strategies playing Rock Paper Scissors. Each match between 2 players will be 21 rounds of Rock Paper Scissors.
After creating this tournament, create a new strategy that wins the overall tournament.
Parameters:
There will be 6 original strategies/players:
- Always play Rock;
- Always play Paper;
- Always play Scissors;
- Alternate: Rock then Paper then Scissors;
- Alternate: Rock then Scissors then Paper;
- Play randomly
- Mirror: Repeats the ‘previous move’ made by the oppponent.
Particularities that need to be taken in to account:
Strategies are allowed to keep track of what has happened throughout their current duel but do not know what strategy/player they are playing (although they can try to figure it out).
Summary:
The following picture summarises your challenge:
Evaluation:
Your code will be evaluated in terms of:
- Precision (does it work and if so is it correct? - This is an objective criteria)
- Performance (how fast is it? how does it handle bugs? - This is an objective criteria)
- Time taken to submit solution (This is an objective criteria)
- Clarity (is it well written/documented/tested - This is a subjective criteria)
- How have you been working as a team (This is a subjective criteria)
Suggestion:
I suggest you proceed by clearly defining independent programming tasks and attempting to work independently whilst ensuring that each piece of code produced is capable of talking to each other piece.