Jacob Fugal wrote:

> This 'cheater' isn't gauranteed. Try it against this naive random player:
> 
>   def choose
>     [ :paper, :scissors, :rock ][ rand(3) ]
>   end

Still, even in that situation you will pick an attack against a random 
invalid move which means you'll still have a 50% chance of winning.