7.游戏对象基类、绘制接口和位置结构体

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

×

喜欢就点赞,疼爱就打赏