public static RoundResult GetResult(Gesture a, Gesture b)
        {
            if (a == b)
            {
                return(RoundResult.TIE);
            }
            GestVec gv = new GestVec(a, b);

            if (gestureComparisonResults.ContainsKey(gv))
            {
                return(gestureComparisonResults[gv]);
            }
            GestVec opp = gv.Opposite();

            if (gestureComparisonResults.ContainsKey(opp))
            {
                gestureComparisonResults.Add(gv, gestureComparisonResults[opp].Opposite());
                return(gestureComparisonResults[gv]);
            }
            return(RoundResult.TIE);
        }
        public static string GetMessage(Gesture a, Gesture b)
        {
            GestVec gv = new GestVec(a, b);

            if (messages.ContainsKey(gv))
            {
                return(messages[gv]);
            }
            if (a == b)
            {
                messages.Add(gv, "The elements are at peace with each other.");
                return(messages[gv]);
            }
            GestVec opp = gv.Opposite();

            if (messages.ContainsKey(opp))
            {
                string m = messages[opp];
                messages.Add(gv, m);
                return(m);
            }
            return("");
        }