之前的小问题:写Camera类时把己方坦克加入了
pygame.Surface.scroll()
复制并移动 Surface 对象
也可以不做滚动地图,而是当玩家出边界时,就刷新地图(相当于出边界了就进入另一个地图)
2000行代码是基本的,500050000行代码算中型项目,5000010万就算大型项目
写10000行代码蛮好了,50000行就很牛了
同时代码要有很好的可拓展性
参考Q版泡泡堂和铁锈战争!
做成微信小游戏,说不定能火
实现物理引擎的时候,可能需要多项式求导,多项式相加
3.0:完成碰撞。增加怪物,子弹等
Ai可以用行为树
3.5:要实现换弹和散弹枪,则需要clip类
4.0:完善怪物的各种属性。❤捡到会+1生命
4.5:游戏屏幕要显示怪物和方块的生命值
重新写button类
完成游戏说明书
5.0:增加怪物种类,且有各自技能
增加道具,更多的属性,给玩家增加更多武器
5.0版本完成应该有2000行代码
6.0:添加英雄和小兵机制,英雄有特殊技能
6.5:游戏中可以捡起经验,捡起经验到一定数量会让怪物升级。高级怪物会有更多技能,武器,属性值更高
7.0:添加了流体:坦克碰到流体会减速,流体会向四周无障碍的地方扩散,子弹碰到流体消失
8.0:有火焰可以烧掉一些方块,还可以引燃TNT
8.5:有稿子可以挖开方块
9.0:区块能打乱地图中方块的顺序
10.0:箱子可以存放东西,还可以设置密码
11.0:可以占领领地什么的(参考polytopia)
有了领地机制就可以像围棋那样,或者像战棋那样
12.0:参考铁锈战争。并且增强代码的可拓展性
完善刚体
基础的刚体:不与任何物体重叠
人物/方块可以赋予刚体速度,刚体可以有多个速度进行矢量相加
完善地图滚动
地图滚动本质上是摄像机的移动,摄像机移动导致屏幕上画面移动
可以利用“盒子模型”:玩家离屏幕边缘较远时,屏幕不移动
在屏幕边缘,玩家原来的移动速度会分为两部分:一部分是当前玩家速度,另一部分是屏幕移动速度
最后:
实现游戏解释器。命令方块能执行解释器指令
实现敌人的Ai,怪物会追逐玩家,会躲避Ai
socket联机,开房间