Skip to content

Instantly share code, notes, and snippets.

@zoffixznet
Created August 3, 2016 12:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zoffixznet/c5583f24c268818dccffd5a756b7706c to your computer and use it in GitHub Desktop.
Save zoffixznet/c5583f24c268818dccffd5a756b7706c to your computer and use it in GitHub Desktop.
enum Hand <Rock Paper Scissors>;
multi infix:<beats>(Paper, Rock) { True }
multi infix:<beats>(Rock, Scissors) { True }
multi infix:<beats>(Scissors, Paper) { True }
multi infix:<beats>($, $) { False }
my $p1 = Hand.roll;
say "Player 1 chooses {$p1}";
my $p2 = Hand.roll;
say "Player 2 chooses {$p2}";
say do {
when $p1 beats $p2 { "Player 1 wins!" }
when $p2 beats $p1 { "Player 2 wins!" }
"It's a tie!"
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment