This answer focuses on the negative code paths.
You use "ERROR!!", "ERROR!", and "ERROR! ERROR!" to indicate something has gone wrong but don't provide any information as to what went wrong or how to fix it. It's trivial is this example but a good habit to adopt.
The first ERROR!! is in the user's control. Reiterate the valid input. Maybe even echo the invalid input that caused the error.
The second error is outside of the user's control, and shouldn't happen, but if it does then you can help yourself debug it by stating the expected random value was outside the range 0-2 and print the unexpected value.
The last error is another case that shouldn't happen; you can only win, lose, or draw a game. But if that path occurs I would print the choice and answer1 in the error message.