private Tile PopTileAtParticularIndexFromRemainingTiles(int indexToPop) { if (RemainingTiles.Count == 0) { Round.Stalemate(); DealIsOver = true; return(null); } var poppedTile = RemainingTiles[indexToPop]; RemainingTiles.RemoveAt(indexToPop); return(poppedTile); }
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); }
public int GetRemainingTilesCount() { return(RemainingTiles.Count()); }