用pygame实现的2d弹珠游戏. 主要框架如下图所示: Client 程序入口,从这里开始游戏。 resource 图片字体等资源 GameCtrl Gamelogic 对游戏的数据进行控制,例如球的下一个位置,是否发生碰撞,速度如何。 主要接口: update():对游戏数据更新,下一次Section的回调就知道应该在什么位置绘图 logic_start(): 游戏开始或者重新开始的时候初始化数据。 logic_end(): 游戏重新开始的时候销毁以前数据 save () : 保存游戏数据到文件,下次可以继续接着玩 load(): 读取文件信息, 重新开始上次的游戏 主要类: Ball(): 对球的数据和操作封装 Brick(): 对砖的行为封装 CtrlBar(): 对玩家控制的Bar进行封装 BrickCreator(): 对砖块的生成进行封装 GameCtrl 对游戏输入,控制调用Section。 主要接口: add_section(): 加入新的section,绘制新的东西 goto_section():被触发,游戏转移到绘制另一个section中,例如在游戏中鼠标右键,触发到一个右键界面出现。 start_main_loop(): 游戏的主循环 Section GameSection(): 定义所有Section的超类 主要接口: handle_key(): 处理用户键盘输入接口 handle_mouse(): 处理用户鼠标输入接口 update(): 从logic中获取更新的数据,用来下一步的绘图 render(): 根据所拥有的image等资源,绘制图像 menu Section:从GameSection继承,定义进入游戏的界面及按键行为。 主要函数: Render(): 画出menu ball section(): 游戏的主要的Section,绘制游戏过程中的元素 主要函数: update(): 从Logic中获取数据,用来绘图 render(): 绘图 handle(): 处理用户输入。
2020-01-03 11:19:46 10.94MB python pgame 2d
1