예제 #1
0
 public void Brick_TestGhost()
 {
     //Similar to Brick_TestCharged()
     Ball b = new RegularBall(PointF.Empty);
     b.moveVector = new SizeF(0, -1.0f);
     Brick br = new GhostBrick(PointF.Empty);
     br.OnHit(ref b);
     Assert.AreEqual(new SizeF(0, -1.0f), b.moveVector);
     Assert.AreEqual(typeof(GhostBall), b.GetType());
 }
예제 #2
0
        /// <summary>
        /// Fills the field with bricks
        /// </summary>
        private static void FillBricks()
        {
            for (int x = 0; x < bricks.GetLength(0); x++)
            {
                for (int y = 0; y < bricks.GetLength(1); y++)
                {
                    PointF position = new PointF(gameField.Left
                        + GameSettings.BrickOffsetWidth
                        + (GameSettings.BrickSpacingWidth + GameSettings.BrickSizeWidth) * x,
                        GameSettings.BrickOffsetHeight
                        + (GameSettings.BrickSpacingHeight + GameSettings.BrickSizeHeight) * y);
                    int r = random.Next(10);
                    if (r < 7)
                        bricks[x, y] = new RegularBrick(position); // 7/10 chance
                    else if (r == 7)
                        bricks[x, y] = new BonusBrick(position); // 1/10 chance
                    else if (r == 8)
                        bricks[x, y] = new GhostBrick(position); // 1/10 chance
                    else
                        bricks[x, y] = new ChargedBrick(position); // 1/10 chance

                }
            }
        }