예제 #1
0
        private bool AbateuAviao(int i, double tempo, Tiro tiro)
        {
            Vetor posicaoTiro = tiro.PosicaoEm(tempo);

            Console.WriteLine("  {0}: {1} {2}", i, posicaoTiro, (posicaoAviao - posicaoTiro).Mag());

            return((tiro.PosicaoEm(tempo) - posicaoAviao).Mag() < 7);
        }
예제 #2
0
        private bool AbateuAviao2(int i, double tempo, Tiro tiro)
        {
            Vetor posicaoTiro         = tiro.PosicaoEm(tempo);
            Vetor posicaoTiroAnterior = tiro.PosicaoEm(tempoAnterior);

            Console.WriteLine("  {0}: {1} {2}", i, posicaoTiro, (posicaoAviao - posicaoTiro).Mag());

            for (double t = tempoAnterior; t < tempo; t += 3 / Tiro.VELOCIDADEMEDIA)
            {
                if ((aviao.PosicaoEm(t) - tiro.PosicaoEm(t)).Mag() < 2)
                {
                    return(true);
                }
            }

            return(false);
        }
예제 #3
0
        public void TestTiro()
        {
            Tiro   tiro = new Tiro(new Vetor(0, 0, 0), 0, 0.5 * Math.PI / 180, 0);
            double t    = 0;

            while (t < 80)
            {
                Console.WriteLine(
                    "{0:f2} ==> Posicao: {1}",
                    t,
                    tiro.PosicaoEm(t));

                t += 0.5;
            }
        }