Пример #1
0
        private void LogSteps(FieldInfoArgs args)
        {
            var    turnChar = args.TurnColor.Invert().ToString().First();
            string step     = $"{turnChar}: {args.FromPoint}-{args.ToPoint}";

            GameLog = $"{GameLog}{step}; ";
        }
Пример #2
0
        private void OnFieldUpdated(object sender, FieldInfoArgs args)
        {
            var field = args.VirtualField.ToMultiDimensionalArray();

            GameField = new VirtualField(field, args.PlayerColor);
            TurnColor = args.TurnColor;
            MasterFactory.CheckedPlayer = args.CheckedPlayer;

            LogSteps(args);
        }
Пример #3
0
        /// <inheritdoc/>
        public void GameHasEnded(WcfGameInfo gameInfo, WcfChessPoint from, WcfChessPoint to)
        {
            var args = new FieldInfoArgs(
                gameInfo.GameField,
                gameInfo.TurnColor,
                @from.ToBusiness(),
                to.ToBusiness(),
                gameInfo.PlayerColor,
                null);

            FieldUpdated?.Invoke(this, args);
            GameEnded?.Invoke(this, new GameEndedArgs(gameInfo.WinnerColor));
        }
Пример #4
0
        /// <inheritdoc/>
        public void GameFieldUpdated(
            ChessPiece[][] virtualField,
            PlayerColor turnColor,
            WcfChessPoint from,
            WcfChessPoint to,
            PlayerColor playerColor,
            PlayerColor?checkedPlayer)
        {
            var args = new FieldInfoArgs(
                virtualField,
                turnColor,
                from.ToBusiness(),
                to.ToBusiness(),
                playerColor,
                checkedPlayer);

            FieldUpdated?.Invoke(
                this,
                args);
        }