Example #1
0
        /// <summary>
        /// Zwraca obecnie wygrywajaca lewe karte. Jezeli jest tylko 1 karta w lewie to zwroci ja.
        /// Kolorem obowiazujacym jest kolor wistu (czyli 1sza karta na liscie).
        /// </summary>
        /// <param name="curTrickCards">Obecna lewa. Moze sie skladac z od 0 do 4 kart.</param>
        /// <param name="outHighestCard">Zwracana karta w out'ie ktora jest najwysza.</param>
        /// <returns>PRAWDA jezeli jest jakas karta w lewie. Jezeli lewa jest pusta to nie ma co zwroc
        /// i zwraca FALSE, zas w out'ie jest null. </returns>
        public bool CurTrickHighestCard(List <Card> curTrickCards, out Card outHighestCard)
        {
            Card highestCard = null;

            //jezeli pusty to zwroc nulla i false (nie ma najwyzszej)
            if (curTrickCards.Count <= 0)
            {
                outHighestCard = highestCard;
                return(false);
            }

            highestCard = curTrickCards.First();
            //jezeli jeden element to zwroc go
            if (curTrickCards.Count == 1)
            {
                outHighestCard = highestCard;
                return(true);
            }

            //jezeli wiecej niz 1 element to porownaj po kolei
            for (int i = 0; i < curTrickCards.Count; i++)
            {
                GameRules.CompareCards(highestCard, curTrickCards[i], out highestCard);
            }

            outHighestCard = highestCard;
            return(true);
        }