Пример #1
0
        private void SendMove(IMove move)
        {
            Requires.IsNotNull(MoveReceived, "MoveReceived");

            MoveReceived?.Invoke(this, new MoveEventArgs {
                Move = move
            });
        }
Пример #2
0
        public async Task <object> MakeMove(object moveData)
        {
            var move = await _validator.MakeMove(moveData);

            var userMoved = (GameState)moveData;
            var response  = await _ai.GetMoveAsync(userMoved, new ChessAI.Settings
            {
                IsWhite     = !(Settings as ChessSettings).IsWhite,
                Miliseconds = 10,
                MinLevel    = level
            });

            await _validator.MakeMove(userMoved.GetWithMove(response.Item1, response.Item2));

            await Task.Run(() => {
                MoveReceived?.Invoke(response);
            });

            return(move);
        }
 private void LocalReceive(RemoteData data)
 {
     if (data.State == GameStateQuery.Message)
     {
         MessagesReceived?.Invoke(new List <object> {
             data.MessageText
         });
     }
     else if (data.State == GameStateQuery.Pause)
     {
         // TODO: now its only ignore
     }
     else if (data.State == GameStateQuery.Start)
     {
     }
     else if (data.State == GameStateQuery.Resign)
     {
     }
     else if (data.State == GameStateQuery.Move)
     {
         MoveReceived?.Invoke(data.Move as Tuple <BPosition, BPosition>);
     }
 }
Пример #4
0
 public void Inform(Move move)
 {
     MoveReceived?.Invoke(move);
 }