using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using QwirkleClassLibrary.Boards; using QwirkleClassLibrary.Players; using QwirkleClassLibrary.Tiles; namespace QwirkleClassLibrary.Games { /// /// This interface is used to define the functions used in the game. It is mainly about all the rules of the games, chacking if the player moves are correct. /// public interface IRules { Board CreateBoard(); TileBag CreateTileBag(int nbSet); bool IsMoveCorrect(Tile t, int x, int y, Board b); bool CheckExtendedSurroundingCells(ref bool previousTilesFound, Tile tile, int x, int y, int dx, int dy, Board b); bool CheckTilesInLine(List cells, Board b, int x, int y); bool CheckGameOver(Player player); } }