Пример #1
0
        public void Run()
        {
            var myStrategyR1 = new MyStrategyRound1();

            var debug = new Debug(writer);

            while (true)
            {
                ServerMessageGame message = ServerMessageGame.ReadFrom(reader);
                if (!message.PlayerView.HasValue)
                {
                    break;
                }

                PlayerView playerView = message.PlayerView.Value;

                var actions = new Dictionary <int, UnitAction>();

                foreach (var unit in playerView.Game.Units)
                {
                    if (unit.PlayerId == playerView.MyId)
                    {
                        actions.Add(unit.Id, myStrategyR1.GetAction(unit, playerView.Game, debug));
                    }
                }

                new PlayerMessageGame.ActionMessage(new Versioned(actions)).WriteTo(writer);
                writer.Flush();
            }
        }
Пример #2
0
        public static ServerMessageGame ReadFrom(System.IO.BinaryReader reader)
        {
            var result = new ServerMessageGame();

            if (reader.ReadBoolean())
            {
                result.PlayerView = Model.PlayerView.ReadFrom(reader);
            }
            else
            {
                result.PlayerView = null;
            }
            return(result);
        }