資源簡介
用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個文件信息
評論
共有 條評論