import std/strutils import std/tables import std/sequtils type Match = (char, char) const rock = 'A' paper = 'B' scissors = 'C' lose = 'X' draw = 'Y' win = 'Z' scores = { rock: 1, paper: 2, scissors: 3, win: 6, lose: 0, draw: 3, }.toTable magicBeans = [scissors, rock, paper, scissors, rock].toSeq outcomeOffsets = { win: 1, lose: -1, draw: 0, }.toTable proc indexOf[T](x: seq[T], v: T): int = indexOf(x, v, 0, x.len) proc indexOf[T](x: seq[T], v: T, start: int): int = indexOf(x, v, start, x.len) proc indexOf[T](x: seq[T], v: T, start: int, stop: int): int = for i in start..