⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 row.cs

📁 C#的实例程序
💻 CS
字号:
using System;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace BrickOut
{
	/// <summary>
	/// 
	/// </summary>
	public class Row : GameObject
	{
        public const int kNumberOfBricks = 7;
        private Brick[] Bricks = new Brick[kNumberOfBricks];
        int RowPosition  = 0;
        int BrickHeight = 5;
        int BrickWidth = 5;
        public int BrickOut = 0;

		public Row(int nRow) : base("brick.gif")
		{
			// 
			// TODO: Add constructor logic here
			//
            RowPosition = nRow;
            for (int i = 0; i < kNumberOfBricks; i++)
                {
                  Bricks[i] = new Brick();
                  Bricks[i].Position.X = i * Bricks[i].GetImage().Width;
                  Bricks[i].Position.Y = nRow * Bricks[i].GetImage().Height;
                  BrickHeight = Bricks[i].Height;
                  BrickWidth = Bricks[i].Width;
                }
		}

        public override void Draw(Graphics g)
        {
            for (int i = 0; i < kNumberOfBricks; i++)
            {
                if (Bricks[i] != null)   // see if it is removed
                    Bricks[i].Draw(g);
            }
        }

        public override int GetWidth()
        {
            return ImageBounds.Width * kNumberOfBricks;
        }

        public override Rectangle GetBounds()
        {
            Rectangle rRow = new Rectangle();
            rRow.X = 0;
            rRow.Y = RowPosition * BrickHeight;
            rRow.Width = kNumberOfBricks * BrickWidth;
            rRow.Height = BrickHeight;
            return rRow;
        }


        public bool Collides(Rectangle TheBallRect)
        {
            for (int i = 0; i < kNumberOfBricks; i++)
            {
                if (Bricks[i] != null)   // see if it is removed
                {
                  if ((Bricks[i].GetBounds().Left < TheBallRect.Left) &&
                      (Bricks[i].GetBounds().Right > TheBallRect.Left))
                  {
                    // only check the bottom
                    if (TheBallRect.Top - 7 < Bricks[i].GetBounds().Bottom)
                    {
                        Bricks[i] = null;
                        BrickOut++;
                        return true;
                    }
                  }
                }
            }

            return false;

        }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -