private bool DetermineIfUserCanPong(IEnumerable <RoundTile> playerTiles, RoundTile boardTile) { //player tiles can't be in graveyard when pong from board //when someone throw a tile, there should not be a justpicked status tile playerTiles = playerTiles.Where(rt => rt.Status == TileStatus.UserActive); var playerSameTilesAsBoard = playerTiles .Where(t => t.Tile.TileType == boardTile.Tile.TileType && t.Tile.TileValue == boardTile.Tile.TileValue); return(playerSameTilesAsBoard.Count() >= 2); }
private bool DetermineIfUserCanChow(IEnumerable <RoundTile> playerTiles, RoundTile boardTile) { //player tiles can't be in graveyard when pong from board //when someone throw a tile, there should not be a justpicked status tile if (boardTile.Tile.TileType == TileType.Wind || boardTile.Tile.TileType == TileType.Dragon || boardTile.Tile.TileType == TileType.Flower) { return(false); } var possibleChowTiles = RoundTileHelper.FindPossibleChowTiles(boardTile, playerTiles); return(possibleChowTiles.Count() >= 1); }