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