日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

怎样做小游戏挖金子(VC,源码3)

發(fā)布時(shí)間:2024/8/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎样做小游戏挖金子(VC,源码3) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

說(shuō)明:整個(gè)工程文件已經(jīng)上傳至“下載頻道”,?名字是“挖金子VC版源碼”。不僅包括源代碼,還有圖形資源。最方便的是能直接編譯、運(yùn)行。

昨天講解了游戲開(kāi)始菜單的相關(guān)程序。今天開(kāi)始講游戲主邏輯。當(dāng)用戶點(diǎn)擊了“開(kāi)始”按鈕后,進(jìn)入游戲。需要做的工作是:加載地圖,游戲上方的叉子開(kāi)始擺動(dòng),同時(shí)檢測(cè)用戶按鍵,判斷是否抓到物品等等。待俺一一道來(lái)。

地圖信息包括:第幾關(guān),物品及其坐標(biāo),以前兩關(guān)的地圖數(shù)據(jù)為例:

*0
600
1 50 110
2 100 270
3 200 370
2 380 370
3 480 340
1 550 150
4 190 190
5 390 260
#
*1
1000
2 50 110
5 100 270
3 200 370
4 380 370
5 480 340
1 550 150
2 190 190
3 390 260
#

文件結(jié)構(gòu)為:每一關(guān)以*和#作為起始/結(jié)束標(biāo)志。*后面跟得是“第幾關(guān)”(從0開(kāi)始)。之后,是過(guò)關(guān)的金錢數(shù)量。再之后,每行表示一個(gè)物品,物品ID,橫坐標(biāo),縱坐標(biāo)。

物品ID從1開(kāi)始,1至5表示5種物品,對(duì)應(yīng)著大小不同的。這是一個(gè)設(shè)計(jì)的失誤,不應(yīng)該從1開(kāi)始,應(yīng)該從0開(kāi)始。因?yàn)閿?shù)組的下標(biāo)要從0開(kāi)始計(jì)算,有時(shí)候忘了減一,很久才能發(fā)現(xiàn)。這就是“代碼的可維護(hù)性”。?

struct?GAMEOBJECT
{
????
int?id;
????
int?x;
????
int?y;
};

class?GAMEMAP
{
public:
????
//物品的ID,坐標(biāo)
????struct?GAMEOBJECT?objectarray[30]; ?? ?int iObjectNum;

如上所示,讀取地圖文件后,將所有物品的ID,坐標(biāo)放到這個(gè)數(shù)組中。

整個(gè)游戲的畫(huà)面就是,遍歷這個(gè)數(shù)組,按照物品ID,坐標(biāo),顯示對(duì)應(yīng)的圖片。代碼如下:

????????????????for(i=0;i<gmap.iObjectNum;i++)
????????????????{
????????????????????
if(gmap.objectarray[i].id<=0)
????????????????????{
????????????????????????
continue;
????????????????????}
????????????????????bObject.ShowNoBack(gmap.objectarray[i].x,
????????????????????????????????gmap.objectarray[i].y,
????????????????????????????????gmap.objectarray[i].id
-1);
????????????????
????????????????}

在游戲過(guò)程中,只要修改這個(gè)數(shù)組中的坐標(biāo)即可移動(dòng)物品,只要清除一個(gè)元素的ID,即可消除一個(gè)物品。

還要繪制畫(huà)面上方的圖案,土壤的圖案。上方的圖案是一個(gè)簡(jiǎn)單的圖片,土壤的圖片是一個(gè)64*64的位圖,循環(huán)排列而成。游戲中根據(jù)“第幾關(guān)”選擇不同的背景圖案來(lái)顯示。

????bMap.ShowCenter(0);//游戲上方的圖案
????bEarth.ShowLoop(0,80,GAMEWIDTH,GAMEHEIGHT,gmap.GetMatchNow());//土壤背景

畫(huà)面上方有三個(gè)文字信息:當(dāng)前金錢,目的金錢,剩余時(shí)間。都是簡(jiǎn)單的一個(gè)文本顯示TextOut。

以上介紹了地圖加載,物品的存儲(chǔ)數(shù)組。

游戲的主過(guò)程中,還有叉子的繪制、擺動(dòng)、伸縮,檢測(cè)是否抓到物品(包括物品移動(dòng)),檢測(cè)用戶按鍵,這些下回分解。大家可以直接在“CSDN下載頻道”下載源工程“挖金子VC版源碼”,其實(shí),了無(wú)秘密。

總結(jié)

以上是生活随笔為你收集整理的怎样做小游戏挖金子(VC,源码3)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。