Esempio n. 1
0
        private void ExecuteAdditionalEffect(BrickType type)
        {
            switch (type)
            {
            case BrickType.ThreeBalls:
            {
                IPad pad = padManager.GetFirst();

                IBall ball1 = new Ball(randomGenerator);
                ball1.SetSize(15, 15);
                SetBallStartPosition(pad, ball1);
                ballManager.Add(ball1);

                IBall ball2 = new Ball(randomGenerator);
                ball2.SetSize(15, 15);
                SetBallStartPosition(pad, ball2);
                ballManager.Add(ball2);
                break;
            }

            case BrickType.DestroyerBall:
            {
                foreach (IBall ball in ballManager)
                {
                    tailManager.Add(ball);
                }
                break;
            }

            default:
                break;
            }
        }
Esempio n. 2
0
        public void Create(IPad pad)
        {
            IBall ball = Create();

            padManager.SetBallStartPosition(pad, ball);
            ballManager.Add(ball, pad);
        }
Esempio n. 3
0
        public Game()
        {
            screen = new Screen
            {
                Width  = ScreenWidth,
                Height = ScreenHeight
            };

            levelManager           = new LevelManager();
            collisionManager       = new CollisionManager();
            screenCollisionManager = new ScreenCollisionManager(screen);
            randomGenerator        = new RandomGenerator();
            tailManager            = new TailManager();
            ballManager            = new BallManager();
            borderManager          = new BorderManager();
            padManager             = new PadManager(screen);

            ballStateMachine = new BallStateMachine(this, screenCollisionManager, collisionManager, padManager, borderManager, levelManager);

            padManager.Add(Edge.Top);
            padManager.Add(Edge.Bottom);

            borderManager.Create(screen);

            foreach (var pad in padManager)
            {
                VerifyBorderCollision(pad);
            }

            IBall ball = new Ball(randomGenerator);

            ball.SetSize(15, 15);
            ballManager.Add(ball);
        }