public MainWindow()
        {
            InitializeComponent();

            center = new Point(Canvas.Width / 2, Canvas.Height / 2);

            playerPlatform = new PlayerPlatform(center);
            ball = new Ball(playerPlatform.radius, center);

            SetBackground(Color.LightSeaGreen);
            SetBackgroundMainMenu(Color.LightSeaGreen);

            enemies1 = new Enemies(7, 50, new Pen(new SolidBrush(Color.FromArgb(200, 255, 186, 2)), 25), center, true, (float)0.2, 7);
            enemies2 = new Enemies(4, 90, new Pen(new SolidBrush(Color.FromArgb(200, 217, 68, 48)), 20), center, false, (float)0.3, 5);
            enemies3 = new Enemies(8, 120, new Pen(new SolidBrush(Color.FromArgb(200, 23, 109, 237)), 22), center, true, (float)0.4, 4);
            enemies4 = new Enemies(10, 145, new Pen(new SolidBrush(Color.FromArgb(200, 0, 155, 87)), 16), center, false, (float)0.5, 1);

            ball.speed = 3;
            playerPlatform.sweepAngle = 40;

            colorScheme = new ColorScheme(ColourScheme, new[] { Color.LightSeaGreen, Color.FromArgb(114, 34, 114),
                Color.FromArgb(67, 67, 170), Color.FromArgb(201, 68, 68), Color.FromArgb(34, 102, 34),
                Color.Firebrick, Color.FromArgb(39, 28, 39), Color.FromArgb(99, 55, 99), Color.Beige, Color.FromArgb(21, 21, 66),
            Color.FromArgb(44, 120, 120), Color.FromArgb(187, 187, 92), Color.FromArgb(166, 166, 212), Color.FromArgb(32, 189, 189),
            Color.FromArgb(200, 200, 40), Color.FromArgb(77, 77, 46), Color.FromArgb(190, 55, 55), Color.FromArgb(58, 58, 185),
            Color.FromArgb(112, 62, 62), Color.FromArgb(54, 54, 60)});

            colorScheme.Draw(ColourScheme.CreateGraphics());
        }
Beispiel #2
0
 public void Draw(Graphics g, Ball ball)
 {
     foreach (Enemy enemy in enemies)
     {
         enemy.Draw(g);
     }
 }
Beispiel #3
0
        public void Update(Ball ball)
        {
            startAngle = clockWise ? MainWindow.AngleTo360DegreeSystem(startAngle + angleShift) : MainWindow.AngleTo360DegreeSystem(startAngle - angleShift);
            middleAngle = MainWindow.AngleTo360DegreeSystem(startAngle + sweepAngle / 2);

            //CheckIntersect(ball);
            if ((int)(MainWindow.AngleTo360DegreeSystem(startAngle + sweepAngle) - MainWindow.AngleTo360DegreeSystem(startAngle)) == (int)sweepAngle ||
                (int)(MainWindow.AngleTo360DegreeSystem(startAngle + sweepAngle) - MainWindow.AngleTo360DegreeSystem(startAngle)) == (int)sweepAngle - 1)
            {
                if (ball.locationRadius <= radius + pen.Width / 2 + ball.diametr / 2 &&
                    ball.locationRadius >= radius &&
                    ball.movingAngle > startAngle &&
                    ball.movingAngle < MainWindow.AngleTo360DegreeSystem(startAngle + sweepAngle))
                {
                    ball.speed *= -1;
                    ball.angle = ball.movingAngle;
                    ball.shiftAngle *= -4;

                    intersectedWithBall = true;
                }
                else if (ball.locationRadius + ball.diametr / 2 >= radius - pen.Width / 2 && ball.locationRadius + ball.diametr / 2 < radius &&
                    ball.movingAngle > startAngle && ball.movingAngle < MainWindow.AngleTo360DegreeSystem(startAngle + sweepAngle))
                {
                    ball.speed *= -1;
                    ball.shiftAngle *= -4;

                    intersectedWithBall = true;
                }
            }
            else
            {
                if (ball.locationRadius <= radius + pen.Width / 2 + ball.diametr / 2 &&
                    ball.locationRadius >= radius &&
                    AngleToOver360DegreeSystem(ball.movingAngle, MainWindow.AngleTo360DegreeSystem(startAngle + sweepAngle)) > startAngle &&
                    AngleToOver360DegreeSystem(ball.movingAngle, MainWindow.AngleTo360DegreeSystem(startAngle + sweepAngle)) < startAngle + sweepAngle)
                {
                    ball.speed *= -1;
                    ball.angle = ball.movingAngle;
                    ball.shiftAngle *= -4;

                    intersectedWithBall = true;
                }
                else if (ball.locationRadius + ball.diametr / 2 >= radius - pen.Width / 2 &&
                    ball.locationRadius + ball.diametr / 2 < radius &&
                    AngleToOver360DegreeSystem(ball.movingAngle, MainWindow.AngleTo360DegreeSystem(startAngle + sweepAngle)) > startAngle &&
                    AngleToOver360DegreeSystem(ball.movingAngle, MainWindow.AngleTo360DegreeSystem(startAngle + sweepAngle)) < startAngle + sweepAngle)
                {
                    ball.speed *= -1;
                    ball.angle = ball.movingAngle;
                    ball.shiftAngle *= 2;

                    intersectedWithBall = true;
                }
            }
        }
Beispiel #4
0
        public void Update(Ball ball)
        {
            foreach (Enemy enemy in enemies)
            {
                enemy.Update(ball);
            }

            for (int i = 0; i < enemies.Count; i++)
            {
                if (enemies[i].intersectedWithBall)
                {
                    enemies.RemoveAt(i);
                    MainWindow.score += 1;
                }
            }
        }