补全!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Arkanoid
{
class 碰到小球的数量
{
private int count;
/// <summary>
/// //碰到小球的数量
/// </summary> public int Count
{
get { return count; }
set { count = value; }
}
private string Xfangxiang;
/// <summary>
/// //目前小球x坐标
/// </summary> public string Xfangxiang1
{
get { return Xfangxiang; }
set { Xfangxiang = value; }
}
private string Yfangxiang;
/// <summary>
/// //目前小球y坐标
/// </summary>
public string Yfangxiang1
{
get { return Yfangxiang; }
set { Yfangxiang = value; }
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;namespace Arkanoid
{
class 小球碰撞后//小球碰到砖块后的动作
{
/// <summary>
/// 50个砖块当前位置
/// </summary>
public static 碰到小球的数量 DisposeBrick(Point[] point, int qx, int qy, int qr, string Xfangxiang, string Yfangxiang)
{ int bh = 17;//砖 高
int bw = 40;//砖 宽
碰到小球的数量 rdb = new 碰到小球的数量();
for (int i = 0; i < 50; i++)
{
rdb.Count = -1;//表示未碰撞到任何一块砖
int bx = point[i].X;
int by = point[i].Y;//砖的y坐标 //如果球在上方或下方碰撞砖块
if (Math.Abs(by - (qy + qr)) <= 2 || Math.Abs(qy - (by + bh)) <= 2)
{
//球的x坐标不能超过砖块的x坐标范围
if ((qx + qr) >= bx && qx <= (bx + bw))
{
//获取方向
Yfangxiang = 小球碰撞后.DisposeTopDown(bx, by, bw, bh, qx, qy, qr);
rdb.Yfangxiang1 = Yfangxiang;
rdb.Count = i;
return rdb;
}
}
//如果球在左方或右方碰撞砖块
if (Math.Abs(bx - (qx + qr)) <= 2 || Math.Abs(qx - (bx + bw)) <= 2)
{
//球的y坐标不能超过砖块的y坐标范围
if ((qy + qr) >= by && qy <= (by + bh))
{
//获取方向
Xfangxiang = 小球碰撞后.DisposeLeftRight(bx, by, bw, bh, qx, qy, qr);
rdb.Xfangxiang1 = Xfangxiang;
rdb.Count = i;
return rdb;
}
}
}
return rdb;
}
public static string DisposeTopDown(int bx, int by, int bw, int bh, int qx, int qy, int qr)
{
string Yfangxiang = "";
if (Math.Abs(by - (qy + qr)) <= 2)
{
Yfangxiang = "Ytop";
}
else if (Math.Abs(qy - (by + bh)) <= 2)
{
Yfangxiang = "Ydown";
}
return Yfangxiang;
} public static string DisposeLeftRight(int bx, int by, int bw, int bh, int qx, int qy, int qr)
{
string Xfangxiang = "";
if (Math.Abs(bx - (qx + qr)) <= 2)
{
Xfangxiang = "Xleft";
}
else if (Math.Abs(qx - (bx + bw)) <= 2)
{
Xfangxiang = "Xright";
}
return Xfangxiang;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Arkanoid
{
class 碰到小球的数量
{
private int count;
/// <summary>
/// //碰到小球的数量
/// </summary> public int Count
{
get { return count; }
set { count = value; }
}
private string Xfangxiang;
/// <summary>
/// //目前小球x坐标
/// </summary> public string Xfangxiang1
{
get { return Xfangxiang; }
set { Xfangxiang = value; }
}
private string Yfangxiang;
/// <summary>
/// //目前小球y坐标
/// </summary>
public string Yfangxiang1
{
get { return Yfangxiang; }
set { Yfangxiang = value; }
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;namespace Arkanoid
{
class 小球碰撞后//小球碰到砖块后的动作
{
/// <summary>
/// 50个砖块当前位置
/// </summary>
public static 碰到小球的数量 DisposeBrick(Point[] point, int qx, int qy, int qr, string Xfangxiang, string Yfangxiang)
{ int bh = 17;//砖 高
int bw = 40;//砖 宽
碰到小球的数量 rdb = new 碰到小球的数量();
for (int i = 0; i < 50; i++)
{
rdb.Count = -1;//表示未碰撞到任何一块砖
int bx = point[i].X;
int by = point[i].Y;//砖的y坐标 //如果球在上方或下方碰撞砖块
if (Math.Abs(by - (qy + qr)) <= 2 || Math.Abs(qy - (by + bh)) <= 2)
{
//球的x坐标不能超过砖块的x坐标范围
if ((qx + qr) >= bx && qx <= (bx + bw))
{
//获取方向
Yfangxiang = 小球碰撞后.DisposeTopDown(bx, by, bw, bh, qx, qy, qr);
rdb.Yfangxiang1 = Yfangxiang;
rdb.Count = i;
return rdb;
}
}
//如果球在左方或右方碰撞砖块
if (Math.Abs(bx - (qx + qr)) <= 2 || Math.Abs(qx - (bx + bw)) <= 2)
{
//球的y坐标不能超过砖块的y坐标范围
if ((qy + qr) >= by && qy <= (by + bh))
{
//获取方向
Xfangxiang = 小球碰撞后.DisposeLeftRight(bx, by, bw, bh, qx, qy, qr);
rdb.Xfangxiang1 = Xfangxiang;
rdb.Count = i;
return rdb;
}
}
}
return rdb;
}
public static string DisposeTopDown(int bx, int by, int bw, int bh, int qx, int qy, int qr)
{
string Yfangxiang = "";
if (Math.Abs(by - (qy + qr)) <= 2)
{
Yfangxiang = "Ytop";
}
else if (Math.Abs(qy - (by + bh)) <= 2)
{
Yfangxiang = "Ydown";
}
return Yfangxiang;
} public static string DisposeLeftRight(int bx, int by, int bw, int bh, int qx, int qy, int qr)
{
string Xfangxiang = "";
if (Math.Abs(bx - (qx + qr)) <= 2)
{
Xfangxiang = "Xleft";
}
else if (Math.Abs(qx - (bx + bw)) <= 2)
{
Xfangxiang = "Xright";
}
return Xfangxiang;
}
}
}
http://blog.csdn.net/wartim/archive/2009/11/26/4879019.aspx
其他的,爱莫能助