예제 #1
0
            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);
            }
예제 #2
0
            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);
            }