7.游戏场景-游戏对象基类、绘制接口和位置结构体
7.1 知识点
将要实现的类图
创建绘制接口,里面有绘制方法
// 绘制接口
interface IDraw
{
// 绘制方法
void Draw();
}
创建位置结构体,包含xy坐标,进行==和!=的运算符重载,帮助判断对象的位置时候重合
//位置结构体
struct Position
{
//位置信息xy坐标
public int x;
public int y;
//位置构造函数 必须初始化所有变量
public Position(int x, int y)
{
this.x = x;
this.y = y;
}
//贪食蛇中 肯定是存在 位置的比较
//各个游戏对象 都会去比较位置是不是重合
//运算符重载 重载==和!=运算符
public static bool operator ==(Position p1, Position p2)
{
if( p1.x == p2.x && p1.y == p2.y)
{
return true;
}
return false;
}
public static bool operator !=(Position p1, Position p2)
{
if (p1.x == p2.x && p1.y == p2.y)
{
return false;
}
return true;
}
}
创建游戏对象基类,是抽象类,继承绘制接口。绘制方法变成抽象方法,让子类去实现。有一个位置的成员变量。
//游戏对象基类 是抽象类 继承绘制接口
abstract class GameObject : IDraw
{
//游戏对象位置
public Position pos;
//可以继承接口后 把接口中的行为 编程 抽象行为
//供子类去实现 因为是抽象行为 所以子类中是必须去实现
public abstract void Draw();
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com