10.蛇类

10.游戏场景-蛇类


10.1 知识点

将要实现的类图

创建蛇类,里面包括蛇身体数组。蛇类构造函数中初始化蛇身体数组和位置,默认有一个蛇头,长度为1。实现蛇类绘制方法,遍历蛇身体数组 逐个绘制蛇身体。

//蛇类 继承绘制接口
class Snake : IDraw
{
    //蛇的身体数组
    SnakeBody[] bodys;
    
    //当前蛇的长度
    int snakeBodysLength;
    
    //蛇类构造函数
    public Snake(int x, int y)
    {
        //粗暴的 申明200个空间 游戏中 基本不会出现蛇长度达到200个身体
        bodys = new SnakeBody[200];
        
        //声明蛇头
        bodys[0] = new SnakeBody(E_SnakeBody_Type.Head, x, y);
        
        //初始时只有蛇头 初始化为1
        snakeBodysLength = 1;
    }
    
    //蛇类绘制方法
    public void Draw()
    {
        //遍历蛇身体数组 逐个绘制蛇身体
        for (int i = 0; i < snakeBodysLength; i++)
        {
            bodys[i].Draw();
        }
    }
}

游戏场景类中创建蛇变量。初始化时new出一个蛇。实现游戏场景里的更新方法中调用蛇的绘制方法。

//游戏场景类 继承游戏帧更新接口
class GameScene : ISceneUpdate
{
    //地图类变量 管理所有墙壁
    Map map;
    
    //蛇类变量 管理蛇相关
    Snake snake;
    
    //游戏场景类构造函数
    public GameScene()
    {
        //初始化地图类变量
        map = new Map();
        
        //初始化一个蛇
        snake = new Snake(40, 10);
    }
    
    //实现游戏场景里的更新方法
    public void Update()
    {
        //绘制地图类
        map.Draw();
        //绘制蛇类
        snake.Draw();
    }
}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏