用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(): 处理用户输入。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3774 2009-04-20 09:55 mini_srcfavicon.ico
文件 4242 2009-04-20 09:38 mini_srcgamectrlconst.py
文件 3559 2009-04-15 19:56 mini_srcgamectrlgamectrl.py
文件 0 2009-04-03 16:55 mini_srcgamectrl\__init__.py
文件 13115 2009-04-16 15:06 mini_srclogicall.py
文件 5163 2009-04-17 16:43 mini_srclogicrickmanager.py
文件 7360 2009-04-20 09:38 mini_srclogicctrlbar.py
文件 5104 2009-04-16 17:32 mini_srclogicgamelogic.py
文件 6962 2009-04-20 09:38 mini_srclogicitemmanager.py
文件 0 2009-04-03 16:55 mini_srclogic\__init__.py
文件 909 2009-04-20 09:55 mini_srcmain.py
文件 882 2009-04-17 16:43 mini_srcmap_gen.py
文件 645 2009-04-15 16:18 mini_srcmymaplv0.py
文件 302 2009-04-17 16:43 mini_srcmymaplv1.py
文件 434 2009-04-17 16:43 mini_srcmymaplv2.py
文件 656 2009-04-17 16:43 mini_srcmymaplv3.py
文件 728 2009-04-17 16:43 mini_srcmymaplv4.py
文件 854 2009-04-17 16:43 mini_srcmymaplv5.py
文件 55 2009-04-17 16:43 mini_srcmymap\__init__.py
文件 793 2009-04-20 09:55 mini_srcmysetup.py
文件 514 2009-04-20 09:55 mini_src
eadme.txt
文件 165240 2009-04-15 22:52 mini_src
esallall_1.png
文件 183440 2009-04-15 22:51 mini_src
esallall_2.png
文件 92919 2009-04-15 22:52 mini_src
esallall_3.png
..A.SH. 106496 2009-04-16 10:23 mini_src
esallThumbs.db
文件 137548 2009-04-17 11:30 mini_src
esggg.jpg
文件 37357 2009-04-17 11:43 mini_src
esghelp.png
文件 75721 2009-04-02 15:03 mini_src
esginfo.jpg
..A.SH. 10752 2009-04-17 11:51 mini_src
esgThumbs.db
文件 17024 2009-04-09 15:24 mini_src
esrickrick_1.png
............此处省略96个文件信息
# -*- coding:gb2312 -*-
# -*- $Id: main.py 2211 2009-04-20 01:55:50Z dengzhifeng $ -*-
import sys
import os
import pygame
from pygame.locals import *
import gamectrl.const as const
from gamectrl.gamectrl import GameCtrl GameSection
from section.menusection import MenuSection
from section.ballsection import BallSection
from section.oversection import OverSection
from logic.gamelogic import GameLogic
if __name__ == ‘__main__‘:
# 创建逻辑
game_logic = GameLogic()
game_ctrl = GameCtrl(game_logic)
# 创建游戏Section
menu_section = MenuSection()
ball_section = BallSection()
over_section = OverSection()
# 绑定Section
game_ctrl.add_section(menu_section const.MENU_SECTION)
game_ctrl.add_section(ball_section const.BALL_SECTION)
game_ctrl.add_section(over_section const.OVER_SECTION)
# 开始
game_ctrl.start_main_loop(const.MENU_SECTION)
#game_ctrl.start_main_loop(const.BALL_SECTION)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3774 2009-04-20 09:55 mini_srcfavicon.ico
文件 4242 2009-04-20 09:38 mini_srcgamectrlconst.py
文件 3559 2009-04-15 19:56 mini_srcgamectrlgamectrl.py
文件 0 2009-04-03 16:55 mini_srcgamectrl\__init__.py
文件 13115 2009-04-16 15:06 mini_srclogicall.py
文件 5163 2009-04-17 16:43 mini_srclogicrickmanager.py
文件 7360 2009-04-20 09:38 mini_srclogicctrlbar.py
文件 5104 2009-04-16 17:32 mini_srclogicgamelogic.py
文件 6962 2009-04-20 09:38 mini_srclogicitemmanager.py
文件 0 2009-04-03 16:55 mini_srclogic\__init__.py
文件 909 2009-04-20 09:55 mini_srcmain.py
文件 882 2009-04-17 16:43 mini_srcmap_gen.py
文件 645 2009-04-15 16:18 mini_srcmymaplv0.py
文件 302 2009-04-17 16:43 mini_srcmymaplv1.py
文件 434 2009-04-17 16:43 mini_srcmymaplv2.py
文件 656 2009-04-17 16:43 mini_srcmymaplv3.py
文件 728 2009-04-17 16:43 mini_srcmymaplv4.py
文件 854 2009-04-17 16:43 mini_srcmymaplv5.py
文件 55 2009-04-17 16:43 mini_srcmymap\__init__.py
文件 793 2009-04-20 09:55 mini_srcmysetup.py
文件 514 2009-04-20 09:55 mini_src
eadme.txt
文件 165240 2009-04-15 22:52 mini_src
esallall_1.png
文件 183440 2009-04-15 22:51 mini_src
esallall_2.png
文件 92919 2009-04-15 22:52 mini_src
esallall_3.png
..A.SH. 106496 2009-04-16 10:23 mini_src
esallThumbs.db
文件 137548 2009-04-17 11:30 mini_src
esggg.jpg
文件 37357 2009-04-17 11:43 mini_src
esghelp.png
文件 75721 2009-04-02 15:03 mini_src
esginfo.jpg
..A.SH. 10752 2009-04-17 11:51 mini_src
esgThumbs.db
文件 17024 2009-04-09 15:24 mini_src
esrickrick_1.png
............此处省略96个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)