@ -6,6 +6,9 @@ using QwirkleClassLibrary.Tiles;
namespace QwirkleClassLibrary.Boards;
/// <summary>
/// Our board is made with a list of this class. It can stock infos such as its position on the board and the tile it contains.
/// </summary>
[DataContract]
public class Cell : INotifyPropertyChanged
{
@ -11,6 +11,9 @@ using static System.Formats.Asn1.AsnWriter;
namespace QwirkleClassLibrary.Games
/// This is our main class for the Qwirkle application, taking care of the good efficiency of the game.
public class Game : IPlayer, IRules, INotifyPropertyChanged
@ -5,6 +5,9 @@ using QwirkleClassLibrary.Tiles;
namespace QwirkleClassLibrary.Games;
/// This interface is used for all methods related to the player, such as the moves he can make.
public interface IPlayer
public Player CreatePlayer(string playerTag);
@ -9,6 +9,9 @@ using QwirkleClassLibrary.Tiles;
/// 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();