This rock paper scissors program uses a number of functions so this is a good way of getting that critical concept under your belt.
Random function: to generate rock, paper, or scissors.
Valid function: to check the validity of the move.
Result function: to declare the winner of the round.
Scorekeeper: to keep track of the score.
The program requires the user to make the first move before it makes a move. The input could be a string or an alphabet representing either rock, paper or scissors. After evaluating the input string, a winner is decided by the result function and the score of the round is updated by the scorekeeper function.