Ejemplo n.º 1
0
        // each tick activate the next objects methods
        private void Timer_Tick(object sender, object e)
        {
            // move objects
            gameBar.Movement();

            // game speed grows as level up
            for (int j = 0; j < level; j++)
            {
                ball.Movement();

                // check collisions
                gameBar.Collision(leftWall);
                gameBar.Collision(rightWall);

                ball.Collision(leftWall);
                ball.Collision(topWall);
                ball.Collision(rightWall);

                ball.Collision(gameBar);

                for (int i = 0; i < bricks.Length; i++)
                {
                    // for brick that is not exist, skip (continue) the collision
                    if (bricks[i] == null)
                    {
                        continue;
                    }
                    if (ball.Collision(bricks[i]))
                    {
                        DeleteBrick(i);
                        score          += 100;
                        txtBlScore.Text = "SCORE: " + score.ToString();
                        bricksCounter--;
                    }

                    // cleanup - use the ball to make one collide only
                    ball.countCollides = 0;
                }
            }

            if (IsLevelComplete())
            {
                LevelUp();
            }

            if (IsGameOver())
            {
                EndGame();
            }

            // paint objects
            Canvas.SetLeft(rectBar, gameBar.Position_X);
            Canvas.SetLeft(paintBall, ball.Position_X);
            Canvas.SetTop(paintBall, ball.Position_Y);
        }