Esempio n. 1
0
        public override void OnScannedRobot(ScannedRobotEvent e)
        {
            var closestEnemy = MyBot.GetClosestTarget();

            if (!MyBot.IsTeammate(e.Name) && closestEnemy != null && closestEnemy.Name == e.Name)
            {
                double absBearing = e.BearingRadians + MyBot.HeadingRadians;
                Move(e, absBearing);
                RadarAdjust(e);
                Fire(e, absBearing);
            }
        }
Esempio n. 2
0
File: Meele.cs Progetto: ltduy/hihuc
        public override void OnScannedRobot(ScannedRobotEvent e)
        {
            var closestEnemy = MyBot.GetClosestTarget();

            if (closestEnemy != null && closestEnemy.Name == e.Name)
            {
                var bullerPower = 300 / e.Distance;

                //simplest linear targeting algorithm - http://robowiki.net/wiki/Linear_Targeting
                double absoluteBearing = MyBot.HeadingRadians + e.BearingRadians;
                MyBot.SetTurnGunRightRadians(Utils.NormalRelativeAngle(absoluteBearing -
                                                                       MyBot.GunHeadingRadians + (e.Velocity * Math.Sin(e.HeadingRadians -
                                                                                                                        absoluteBearing) / Rules.GetBulletSpeed(bullerPower))));

                MyBot.SetFire(bullerPower);
            }
        }