资源简介
用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(): 处理用户输入。
代码片段和文件信息
# -*- 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_src\favicon.ico
文件 4242 2009-04-20 09:38 mini_src\gamectrl\const.py
文件 3559 2009-04-15 19:56 mini_src\gamectrl\gamectrl.py
文件 0 2009-04-03 16:55 mini_src\gamectrl\__init__.py
文件 13115 2009-04-16 15:06 mini_src\logic\ball.py
文件 5163 2009-04-17 16:43 mini_src\logic\brickmanager.py
文件 7360 2009-04-20 09:38 mini_src\logic\ctrlbar.py
文件 5104 2009-04-16 17:32 mini_src\logic\gamelogic.py
文件 6962 2009-04-20 09:38 mini_src\logic\itemmanager.py
文件 0 2009-04-03 16:55 mini_src\logic\__init__.py
文件 909 2009-04-20 09:55 mini_src\main.py
文件 882 2009-04-17 16:43 mini_src\map_gen.py
文件 645 2009-04-15 16:18 mini_src\mymap\lv0.py
文件 302 2009-04-17 16:43 mini_src\mymap\lv1.py
文件 434 2009-04-17 16:43 mini_src\mymap\lv2.py
文件 656 2009-04-17 16:43 mini_src\mymap\lv3.py
文件 728 2009-04-17 16:43 mini_src\mymap\lv4.py
文件 854 2009-04-17 16:43 mini_src\mymap\lv5.py
文件 55 2009-04-17 16:43 mini_src\mymap\__init__.py
文件 793 2009-04-20 09:55 mini_src\mysetup.py
文件 514 2009-04-20 09:55 mini_src\readme.txt
文件 165240 2009-04-15 22:52 mini_src\res\ball\ball_1.png
文件 183440 2009-04-15 22:51 mini_src\res\ball\ball_2.png
文件 92919 2009-04-15 22:52 mini_src\res\ball\ball_3.png
..A.SH. 106496 2009-04-16 10:23 mini_src\res\ball\Thumbs.db
文件 137548 2009-04-17 11:30 mini_src\res\bg\bgg.jpg
文件 37357 2009-04-17 11:43 mini_src\res\bg\help.png
文件 75721 2009-04-02 15:03 mini_src\res\bg\info.jpg
..A.SH. 10752 2009-04-17 11:51 mini_src\res\bg\Thumbs.db
文件 17024 2009-04-09 15:24 mini_src\res\brick\brick_1.png
............此处省略96个文件信息
相关资源
- 宋体+Courier New字体文件Simsun Courier N
- scikit-learn-0.17.tar.gz
- pywin32-220.win32-py3.4
- unity制作2D的灯光阴影
- cocos2d-x游戏源码236061
- 实用数据挖掘与人工智能
- 2d toolkit
- 公司年会抽奖程序
- {必牛}[2D网络游戏引擎][第四课 图片资
- {必牛}[2D网络游戏引擎][第三课 图片资
- {必牛}[2D网络游戏引擎][第二课 图片资
- cocos2d-x 别踩白块源码
- lm3s9b92DE Caculator
- Artificial Intelligence: Foundations of Comp
- Cocos2dx入门初级教程
- tk8.6.8-src.tar.gz
- 数据科学入门 带目录高清版 解压成
- cocos2dx 3.3 跑酷游戏源代码和资源
- unity 横版2D车辆控制源码.zip
- 推荐系统基于用户和Item的协同过滤算
- 能通过一张照片(2D)得到3D的模型吗
- tesseract-ocr/tessdata 语言包
- 西门子802d简明调试手册
- pyinstaller安装所需文件及其依赖.rar
- {必牛}[2D网络游戏引擎][第四课 图片资
- {必牛}[2D网络游戏引擎][第四课 图片资
- {必牛}[2D网络游戏引擎][第四课 图片资
- {必牛}[2D网络游戏引擎][第一课 开发环
- 简单手写字符识别简单web界面手写
- {必牛}[2D网络游戏引擎][第四课 图片资
评论
共有 条评论