目錄
第一章 緒論 1
1.1 任務(wù)概述 1
1.1.1 軟件功能 1
1.1.2 運行環(huán)境 1
1.2 需求分析 3
1.2.1 游戲界面 3
1.2.2 菜單操作 3
1.2.3 游戲操作 3
1.3 設(shè)計目的 4
第二章 相關(guān)技術(shù)及開發(fā)工具 5
2.1 python介紹 5
2.2 python發(fā)展歷史 6
2.3 python特點 6
2.4 python開發(fā)環(huán)境構(gòu)建 7
第三章 概要設(shè)計 8
3.1 程序流程 9
3.1.1 程序主流程 9
3.1.2 游戲視圖 10
3.1.3 游戲控制流程 10
3.2 模塊說明 11
3.2.1 游戲模塊 11
3.2.2 輔助模塊 12
3.3 重要數(shù)據(jù) 12
3.3.1 存儲型 12
3.3.2 控制型 12
第四章 詳細設(shè)計 13
4.1 界面設(shè)計 13
4.1.1 窗口創(chuàng)建 13
4.1.2 菜單設(shè)計 13
4.1.3 區(qū)域著色 13
4.1.4 方塊設(shè)計 13
4.2 常量變量 13
4.2.1 常量. 13
4.2.2 變量. 14
4.3 重要函數(shù) 14
4.3.1 游戲狀態(tài) 14
4.3.2 游戲控制 14
4.4 重要算法 14
4.4.1 判定 14
4.4.2 變換 14
第五章 調(diào)試與測試 15
5.1 調(diào)試分析 15
5.1.1 問題與解決 15
5.1.2 性能分析 15
5.1.3 程序不足 15
5.2 測試結(jié)果 16
5.2.1 游戲截圖 16
第六章 結(jié)論 19
參考文獻 20
第一章緒論
1.1任務(wù)概述
1.1.1軟件功能
該俄羅斯方塊是有Python編寫而成的。它具有對游戲的正常操作,可以控制方塊
下落位置、下落時改變方向,以及對方塊的直接下落。該游戲分左右兩個界面,左邊顯示游戲的運行狀態(tài),右邊顯示游戲下一個即將出現(xiàn)的方塊,以及游戲的等級類別和當前分數(shù)、消過得方塊行數(shù)等。
1.1.2運行環(huán)境
程序運行于Anoconda,將Anoconda安裝于Windows系統(tǒng)上。然后在Anoconda Prompt 上安裝pygame組件。
Anaconda是一個用于科學(xué)計算的Python發(fā)行版,支持 Linux, Mac, Windows系統(tǒng),提供了包管理與環(huán)境管理的功能,可以很方便地解決多版本python并存、切換以及各種第三方包安裝問題。Anaconda利用工具/命令conda來進行package和environment的管理,并且已經(jīng)包含了Python和相關(guān)的配套工具。
這里先解釋下conda、anaconda這些概念的差別。conda可以理解為一個工具,也是一個可執(zhí)行命令,其核心功能是包管理與環(huán)境管理。包管理與pip的使用類似,環(huán)境管理則允許用戶方便地安裝不同版本的python并可以快速切換。Anaconda則是一個打包的集合,里面預(yù)裝好了conda、某個版本的python、眾多packages、科學(xué)計算工具等等,所以也稱為Python的一種發(fā)行版。其實還有Miniconda,顧名思義,它只包含最基本的內(nèi)容——python與conda,以及相關(guān)的必須依賴項,對于空間要求嚴格的用戶,Miniconda是一種選擇。
進入下文之前,說明一下conda的設(shè)計理念——conda將幾乎所有的工具、第三方包都當做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環(huán)境管理的約束,能非常方便地安裝各種版本python、各種package并方便地切換。
Anaconda的下載頁參見官網(wǎng)下載,Linux、Mac、Windows均支持。
安裝時,會發(fā)現(xiàn)有兩個不同版本的Anaconda,分別對應(yīng)Python 2.7和Python 3.5,兩個版本其實除了這點區(qū)別外其他都一樣。后面我們會看到,安裝哪個版本并不本質(zhì),因為通過環(huán)境管理,我們可以很方便地切換運行時的Python版本。(由于我常用的Python是2.7和3.4,因此傾向于直接安裝Python 2.7對應(yīng)的Anaconda)
下載后直接按照說明安裝即可。這里想提醒一點:盡量按照Anaconda默認的行為安裝——不使用root權(quán)限,僅為個人安裝,安裝目錄設(shè)置在個人主目錄下(Windows就無所謂了)。這樣的好處是,同一臺機器上的不同用戶完全可以安裝、配置自己的Anaconda,不會互相影響。
對于Mac、Linux系統(tǒng),Anaconda安裝好后,實際上就是在主目錄下多了個文件夾(/anaconda)而已,Windows會寫入注冊表。安裝時,安裝程序會把bin目錄加入PATH(Linux/Mac寫入/.bashrc,Windows添加到系統(tǒng)變量PATH),這些操作也完全可以自己完成。以Linux/Mac為例,安裝完成后設(shè)置PATH的操作是
將anaconda的bin目錄加入PATH,根據(jù)版本不同,也可能是~/anaconda3/bin
echo ‘export PATH=“~/anaconda2/bin:$PATH”’ >> ~/.bashrc
更新bashrc以立即生效
source ~/.bashrc
配置好PATH后,可以通過which conda或conda --version命令檢查是否正確。假如安裝的是Python 2.7對應(yīng)的版本,運行python --version或python -V可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也說明該發(fā)行版默認的環(huán)境是Python 2.7。
Pygame是跨平臺Python模塊,專為電子游戲設(shè)計,包含圖像、聲音。建立在SDL基礎(chǔ)上,允許實時電子游戲研發(fā)而無需被低級語言(如機器語言和匯編語言)束縛。包含圖像、聲音。
Pygame建立在SDL基礎(chǔ)上,允許實時電子游戲研發(fā)而無需被低級語言(如機器語言和匯編語言)束縛?;谶@樣一個設(shè)想,本文轉(zhuǎn)載自http://www.biyezuopin.vip/onews.asp?id=13886所有需要的游戲功能和理念都(主要是圖像方面)都完全簡化為游戲邏輯本身,所有的資源結(jié)構(gòu)都可以由高級語言提供,如Python。
1.2需求分析
1.2.1 游戲界面
圖1.1
1.2.2 菜單操作
打開Anoconda Prompt ,安裝pygame組件。安裝完成后就會顯示 如圖5.1所示的界面。點擊Play!,將進入游戲,點擊Quit將退出程序。
1.2.3 游戲操作
進入游戲后,可以用鍵盤上下左右鍵控制方塊的下落方向,速度。當選好下落的位置后,按下空格鍵將快速下降到需要填充的地方。當游戲中方塊積累的和游戲最上面相平時,此局游戲?qū)⒔Y(jié)束。
1.3設(shè)計目的
這款游戲設(shè)計的主要目的是為了應(yīng)用自己已學(xué)過的編程語言更好的去應(yīng)運到實際中,同時對小游戲的開發(fā)有助于提升自己的編程能力,還能更好的找出自身存在的一些缺陷問題,加以及時的彌補。這款游戲也能供玩家適當緩解壓力,提高思維能力和反應(yīng)能力。
import os
scorefile = os.path.join(os.path.dirname(__file__), ".highscores")
def load_score():
""" Returns the highest score, or 0 if no one has scored yet """
try:
with open(scorefile) as file:
scores = sorted([int(score.strip())
for score in file.readlines()
if score.strip().isdigit()], reverse=True)
except IOError:
scores = []
return scores[0] if scores else 0
def write_score(score):
assert str(score).isdigit()
with open(scorefile, 'a') as file:
file.write("{}\n".format(score))
文章來源:http://www.zghlxwxcb.cn/news/detail-782180.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-782180.html
到了這里,關(guān)于俄羅斯方塊游戲設(shè)計與實現(xiàn)(Python)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!