Ejemplo n.º 1
0
 private void Move(Player.Solution Solution)
 {
     if (Wizard.Carrying)
     {
         //Console.Error.WriteLine("THROWING SNAFF {0} AT {1}", Wizard, Solution.Moves[_simulationTurn].Angle);
         Wizard.Snaffle.Apply(MaxPower, Solution.Moves[_simulationTurn].Angle);
         Wizard.Carrying        = false;
         Wizard.Snaffle         = null;
         Wizard.SnaffleCooldown = 3;
     }
     else
     {
         Wizard.Apply(MaxPower, Solution.Moves[_simulationTurn].Angle);
     }
 }
Ejemplo n.º 2
0
            internal override void Move()
            {
                if (Wizard.Carrying)
                {
                    var x = _myTeamId == 0 ? Width : 0 - Wizard.Velocity.X;
                    var y = GoalY - Wizard.Velocity.Y;

                    Wizard.Snaffle.Apply(MaxPower, Wizard.GetAngle(x, y));
                    Wizard.Carrying        = false;
                    Wizard.Snaffle         = null;
                    Wizard.SnaffleCooldown = 3;
                }
                else
                {
                    var snaff = _snaffles[0];//.OrderBy(s => s.Distance2(Wizard)).FirstOrDefault(s => !s.BeingCarried);
                    if (snaff == null)
                    {
                        snaff = _snaffles.FirstOrDefault();
                    }
                    Wizard.Apply(MaxThrust, Wizard.GetAngle(snaff));
                }
            }