《俄羅斯方塊詳細(xì)設(shè)計(jì)說(shuō)明書》由會(huì)員分享,可在線閱讀,更多相關(guān)《俄羅斯方塊詳細(xì)設(shè)計(jì)說(shuō)明書(11頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、文件名稱
俄羅斯方塊軟件概要說(shuō)明書
項(xiàng)目名稱
俄羅斯方塊
修 改 記 錄
版本
ECN/修改內(nèi)容
制定/日期
審核/日期
批準(zhǔn)/日期
1.0
1.1
1.2
1.3
1.4
2.1
畫小方塊
隨機(jī)生成方塊
方塊的控制、預(yù)覽
消行,得分,重新游戲
添加圖片,添加音樂
美化界面,消除BUG
2015-11-26
2015-11-27
2015-11-28
2015-11-29
2015-11-30
2015-12-6
存檔方式
R電子文檔 R紙文檔
2、 □其它:
擬制
審核
批準(zhǔn)
日期
日期
日期
摘 要
設(shè)計(jì)模式(Design pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。
設(shè)計(jì)模式根據(jù)其目的可分為三種類型:創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式,共有23種。
本文將結(jié)合其中的幾個(gè)設(shè)計(jì)模式闡述俄羅斯方塊游戲的基本設(shè)計(jì)思想。
俄羅斯方塊(Tetris, 俄文:Тетрис)是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它由俄羅斯人阿列克謝帕基特諾夫發(fā)明
3、,故得此名。俄羅斯方塊的基本規(guī)則是移動(dòng)、旋轉(zhuǎn)和擺放游戲自動(dòng)輸出的各種方塊,使之排列成完整的一行或多行并且消除得分。由于上手簡(jiǎn)單、老少皆宜,從而家喻戶曉,風(fēng)靡世界。
一. 緒論 4
1. 俄羅斯方塊游戲簡(jiǎn)介 4
2. 俄羅斯方塊游戲規(guī)則 4
二. 需求分析與游戲設(shè)計(jì) 5
1. 游戲界面 5
2. 方塊控制 6
3. 圖形顯示 6
三、 模塊設(shè)計(jì) 6
1. 開始模塊 6
2. 方塊的生成 7
3. 方塊的控制 8
4. 方塊的預(yù)覽 9
5. 消行、計(jì)分 10
1. 緒論
1. 俄羅斯方塊游戲簡(jiǎn)介
4、
原本是前蘇聯(lián)科學(xué)家阿列克謝帕基特諾夫所開發(fā)的教育用軟件,之后開始提供授權(quán)給各個(gè)游戲公司,造成各平臺(tái)上軟件大量發(fā)行的現(xiàn)象。
Game Boy版的俄羅斯方塊在日本賣出424萬(wàn)套,是Game Boy史上賣最好的游戲。海灣戰(zhàn)爭(zhēng)時(shí),也是前線美軍最常拿消磨時(shí)間的游戲之一。
由于俄羅斯方塊具有的數(shù)學(xué)性、動(dòng)態(tài)性與知名度,也經(jīng)常拿來(lái)作為游戲程序設(shè)計(jì)的練習(xí)題材。
俄羅斯方塊曾經(jīng)造成的轟動(dòng)與帶來(lái)的經(jīng)濟(jì)價(jià)值,可以說(shuō)是世界游戲史上的一個(gè)奇跡。它看似簡(jiǎn)單卻又變化無(wú)窮,令人上癮。相信大多數(shù)用戶都還記得為它癡迷得“茶不思飯不想”的那個(gè)俄羅斯方塊時(shí)代。
俄羅斯方塊上手極其簡(jiǎn)單,但是要熟練地掌握其中的操作與擺放技巧
5、,難度卻不低。作為家喻戶曉老少皆宜的大眾游戲,其普及程度可以說(shuō)是史上任何一款游戲都無(wú)法相比的。
2. 俄羅斯方塊游戲規(guī)則
1.游戲主畫面在一個(gè)用于擺放方塊的面板上
2.(1)一組由4個(gè)小型正方形組成的規(guī)則圖形(即方塊)共有7種形狀,分別為一字形、田字形、7字形、反7形、Z形、反Z形、T形。
(2)一字形:一次最多消除四層
田字形:消除一至二層
7字形:最多消除三層,或消除二層
反7形:最多消除三層,或消除二層
Z形:最多二層,容易造成孔洞
反Z形:最多二層,容易造成孔洞
T形:最多二層
3. 方塊從區(qū)域上方開始下落,玩者可以按指定按鈕左右移動(dòng)方塊、逆時(shí)針旋轉(zhuǎn)方塊,
6、以及讓方塊加速落下。
4. 方塊移到區(qū)域最下方或是著地到其他方塊上無(wú)法移動(dòng)時(shí),就會(huì)固定在該處,而新的方塊出現(xiàn)在區(qū)域上方開始落下。
5. 當(dāng)區(qū)域中某一行橫向格子全部由方塊填滿,則該列會(huì)消失,玩家得分。
6. 當(dāng)固定的方塊累積堆到一定層數(shù)(設(shè)計(jì)游戲時(shí)設(shè)置)時(shí),游戲結(jié)束。
7. 游戲分為初級(jí)、中級(jí)、高級(jí)三關(guān)。
8. 游戲會(huì)提示下一個(gè)要落下的方塊形狀,并隨著游戲的進(jìn)行而加速提高難度。
2. 需求分析與游戲設(shè)計(jì)
1. 游戲界面
良好的用戶界面設(shè)計(jì)。本游戲主要有三個(gè)界面,一是主游戲區(qū)的面板,顯示變化和下落的方塊;二是用于放置按鈕以及顯現(xiàn)游戲信息的面板,三是雙人對(duì)戰(zhàn)時(shí)用以顯示對(duì)方游戲
7、信息的面板。
2. 方塊控制
方塊下落時(shí),可通過特定按鈕對(duì)該方塊進(jìn)行翻轉(zhuǎn)、加速,以及向左、向右移動(dòng)等操作。
3. 圖形顯示
隨機(jī)給出不同的形狀(一字形、田字形、7字形、反7形、Z形、反Z形、T形),下落填充給定的區(qū)域,填滿一行則消掉記分,當(dāng)達(dá)到一定的分?jǐn)?shù)時(shí)過關(guān),共設(shè)置五關(guān)。每關(guān)方塊下落的速度不同,方塊累積到一定層數(shù)無(wú)法再消去行時(shí)游戲結(jié)束。
3、 模塊設(shè)計(jì)
1. 開始模塊
a. 文件導(dǎo)入
序號(hào)
文件名
描述
備注
1
graphics.h
頭文件
b. 結(jié)構(gòu)定義
序號(hào)
結(jié)構(gòu)名
描述
備注
1
Block
坐標(biāo)、方
8、向、類型、顏色
c. 變量定義
序號(hào)
變量名
類型
描述
備注
1
Color、Type、Dirct
整形
聯(lián)系人的信息
2
IMAGE、MOUSE等
整形
圖片、鼠標(biāo)
3
GAME_WIDTH、GAME_HIGHT等
整形
游戲區(qū)域
d. 函數(shù)定義
序號(hào)
函數(shù)名
返回值
參數(shù)
描述
備注
1
main
void
無(wú)
主函數(shù)
2
isOver
void
無(wú)
判斷是否結(jié)束
3
initGame
void
無(wú)
游戲區(qū)域
2. 方塊的生成
a. 文件導(dǎo)
9、入
序號(hào)
文件名
描述
備注
1
graphics.h
頭文件
2
conio.h
頭文件
3
time.h
頭文件
b. 變量定義
序號(hào)
變量名
類型
描述
備注
1
BlockType
字符型
方塊的類型
2
BLOCKSIZE
整形
小方塊的大小
c. 函數(shù)定義
序號(hào)
函數(shù)名
返回值
參數(shù)
描述
備注
1
DispSmallBlock
void
無(wú)
畫一個(gè)小方塊
2
GetNewBlock
v
10、oid
無(wú)
新方塊的屬性
3
GetBlock
void
無(wú)
畫一個(gè)方塊
3. 方塊的控制
d. 文件導(dǎo)入
序號(hào)
文件名
描述
備注
1
graphics.h
頭文件
2
conio.h
頭文件
3
time.h
頭文件
e. 變量定義
序號(hào)
變量名
類型
描述
備注
1
Clock
長(zhǎng)整型
時(shí)間函數(shù)
2
key
整形
控制參數(shù)
f. 函數(shù)定義
序號(hào)
函數(shù)名
返回值
參數(shù)
描述
備注
1
Aut
11、oDown
void
無(wú)
自動(dòng)下落
2
isBlockPos
void
無(wú)
判斷疊加
3
GameMain
void
無(wú)
總體控制
4
Getch
void
無(wú)
讀取鍵值
4. 方塊的預(yù)覽
g. 文件導(dǎo)入
序號(hào)
文件名
描述
備注
1
graphics.h
頭文件
2
conio.h
頭文件
3
time.h
頭文件
h. 變量定義
序號(hào)
變量名
類型
描述
備注
1
Clock
長(zhǎng)整型
時(shí)間函數(shù)
2
key
整形
控制
12、參數(shù)
i. 函數(shù)定義
序號(hào)
函數(shù)名
返回值
參數(shù)
描述
備注
1
initGame
void
無(wú)
預(yù)覽區(qū)域
2
initNextGame
void
無(wú)
預(yù)覽方塊的屬性
5. 消行、計(jì)分
a. 文件導(dǎo)入
序號(hào)
文件名
描述
備注
1
dos.h
頭文件
2
stdlib.h
頭文件
3
math.h
頭文件
b. 變量定義
序號(hào)
變量名
類型
描述
備注
1
Score
整形
分?jǐn)?shù)
2
GameAre
整形
區(qū)域賦值
3
Line
整形
暫存行數(shù)
c. 函數(shù)定義
序號(hào)
函數(shù)名
返回值
參數(shù)
描述
備注
1
isRemove
void
無(wú)
判斷是否消行
2
Remove
void
無(wú)
消行
3
Score
void
無(wú)
計(jì)分