KoogleV4/GameModel/Contracts/IGameHandler.cs

29 lines
761 B
C#

using GameModel;
using GameModel.Contracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GameModel.Contract
{
public interface IGameHandler
{
public const int INFINIT_THROWS = 9999;
static string GameName() => "Default Hello from IGameHandler";
ThrowMode ThrowMode() => GameModel.ThrowMode.Reposition;
int ThrowsPerRount() => INFINIT_THROWS;
bool FreePlayerSelection() => true;
IGameModel InitGameModel(int[] playerIds, IGameSettings gameSettings);
int GetCurrentPlayerId(IGameModel gameModel);
IGameModel Update(PinThrow pinThrow, IGameModel gameModel, BoardState boardStateBeforeUpdate);
}
}