如何通过内附源码和文档实现植物大战僵尸游戏的长尾词优化?

2026-04-11 22:111阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计949个文字,预计阅读时间需要4分钟。

如何通过内附源码和文档实现植物大战僵尸游戏的长尾词优化?

植物大战僵尸+主要功能+游戏环境+Linux+任何终端都可以运行;需要打开到最大的屏幕;如果需要编译源码(可能运行.PVZ会permission denied,我也不知道为什么),需要安装cmake;然后:cmake .make./PVZ 即可。

植物大战僵尸

主要内容

游戏环境

Linux 任何终端都可以; 需要开到最大的屏幕;

如果要编译源码(可能运行./PVZ会 permission denied 我也不知道为什么),需要安装 cmake;然后:

cmake . make ./PVZ

即可;

如何通过内附源码和文档实现植物大战僵尸游戏的长尾词优化?

游戏玩法:
  • w,a,s,d 上下左右移动;
    b 在商店购买商品
    n 在空格种植植物
    j 铲掉这个格子的植物
    h 收获这个格子的太阳花的阳光
    Esc 可以直接重新开始
  • 僵尸越过底线就判定为吃掉了脑子
  • TIP:(如果不出现僵尸可以按Esc刷新一下,我在WSL和我的centos 服务器里面出现过这种情况,但是在ubuntu里面没有)
植物图鉴:
  • 向日葵:

    阳光:50
    生命值:50
    植物功能:生产阳光 用H收货
  • 豌豆射手:

    阳光:100
    生命值:100
    植物功能:发射豌豆
  • 寒冰射手:

    阳光:175
    生命值:100
    植物功能:发射冰豌豆 可以让僵尸减速
  • 樱桃炸弹:

    阳光:150
    植物功能:对周围的僵尸造成200点伤害
  • 坚果墙:

    阳光:50
    生命值:300
    植物功能:肉
僵尸图鉴
  • 普通僵尸:

    生命值:100
  • 路障僵尸:

    生命值:200
    特点:在生命值<100的时候帽子会变成普通僵尸的样子
  • 铁桶僵尸:

    生命值:300
    特点:在生命值<100的时候帽子会变成普通僵尸的样子
  • 读报僵尸:

    生命值:200
    特点:在生命值<100的时候,手臂会变成普通僵尸的样子并且速度变快
课程主要目标:
  • 完成包含上述植物,僵尸的植物大战僵尸游戏,并且提供商店,铲子和积分功能
  • 我额外做了开始和Restart界面,可以无限的玩游戏
课程设计主要思路:
  • (目前的思路):

我的主要想法是:

  • 在Game里面控制游戏界面的切换:
  • 在Game的play里面调用controller进行游戏逻辑游戏渲染,并且根据键盘的响应调用controller进行一些其他(比如:铲子,收货阳光)操作:
  • 对于渲染以及碰撞的处理,我的做法是对于bullet(豌豆),用 X,Y 存大格子的位置, 然后在根据植物本身的图案在生成的时候计算出 bx,by 这是具体的像素的位置,用来提供碰撞检测的数据;
  • 对于每一个 bullet(豌豆) plant(植物) zombie(僵尸) plant(植物) 我的想法是在每一个对象里面都存好自身的位置(X,Y,bx,by),然后自己有一个根据位置的draw函数进行渲染,work函数进行每一个时间片自身的处理以及和其他对象的交互;具体的细节在下面的类介绍之中;
  • PS:我之前失败的想法是用一个二维的map来存储数据,每一个时间片更新map的状态,然后对这个map进行统一的渲染,但是因为过于繁琐,不够解耦,遂放弃。

完整的源码和详细的文档,上传到了 ,需要的请自取

www.writebug.com/code/0c7e043f-c792-11ed-9cda-6479f0e5e323/#

本文共计949个文字,预计阅读时间需要4分钟。

如何通过内附源码和文档实现植物大战僵尸游戏的长尾词优化?

植物大战僵尸+主要功能+游戏环境+Linux+任何终端都可以运行;需要打开到最大的屏幕;如果需要编译源码(可能运行.PVZ会permission denied,我也不知道为什么),需要安装cmake;然后:cmake .make./PVZ 即可。

植物大战僵尸

主要内容

游戏环境

Linux 任何终端都可以; 需要开到最大的屏幕;

如果要编译源码(可能运行./PVZ会 permission denied 我也不知道为什么),需要安装 cmake;然后:

cmake . make ./PVZ

即可;

如何通过内附源码和文档实现植物大战僵尸游戏的长尾词优化?

游戏玩法:
  • w,a,s,d 上下左右移动;
    b 在商店购买商品
    n 在空格种植植物
    j 铲掉这个格子的植物
    h 收获这个格子的太阳花的阳光
    Esc 可以直接重新开始
  • 僵尸越过底线就判定为吃掉了脑子
  • TIP:(如果不出现僵尸可以按Esc刷新一下,我在WSL和我的centos 服务器里面出现过这种情况,但是在ubuntu里面没有)
植物图鉴:
  • 向日葵:

    阳光:50
    生命值:50
    植物功能:生产阳光 用H收货
  • 豌豆射手:

    阳光:100
    生命值:100
    植物功能:发射豌豆
  • 寒冰射手:

    阳光:175
    生命值:100
    植物功能:发射冰豌豆 可以让僵尸减速
  • 樱桃炸弹:

    阳光:150
    植物功能:对周围的僵尸造成200点伤害
  • 坚果墙:

    阳光:50
    生命值:300
    植物功能:肉
僵尸图鉴
  • 普通僵尸:

    生命值:100
  • 路障僵尸:

    生命值:200
    特点:在生命值<100的时候帽子会变成普通僵尸的样子
  • 铁桶僵尸:

    生命值:300
    特点:在生命值<100的时候帽子会变成普通僵尸的样子
  • 读报僵尸:

    生命值:200
    特点:在生命值<100的时候,手臂会变成普通僵尸的样子并且速度变快
课程主要目标:
  • 完成包含上述植物,僵尸的植物大战僵尸游戏,并且提供商店,铲子和积分功能
  • 我额外做了开始和Restart界面,可以无限的玩游戏
课程设计主要思路:
  • (目前的思路):

我的主要想法是:

  • 在Game里面控制游戏界面的切换:
  • 在Game的play里面调用controller进行游戏逻辑游戏渲染,并且根据键盘的响应调用controller进行一些其他(比如:铲子,收货阳光)操作:
  • 对于渲染以及碰撞的处理,我的做法是对于bullet(豌豆),用 X,Y 存大格子的位置, 然后在根据植物本身的图案在生成的时候计算出 bx,by 这是具体的像素的位置,用来提供碰撞检测的数据;
  • 对于每一个 bullet(豌豆) plant(植物) zombie(僵尸) plant(植物) 我的想法是在每一个对象里面都存好自身的位置(X,Y,bx,by),然后自己有一个根据位置的draw函数进行渲染,work函数进行每一个时间片自身的处理以及和其他对象的交互;具体的细节在下面的类介绍之中;
  • PS:我之前失败的想法是用一个二维的map来存储数据,每一个时间片更新map的状态,然后对这个map进行统一的渲染,但是因为过于繁琐,不够解耦,遂放弃。

完整的源码和详细的文档,上传到了 ,需要的请自取

www.writebug.com/code/0c7e043f-c792-11ed-9cda-6479f0e5e323/#