国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于EasyX的俄羅斯方塊游戲的設(shè)計(jì)和分析

2015-12-16 08:03殷志堅(jiān)段曉磊
科技傳播 2015年21期
關(guān)鍵詞:數(shù)組方塊方格

殷志堅(jiān),段曉磊

江西科技師范大學(xué)通信與電子學(xué)院,江西南昌 330000

基于EasyX的俄羅斯方塊游戲的設(shè)計(jì)和分析

殷志堅(jiān),段曉磊

江西科技師范大學(xué)通信與電子學(xué)院,江西南昌 330000

本文是基于EasyX的圖形庫(kù),運(yùn)用C語(yǔ)言在VC++ 6.0的平臺(tái)上開(kāi)發(fā)出來(lái)的一款俄羅斯方塊游戲。

EasyX;俄羅斯方塊游戲;VC

EasyX是針對(duì)C++的圖形庫(kù),可以幫助c語(yǔ)言初學(xué)者者快速的上手圖形和游戲編程,不需要注冊(cè)窗口類(lèi),建消息循環(huán)等,在使用上和Turbo C沒(méi)有很大的區(qū)別,但是它增加了鼠標(biāo)、批量繪圖、讀取圖片(點(diǎn)陣或矢量)等功能。

1 游戲功能描述

編寫(xiě)一個(gè)成功的俄羅斯方塊游戲,主要考慮實(shí)現(xiàn)以下幾個(gè)功能:游戲方塊的預(yù)覽功能;游戲方塊的控制功能;游戲分?jǐn)?shù)、等級(jí)更新功能;游戲操作提示功能。

2 游戲設(shè)計(jì)思路

1)程序進(jìn)入主函數(shù)后首先進(jìn)行初始化,在初始化中通過(guò)initgraph()函數(shù)進(jìn)入圖形模式,用setorigin()函數(shù)設(shè)置原點(diǎn),用rectangle()函數(shù)畫(huà)游戲的游戲區(qū)和預(yù)覽區(qū)兩個(gè)區(qū)域,再通過(guò)outtextxy()函數(shù)輸出游戲桌面的有關(guān)提示以及成績(jī)和等級(jí)。

2)本游戲的游戲區(qū)域被劃分為20*15個(gè)單元方格,定義了一個(gè)二維數(shù)組

g_world[20][15],數(shù)組的下標(biāo)就是每個(gè)單元方格左上方的坐標(biāo),通過(guò)數(shù)組存放的信息來(lái)標(biāo)志單元方格的有關(guān)信息,用1表示單元方格被方塊占用,0表示未被占用。

3)每個(gè)游戲方塊是通過(guò)4*4的矩陣單元方格來(lái)定義的,以下為要設(shè)計(jì)主要的方塊。

當(dāng)單元方格被占用時(shí)用1表示,未被占用的則用0表示,以第二個(gè)L型方塊為例,這個(gè)方塊可以用0100,0100,0110,0000來(lái)表示,用十六進(jìn)制表示為0x4460。用循環(huán)語(yǔ)句檢測(cè)這個(gè)十六進(jìn)制的每一位,當(dāng)為1是就調(diào)用setfillcolor()、setlinecolor()、fillrectangle()三個(gè)函數(shù)來(lái)給相應(yīng)的單元格填充顏色。

4)游戲方塊的結(jié)構(gòu)體變量的定義:

3 游戲用到的有關(guān)算法

1)方塊變換。

方塊變換包括左右移動(dòng)、下落、旋轉(zhuǎn)、沉底,首先要用檢測(cè)算法檢測(cè)變換后將要生成的下一個(gè)方塊是否符合游戲規(guī)則,如果符合就先刪除原先的方塊,再畫(huà)出下一個(gè)方塊。

2)檢測(cè)算法。

方塊變換時(shí),用檢測(cè)算法檢測(cè)是否出邊界,是否有重疊現(xiàn)象發(fā)生,邊界包括上下左右邊界,根據(jù)方格的左上坐標(biāo)是否超出設(shè)定的邊界來(lái)確定是否出界。重疊則根據(jù)在游戲區(qū)域內(nèi)的方塊所對(duì)應(yīng)的二維數(shù)組的值是否全是0標(biāo)識(shí),如果存在某個(gè)二維數(shù)組的值不為0,則表示發(fā)生重疊,那么就返回false,禁止方塊變換,否則返回true,允許方塊變換。以下是檢測(cè)算法的程序。

TP3

A

1674-6708(2015)150-0137-01

殷志堅(jiān),教授,江西科技師范大學(xué)通信與電子學(xué)院院長(zhǎng),研究方向:現(xiàn)代信號(hào)與信息處理

段曉磊,江西科技師范大學(xué)研究生,研究方向:嵌入式系統(tǒng)及應(yīng)用軟件

猜你喜歡
數(shù)組方塊方格
有多少個(gè)方塊
JAVA稀疏矩陣算法
方格里填數(shù)
不一樣的方塊橋
方格里填數(shù)
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
謎題方塊
分方格
分方格
Excel數(shù)組公式在林業(yè)多條件求和中的應(yīng)用
客服| 宽甸| 龙游县| 图们市| 砀山县| 白沙| 会同县| 手游| 福州市| 永登县| 奉化市| 宣恩县| 安顺市| 大厂| 池州市| 神农架林区| 宜兰市| 霍林郭勒市| 炉霍县| 三原县| 开阳县| 习水县| 洛阳市| 太和县| 平阳县| 博野县| 贵南县| 汝城县| 靖宇县| 阳原县| 独山县| 宿迁市| 紫云| 九江市| 上林县| 清水河县| 高州市| 炉霍县| 巫山县| 凤冈县| 乐昌市|