示例#1
0
        /// <summary>
        /// Put mine on robot position.
        /// </summary>
        public PutMineAnswerCommand PutMine()
        {
            PutMineAnswerCommand answer = new PutMineAnswerCommand();

            addRobotTask(PutMineAsync(answer));
            return(answer);
        }
示例#2
0
        /// <summary>
        /// Put mine on robot position.
        /// </summary>
        /// <param name="destination">Where to fill answer data.</param>
        private async Task <PutMineAnswerCommand> PutMineAsync(PutMineAnswerCommand destination)
        {
            await sendCommandAsync(new PutMineCommand());

            Point position = Position;
            PutMineAnswerCommand answerCommand = await receiveCommandAsync <PutMineAnswerCommand>();

            destination.FillData(answerCommand);
            if (answerCommand.SUCCESS)
            {
                PutMinesList.Add(new Mine(id: answerCommand.MINE_ID)
                {
                    Y = position.X,
                    X = position.Y
                });
            }

            if (answerCommand.SUCCESS)
            {
                PutMines++;
            }
            return(answerCommand);
        }