Ejemplo n.º 1
0
        /// <summary>
        /// When overridden in the derived class, generates the offset and normalized force vectors to
        /// release the <see cref="Particle"/> at.
        /// </summary>
        /// <param name="particle">The <see cref="Particle"/> that the values are being generated for.</param>
        /// <param name="offset">The offset vector.</param>
        /// <param name="force">The normalized force vector.</param>
        protected override void GenerateParticleOffsetAndForce(Particle particle, out Vector2 offset, out Vector2 force)
        {
            var hw = Width * 0.5f;
            var hh = Height * 0.5f;

            // Get the offset
            if (Perimeter)
            {
                if (RandomHelper.NextBool())
                {
                    offset = new Vector2(RandomHelper.Choose(-hw, hw), RandomHelper.NextFloat(-hh, hh));
                }
                else
                {
                    offset = new Vector2(RandomHelper.NextFloat(-hw, hw), RandomHelper.Choose(-hh, hh));
                }
            }
            else
            {
                offset = new Vector2(RandomHelper.NextFloat(-hw, hw), RandomHelper.NextFloat(-hh, hh));
            }

            // Get the force
            var radians = RandomHelper.NextFloat(MathHelper.TwoPi);

            force = new Vector2((float)Math.Sin(radians), (float)Math.Cos(radians));
        }
Ejemplo n.º 2
0
 public void Choose2Test()
 {
     for (var i = 0; i < 10; i++)
     {
         var selected = RandomHelper.Choose(1, 2);
         Assert.IsTrue(selected == 1 || selected == 2);
     }
 }
Ejemplo n.º 3
0
 public void Choose6Test()
 {
     for (var i = 0; i < 10; i++)
     {
         var selected = RandomHelper.Choose(1, 2, 3, 4, 5, 6);
         Assert.IsTrue(selected >= 1 && selected <= 6);
     }
 }
Ejemplo n.º 4
0
        public void Choose1Test()
        {
            var selected = RandomHelper.Choose(1);

            Assert.AreEqual(1, selected);
        }