Пример #1
0
        public virtual Gamble whoIsWinner(Gamble gamble)
        {
            Gamble winner;

            if (this.gambleType.Equals((object)gamble.gambleType))
            {
                winner = this.whoIsWinnerWithSameGambleType(gamble);
            }
            else if (this.gambleType.greater(gamble.gambleType))
            {
                winner = this;
            }
            else
            {
                winner = gamble;
            }
            return(winner);
        }
Пример #2
0
        protected internal virtual Gamble whoIsWinnerWithSameGambleType(Gamble gamble)
        {
            IList <Value> orderedValues = gamble.orderedValues;
            int           i             = 0;

            while (i < orderedValues.Count - 1 && this.orderedValues[i].Equals(orderedValues[i]))
            {
                i++;
            }
            if (this.orderedValues[i].Greater(orderedValues[i]))
            {
                return(this);
            }
            else if (orderedValues[i].Greater(this.orderedValues[i]))
            {
                return(gamble);
            }
            return(null);
        }