public void Swap(NumberContainer container)
        {
            int tempNumber = container.Number1;

            container.Number1 = container.Number2;
            container.Number2 = tempNumber;;
        }
Esempio n. 2
0
        public static void ExecuteContainerActions(NumberContainer container)
        {
            int[] bubbleSortResults;
            int[] quickSortResults;
            long  bubbleSortDuration;
            long  quickSortDuration;

            SortNumbers(container, out bubbleSortDuration, out quickSortDuration, out bubbleSortResults, out quickSortResults);
            PrintDataToFile(bubbleSortResults, quickSortResults, bubbleSortDuration, quickSortDuration);
        }
Esempio n. 3
0
        public void Test_QuickSort_CorrectOrder()
        {
            int[] testNumbers     = new int[] { 5, 2, 8, 10, 1 };
            int[] expectedResults = new int[] { 1, 2, 5, 8, 10 };
            var   testContainer   = new NumberContainer()
            {
                Numbers = testNumbers
            };
            var actualResults = testContainer.QuickSort();

            //Assert.AreEqual(expectedResults, actualResults, "The result array is not equal to the expected array.");
            Assert.IsTrue(expectedResults.SequenceEqual(actualResults));
        }
        public void Test1()
        {
            var container = new NumberContainer
            {
                Number1 = 5,
                Number2 = 6,
            };

            this.Swap(container);

            Assert.Equal(6, container.Number1);
            Assert.Equal(5, container.Number2);
        }
        public void Test1()
        {
            var container = new NumberContainer
            {
                Number1 = 1,
                Number2 = 2,
                Number3 = 3
            };

            this.DoMultiplication(container);

            Assert.Equal(6, container.Result);
        }
Esempio n. 6
0
        public static void SortNumbers(NumberContainer container, out long bubbleSortDuration, out long quickSortDuration, out int[] bubbleSortResults, out int[] quickSortResults)
        {
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            bubbleSortResults = container.BubbleSort();
            stopwatch.Stop();
            bubbleSortDuration = stopwatch.ElapsedMilliseconds;
            stopwatch.Reset();
            stopwatch.Start();
            quickSortResults = container.QuickSort();
            stopwatch.Stop();
            quickSortDuration = stopwatch.ElapsedMilliseconds;
        }
Esempio n. 7
0
        //      Write a C# Sharp program to swap two numbers.
        //      Test Data:
        //      Input the First Number : 5
        //      Input the Second Number : 6
        //      Expected Output:
        //      After Swapping :
        //      First Number : 6
        //      Second Number : 5


        static void Main(string[] args)
        {
            var container = new NumberContainer();

            container.Input1();


            Console.WriteLine("pre switch");
            Console.WriteLine(container.Number1);
            Console.WriteLine(container.Number2);

            container.Swap(container);

            Console.WriteLine("post switch");
            Console.WriteLine(container.Number1);
            Console.WriteLine(container.Number2);
        }
Esempio n. 8
0
 public async Task <ActionResult <NumberContainer> > PostNumberContainer([FromBody] NumberContainer container)
 {
     NumberHelper.ExecuteContainerActions(container);
     return(Ok(container.Numbers));
 }
Esempio n. 9
0
    void FixedUpdate()
    {
        if (GameMaster.IsPaused())
        {
            return;
        }

        if (!started)
        {
            return;
        }
        if (!startedUp)
        {
            return;
        }

        // Animate containers

        outerRimContainer.localRotation = Quaternion.Euler(0, 0, outerRimContainer.localEulerAngles.z + outerAnimationSpeed);

        innerRimContainer.localRotation = Quaternion.Euler(0, 0, innerRimContainer.localEulerAngles.z - innerAnimationSpeed);

        leftSideContainer.position -= leftSideContainer.up * (animationSpeed / 180);

        rightSideContainer.position += rightSideContainer.up * (animationSpeed / 180);

        transform.rotation = player.rotation;

        // Set each particles position

        foreach (Object obj in particles)
        {
            Transform particle = obj as Transform;

            NumberContainer numb = particle.GetComponent <NumberContainer>();

            if (numb.number == 0)
            {
                // Particle is in outer rim

                // Calc rotation

                Vector2 partPos = particle.position;

                Vector2 tankCenter = turret.position;                 // It's not the same as Call Center

                Vector2 difference = partPos - tankCenter;

                float   ang   = Vector2.Angle(difference, player.up);
                Vector3 cross = Vector3.Cross(difference, player.up);

                if (cross.z > 0)
                {
                    ang = 360 - ang;
                }

                if (ang > 180)
                {
                    ang -= 360;
                }

                ang *= -1;

                // Test if moving into rim

                if (ang > (maxAngle - 5) && particle.GetComponent <SpriteRenderer>().sprite != particleTexture1)
                {
                    if (ang < (maxAngle - 6 / maxRange))
                    {
                        particle.GetComponent <SpriteRenderer>().sprite = particleTexture1;
                        particle.localScale = new Vector3(1, 1, 1);
                    }
                }

                // Test if moved to left side

                if (ang < -maxAngle)
                {
                    numb.number = 1;

                    particle.parent = leftSideContainer;

                    particle.localRotation = Quaternion.Euler(0, 0, 0);

                    Vector3 diff = leftSideContainer.position - turret.position;
                    particle.localPosition = new Vector3(0, maxRange + diff.magnitude, 0);

                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture4;
                }
                else if (ang < -maxAngle + 3 / maxRange)
                {
                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture3;
                }
                else if (ang < -maxAngle + 6 / maxRange)
                {
                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture2;
                }
            }
            else if (numb.number == 1)
            {
                // Particle is on left side

                float height = (particle.position - turret.position).magnitude;

                // Test if moving into side

                if (height > maxRange - 1)
                {
                    if (height < maxRange - 0.1)
                    {
                        particle.GetComponent <SpriteRenderer>().sprite = particleTexture5;
                    }
                }

                // Test if moved to inner rim

                if (height < minRange)
                {
                    numb.number = 2;

                    particle.parent = innerRimContainer;

                    float angleInContainer = -innerRimContainer.localRotation.eulerAngles.z + maxAngle + 90;

                    particle.localPosition = new Vector3(GetX(angleInContainer, minRange), GetY(angleInContainer, minRange), 0);

                    particle.localRotation = Quaternion.Euler(new Vector3(0, 0, angleInContainer - 90));

                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture2;
                }
                else if (height < (minRange + 0.075))
                {
                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture3;
                }
                else if (height < (minRange + 0.15))
                {
                    particle.localScale = new Vector3(1, -1, 1);
                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture4;
                }
            }
            else if (numb.number == 2)
            {
                // Particle is in inner rim

                // Calc rotation

                Vector2 partPos = particle.position;

                Vector2 tankCenter = turret.position;                 // It's not the same as Call Center

                Vector2 difference = partPos - tankCenter;

                float   ang   = Vector2.Angle(difference, player.up);
                Vector3 cross = Vector3.Cross(difference, player.up);

                if (cross.z > 0)
                {
                    ang = 360 - ang;
                }

                if (ang > 180)
                {
                    ang -= 360;
                }

                ang *= -1;

                // Test if moving into rim

                if (ang < (-maxAngle + 5) && particle.GetComponent <SpriteRenderer>().sprite != particleTexture1)
                {
                    if (ang > (-maxAngle + (6 / minRange)))
                    {
                        particle.GetComponent <SpriteRenderer>().sprite = particleTexture1;

                        particle.localScale = new Vector3(1, 1, 1);
                    }
                }

                // Test if moved to right side

                if (ang > maxAngle)
                {
                    numb.number = 3;

                    particle.parent = rightSideContainer;

                    particle.localRotation = Quaternion.Euler(0, 0, 180);

                    Vector3 diff = rightSideContainer.position - turret.position;
                    particle.localPosition = new Vector3(0, minRange - diff.magnitude, 0);

                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture4;
                }
                else if (ang > maxAngle - 4 / minRange)
                {
                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture3;
                }
                else if (ang > maxAngle - 8 / minRange && particle.GetComponent <SpriteRenderer>().sprite != particleTexture2)
                {
                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture2;

                    particle.localRotation = Quaternion.Euler(new Vector3(0, 0, particle.localRotation.eulerAngles.z + 180));
                }
            }
            else
            {
                // Particle is on right side

                float height = (particle.position - turret.position).magnitude;

                // Test if moving into side

                if (height < minRange + 1)
                {
                    if (height > minRange + 0.1 && particle.GetComponent <SpriteRenderer>().sprite != particleTexture5)
                    {
                        particle.GetComponent <SpriteRenderer>().sprite = particleTexture5;

                        particle.localScale    = new Vector3(1, 1, 1);
                        particle.localRotation = new Quaternion();
                    }
                }

                // Test if moved to outer rim

                if (height > maxRange)
                {
                    numb.number = 0;

                    particle.parent = outerRimContainer;

                    float angleInContainer = -outerRimContainer.localRotation.eulerAngles.z - maxAngle + 90;

                    particle.localPosition = new Vector3(GetX(angleInContainer, maxRange), GetY(angleInContainer, maxRange), 0);

                    particle.localRotation = Quaternion.Euler(new Vector3(0, 0, angleInContainer - 90));

                    particle.localScale = new Vector3(-1, 1, 1);

                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture2;
                }
                else if (height > (maxRange - 0.075))
                {
                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture3;
                }
                else if (height > (maxRange - 0.15))
                {
                    particle.localScale = new Vector3(-1, 1, 1);
                    particle.GetComponent <SpriteRenderer>().sprite = particleTexture4;
                }
            }
        }
    }
 public void DoMultiplication(NumberContainer container)
 {
     container.Result = container.Number1 * container.Number2 * container.Number3;
 }