Example #1
0
        private Tile PopTileAtParticularIndexFromRemainingTiles(int indexToPop)
        {
            if (RemainingTiles.Count == 0)
            {
                Round.Stalemate();
                DealIsOver = true;
                return(null);
            }
            var poppedTile = RemainingTiles[indexToPop];

            RemainingTiles.RemoveAt(indexToPop);

            return(poppedTile);
        }
Example #2
0
        private char GetCharFromRemainingTiles()
        {
            if (RemainingTiles == "")
            {
                // No tiles left
                return(' ');
            }

            int position;

            lock (randLock) // Must lock , because random is static, and therefore shared between threads
            {
                position = random.Next(RemainingTiles.Length);
            }

            char result = RemainingTiles[position];

            RemainingTiles = RemainingTiles.Substring(0, position) + RemainingTiles.Substring(position + 1);
            return(result);
        }
Example #3
0
 public int GetRemainingTilesCount()
 {
     return(RemainingTiles.Count());
 }