Exemplo n.º 1
0
        private void Form1_Load(object sender, EventArgs e)
        {
            MainGameEnginePanel mainGameEnginePanel = new MainGameEnginePanel(this, new Size(400, 200), new Point(0, 0));

            gameManager = new GameManager(this, mainGameEnginePanel);

            Box2dGameObject leftTrigger = new Box2dGameObject(gameManager, new Point(-1, 0), new Size(1, 200));

            leftTrigger.objectTag = "leftTrigger";
            leftTrigger.colliding = true;
            Box2dGameObject rightTrigger = new Box2dGameObject(gameManager, new Point(400, 0), new Size(1, 200));

            rightTrigger.objectTag = "rightTrigger";
            rightTrigger.colliding = true;

            Box2dGameObject topSide = new Box2dGameObject(gameManager, new Point(0, -1), new Size(400, 1));

            topSide.objectTag = "side";
            topSide.colliding = true;
            Box2dGameObject bottomSide = new Box2dGameObject(gameManager, new Point(0, 200), new Size(400, 1));

            bottomSide.objectTag = "side";
            bottomSide.colliding = true;

            leftHandle            = new Box2dGameObject(gameManager, new Point(25, 100), new Size(10, 50));
            leftHandle.boxColor   = Color.Green;
            leftHandle.colliding  = true;
            leftHandle.objectTag  = "handle";
            rightHandle           = new Box2dGameObject(gameManager, new Point(375, 100), new Size(10, 50));
            rightHandle.boxColor  = Color.Green;
            rightHandle.colliding = true;
            rightHandle.objectTag = "handle";

            ballObject          = new Box2dGameObject(gameManager, new Point(200, 100), new Size(10, 10));
            ballObject.boxColor = Color.Black;
            Random r = new Random();

            ballVelocities = new List <Point>()
            {
                new Point(ballSpeed, ballSpeed), new Point(-ballSpeed, -ballSpeed), new Point(-ballSpeed, ballSpeed), new Point(ballSpeed, -ballSpeed)
            };
            ballObject.objectVelocity = ballVelocities[r.Next(0, ballVelocities.Count())];
            ballObject.objectTag      = "ball";
            ballObject.colliding      = true;
            ballObject.OnCollision   += BallCollision;

            rightScoreText      = new TextGameObject(gameManager, new Point(350, 0));
            rightScoreText.text = rightScore.ToString();
            leftScoreText       = new TextGameObject(gameManager, new Point(20, 0));
            leftScoreText.text  = leftScore.ToString();

            gameTimeText      = new TextGameObject(gameManager, new Point(200, 0));
            gameTimeText.text = "0";

            List <GameObject> scene1GameObjects = new List <GameObject>()
            {
                leftHandle, rightHandle, ballObject, topSide, bottomSide, leftTrigger, rightTrigger
            };
            GameScene gameScene = new GameScene(scene1GameObjects);

            gameManager.AddScene(gameScene);

            UiManager gameUi = new UiManager();

            gameUi.AddWidget(gameTimeText);
            gameManager.AddUi(gameUi);

            victoryText = new TextGameObject(gameManager, new Point(200, 100));
            GameScene victoryScene = new GameScene();

            gameManager.AddScene(victoryScene);

            UiManager victoryUi = new UiManager();

            victoryUi.AddWidget(victoryText);
            gameManager.AddUi(victoryUi);

            VictoryScoreAmountTextBox.Text = victoryScoreAmount.ToString();
            BallSpeedTextBox.Text          = ballSpeed.ToString();

            gameManager.Tick += GameManager_Tick;
        }