Ejemplo n.º 1
0
        public override void RenderObjects()
        {
            base.RenderObjects();

            // Inner bounds
            CreateModel.CreateWall(-4f, 2f, 12f, .25f);
            CreateModel.CreateWall(2f, -1.37f, .25f, 7f);
            CreateModel.CreateWall(-7.7f, 6f, 5f, .25f);

            // Unmoveables
            CreateModel.CreateBox(-4f, 5f, 1f);

            laserWrappers.Add(CreateModel.CreateLaserStart(-10f, -1f, 2, (float)MathExtension.ToRadians(-45)));

            Model laserStop = CreateModel.CreateLaserStop(-9.7f, 7f);

            laserStop.Rotate((float)MathExtension.ToRadians(90));

            movingBox = new MovingBox(2.85f, 2.6f, 123, 0f, 1f);

            Model model;

            for (int i = 0; i < 7; i++)
            {
                int x = MathExtension.RandomInt(1, 9);
                int y = MathExtension.RandomInt(2, 8);

                model = CreateModel.CreateMovableBox(x, y);
                RandomRotate(model);
            }

            isRendered = true;
        }
Ejemplo n.º 2
0
        public override void RenderObjects()
        {
            base.RenderObjects();

            // Walls
            {
                // Inner bounds
                CreateModel.CreateWall(0f, -5f, 8f, .25f);

                // Around LaserStart
                CreateModel.CreateWall(-1f, -1f, .25f, 3f);
                CreateModel.CreateWall(1f, -1f, .25f, 3f);
                CreateModel.CreateWall(0f, 0.6f, 2.25f, .25f);

                // Around Laser Stop
                CreateModel.CreateWall(-5f, 9f, .25f, 1.5f);
                CreateModel.CreateWall(-3f, 9f, .25f, 1.5f);
                CreateModel.CreateWall(-7.5f, 10f, 4.8f, 3.5f);
                CreateModel.CreateWall(3.5f, 10f, 12.8f, 3.5f);

                // Others
                CreateModel.CreateWall(-4f, 0f, .25f, 5f);
                CreateModel.CreateWall(4f, -2.625f, .25f, 5f);
                CreateModel.CreateWall(-6f, -2.625f, .25f, 5f);
                CreateModel.CreateWall(-4f, 5f, 5f, .25f);
                CreateModel.CreateWall(4f, 5f, 5f, .25f);
            }

            // Laser start/stop
            LaserStart laserStart = CreateModel.CreateLaserStart(0f, 0f, 3);

            laserWrappers.Add(laserStart);
            CreateModel.CreateLaserStop(-4f, 9f);

            // Moveables
            CreateModel.CreateMovableBox(4.05f, -5.925f);
            CreateModel.CreateMovableTrapezoid(-4f, 5f, 1.5f, 1f, 1f);
            CreateModel.CreateMovableTrapezoid(-4f, 8f, 1.5f, 1, 1f);

            Model model = CreateModel.CreateMovableTriangle(4f, 5f, 1f, 1f);;

            model.Rotate(35);

            model = CreateModel.CreateMovableTriangle(4f, 6f, 1f, 1f);;
            model.Rotate(90);

            CreateModel.CreateMovableTriangle(4f, 5f, 1f, 1f);
            CreateModel.CreateMovableTriangle(0f, 5f, 1f, 1f);

            // Stationary Models
            model = CreateModel.CreateBox(-8.8f, 7.25f, 2f);
            model = CreateModel.CreateBox(8.8f, 7.25f, 2f);
            model = CreateModel.CreateTriangle(-5.38f, 7.75f, 1f, 1f);
        }
Ejemplo n.º 3
0
        public override void RenderObjects()
        {
            base.RenderObjects();

            // Inner bounds
            CreateModel.CreateWall(0, 1f, .25f, 18f);

            // Laser start/stop
            laserWrappers.Add(CreateModel.CreateLaserStart(-10f, -1f, 2, -45));
            CreateModel.CreateLaserStop(7f, 9.9f);

            m = CreateModel.CreateMovableBox(4, 0);
            m.Rotate(-30);

            CreateModel.CreateMovableBox(2, 4);

            m = CreateModel.CreateBox(7, 4, 1); // Stationary box

            isRendered = true;
        }
Ejemplo n.º 4
0
        public override void RenderObjects()
        {
            base.RenderObjects();

            // Walls
            {
                // Vertical walls between moving boxes
                for (int i = -8; i <= 8; i += 2)
                {
                    CreateModel.CreateWall(i, -3f, .25f, 5f);
                    CreateModel.CreateWall(i, 3f, .25f, 5f);

                    if (i == -8 || i == 3)
                    {
                        i += 3;
                    }
                }

                // Around LaserStop
                CreateModel.CreateWall(-1f, -8.5f, .25f, 2.5f);
                CreateModel.CreateWall(1f, -8.5f, .25f, 2.5f);
            }

            // Laser start/stop
            LaserStart laserStart = CreateModel.CreateLaserStart(-9.3f, 0f, 3);

            laserStart.Rotate(90);
            laserWrappers.Add(laserStart);

            LaserStop laserStop = CreateModel.CreateLaserStop(0f, -9.5f);

            laserStop.Rotate(180);

            // Moveables
            Model model;

            for (int i = 0; i < 6; i++)
            {
                int x = MathExtension.RandomInt(0, 9);
                int y = MathExtension.RandomInt(0, 8);

                model = CreateModel.CreateMovableTriangle(x, y, 1f, 1f);
                RandomRotate(model);
            }

            model = CreateModel.CreateMovableBox(0f, 7f);
            model.Rotate(25);

            model = CreateModel.CreateMovableBox(3f, 7f);
            model.Rotate(165);

            model = CreateModel.CreateMovableBox(6f, 7f);
            model.Rotate(243);

            // Unmoveable Models
            float     velocity       = 0.7f;
            int       movingBoxCount = 5;
            MovingBox movingBox;

            movingBoxes = new MovingBox[movingBoxCount];
            for (int i = 0; i < movingBoxCount; i++)
            {
                velocity  = (float)MathExtension.RandomInt(0, 1) + 0.5f;
                movingBox = new MovingBox(-4f + 2f * i, 0f, 40 + (i * 3), 0f, i % 2 == 0 ? velocity : -velocity);
                movingBox.Rotate(45);
                movingBoxes[i] = movingBox;
            }

            spinBox = CreateModel.CreateBox(-4f, -7f, 1.4f);

            Model[] triangles =
            {
                CreateModel.CreateTriangle(-0.88f, -2f,   -1f,   -1f),
                CreateModel.CreateTriangle(0.88f,  -3f, -1.3f, -1.3f),
                CreateModel.CreateTriangle(-0.88f, -4f,   -1f, -1f)
            };

            for (int i = 0; i < triangles.Length; i++)
            {
                if (i % 2 == 0)
                {
                    triangles[i].Rotate(-45);
                }
                else
                {
                    triangles[i].Rotate(135);
                }
            }

            model = CreateModel.CreateBox(0f, -6.5f, 1f);
            model.Rotate(65);

            isRendered = true;
        }