コード例 #1
0
        /// <summary>
        ///   OnMessageReceived:  What to do when our leader sends a message
        /// </summary>
        public override void OnMessageReceived(MessageEvent e)
        {
            // Fire at a point
            if (e.Message is PointD)
            {
                var p = (PointD)e.Message;
                // Calculate x and y to target
                double dx = p.X - X;
                double dy = p.Y - Y;
                // Calculate angle to target
                double theta = Utils.ToDegrees(Math.Atan2(dx, dy));

                // Turn gun to target
                TurnGunRight(Utils.NormalRelativeAngleDegrees(theta - GunHeading));
                // Fire hard!
                Fire(3);
            }
            else if (e.Message is RobotColors)
            {
                // Set our colors
                var c = (RobotColors) e.Message;

                BodyColor = c.bodyColor;
                GunColor = c.gunColor;
                RadarColor = c.radarColor;
                ScanColor = c.scanColor;
                BulletColor = c.bulletColor;
            }
        }
コード例 #2
0
        protected override sealed void loadTeamMessages(List<TeamMessage> teamMessages)
        {
            if (teamMessages == null)
            {
                return;
            }
            foreach (TeamMessage teamMessage in teamMessages)
            {
                try
                {
                    using (var ms = new MemoryStream(teamMessage.message))
                    {
                        var bf = new BinaryFormatter();
                        object message = bf.Deserialize(ms);
                        var evnt = new MessageEvent(teamMessage.sender, message);

                        eventManager.add(evnt);
                    }
                }
                catch (Exception e)
                {
                    output.WriteLine(e);
                }
            }
        }
コード例 #3
0
ファイル: TeamRobot.cs プロジェクト: markthor/robocode
 /// <inheritdoc />
 public virtual void OnMessageReceived(MessageEvent evnt)
 {
 }
コード例 #4
0
 /// <inheritdoc />
 public virtual void OnMessageReceived(MessageEvent evnt)
 {
 }