public Variant960Controller(IUserRepository _userRepository, IPersistentLoginHandler _loginHandler, IRandomProvider _randomProvider, IGameRepository _gameRepository, IMoveCollectionTransformer _moveCollectionTransformer, IGameConstructor _gameConstructor) : base(_userRepository, _loginHandler) { randomProvider = _randomProvider; gameRepository = _gameRepository; moveCollectionTransformer = _moveCollectionTransformer; gameConstructor = _gameConstructor; }
/// <summary> /// Attempts to construct a game. /// </summary> public bool TryConstruct(out IGameConstructor construct) { construct = null; if (!IsPlayable) { return(false); } construct = Construct(); return(true); }
public PuzzleTrainingSession(string sessionId, IGameConstructor _gameConstructor) { SessionID = sessionId; PastPuzzleIds = new List <int>(); FENs = new List <string>(); Checks = new List <string>(); Moves = new List <string>(); gameConstructor = _gameConstructor; }
public TimedTrainingSession(string sessionId, DateTime startedAt, DateTime endsAt, int?owner, string type, string variant, IGameConstructor _gameConstructor) { SessionID = sessionId; StartedAt = startedAt; EndsAt = endsAt; RecordedInDb = false; Score = new TimedTrainingScore(0, type, owner, DateTime.UtcNow, Variant); Variant = variant; Type = type; gameConstructor = _gameConstructor; }
public SocketController(IUserRepository _userRepository, IPersistentLoginHandler _loginHandler, ILobbySocketHandlerRepository _lobbySocketHandlerRepository, ILobbySeekRepository _seekRepository, IGameRepository _gameRepository, IRandomProvider _randomProvider, IGameSocketHandlerRepository _gameSocketHandlerRepository, IGameRepoForSocketHandlers _gameRepoForSocketHandlers, IMoveCollectionTransformer _moveCollectionTransformer, IGameConstructor _gameConstructor) : base(_userRepository, _loginHandler) { lobbySocketHandlerRepository = _lobbySocketHandlerRepository; seekRepository = _seekRepository; gameRepository = _gameRepository; randomProvider = _randomProvider; gameSocketHandlerRepository = _gameSocketHandlerRepository; gameRepoForSocketHandlers = _gameRepoForSocketHandlers; moveCollectionTransformer = _moveCollectionTransformer; gameConstructor = _gameConstructor; }
public LobbySocketHandler(WebSocket socket, GamePlayer _client, ILobbySocketHandlerRepository _handlerRepository, ILobbySeekRepository _seekRepository, IGameRepository _gameRepository, IRandomProvider _randomProvider, IUserRepository _userRepository, IGameConstructor _gameConstructor) { ws = socket; client = _client; handlerRepository = _handlerRepository; seekRepository = _seekRepository; gameRepository = _gameRepository; randomProvider = _randomProvider; userRepository = _userRepository; gameConstructor = _gameConstructor; Disposed = false; }
public GameSocketHandler(WebSocket socket, GamePlayer _client, IGameRepoForSocketHandlers _gameRepository, IGameSocketHandlerRepository _handlerRepository, IMoveCollectionTransformer _moveCollectionTransformer, IUserRepository _userRepository, IRandomProvider _randomProvider, IGameConstructor _gameConstructor, string _gameId) { ws = socket; client = _client; gameRepository = _gameRepository; handlerRepository = _handlerRepository; moveCollectionTransformer = _moveCollectionTransformer; userRepository = _userRepository; randomProvider = _randomProvider; gameId = _gameId; gameConstructor = _gameConstructor; Disposed = false; }
public TimedTrainingController(IUserRepository _userRepository, ITimedTrainingScoreRepository _timedTrainingRepository, IPositionRepository _positionRepository, ITimedTrainingSessionRepository _timedTrainingSessionRepository, ITimedTrainingScoreRepository _timedTrainingScoreRepository, IMoveCollectionTransformer _moveCollectionTransformer, IPersistentLoginHandler _loginHandler, IGameConstructor _gameConstructor) : base(_userRepository, _loginHandler) { timedTrainingRepository = _timedTrainingRepository; positionRepository = _positionRepository; timedTrainingSessionRepository = _timedTrainingSessionRepository; timedTrainingScoreRepository = _timedTrainingScoreRepository; moveCollectionTransformer = _moveCollectionTransformer; loginHandler = _loginHandler; gameConstructor = _gameConstructor; }
public PuzzleController(IPuzzlesBeingEditedRepository _puzzlesBeingEdited, IPuzzleRepository _puzzleRepository, IUserRepository _userRepository, IRatingUpdater _ratingUpdater, IMoveCollectionTransformer _movecollectionTransformer, IPuzzleTrainingSessionRepository _puzzleTrainingSessionRepository, ICounterRepository _counterRepository, IPersistentLoginHandler _loginHandler, IGameConstructor _gameConstructor) : base(_userRepository, _loginHandler) { puzzlesBeingEdited = _puzzlesBeingEdited; puzzleRepository = _puzzleRepository; ratingUpdater = _ratingUpdater; moveCollectionTransformer = _movecollectionTransformer; puzzleTrainingSessionRepository = _puzzleTrainingSessionRepository; counterRepository = _counterRepository; gameConstructor = _gameConstructor; }
public GameRepoForSocketHandlers(IGameRepository _gameRepository, IGameConstructor _gameConstructor) { gameRepository = _gameRepository; gameConstructor = _gameConstructor; }
public Game(string id, GamePlayer white, GamePlayer black, string shortVariant, string fullVariant, int nWhite, int nBlack, bool isSymmetrical, TimeControl tc, DateTime startedUtc, int rematchLevel, IGameConstructor gameConstructor) { ID = id; White = white; PositionWhite = nWhite; Black = black; PositionBlack = nBlack; IsSymmetrical = isSymmetrical; Result = Results.ONGOING; Termination = Terminations.UNTERMINATED; TimeControl = tc; ShortVariantName = shortVariant; FullVariantName = fullVariant; string fen; if (shortVariant == "Horde") { fen = ChessUtilities.FenForHorde960(nBlack); } else if (shortVariant == "RacingKings") { fen = ChessUtilities.FenForRacingKings1440Asymmetrical(nWhite, nBlack); } else { fen = ChessUtilities.FenForChess960Asymmetrical(nWhite, nBlack); } ChessGame = gameConstructor.Construct(shortVariant, fen); InitialFEN = LatestFEN = ChessGame.GetFen(); PlayerChats = new List <ChatMessage>(); SpectatorChats = new List <ChatMessage>(); StartedUtc = startedUtc; EndedUtc = null; ClockWhite = new Clock(tc); ClockBlack = new Clock(tc); ClockTimes = new List <double>(); WhiteWantsRematch = false; BlackWantsRematch = false; WhiteWantsDraw = false; BlackWantsDraw = false; RematchLevel = rematchLevel; UciMoves = new List <string>(); }