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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

昨天講解了游戲開始菜單的相關程序。今天開始講游戲主邏輯。當用戶點擊了“開始”按鈕后,進入游戲。需要做的工作是:加載地圖,游戲上方的叉子開始擺動,同時檢測用戶按鍵,判斷是否抓到物品等等。待俺一一道來。

地圖信息包括:第幾關,物品及其坐標,以前兩關的地圖數據為例:

*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
#

文件結構為:每一關以*和#作為起始/結束標志。*后面跟得是“第幾關”(從0開始)。之后,是過關的金錢數量。再之后,每行表示一個物品,物品ID,橫坐標,縱坐標。

物品ID從1開始,1至5表示5種物品,對應著大小不同的。這是一個設計的失誤,不應該從1開始,應該從0開始。因為數組的下標要從0開始計算,有時候忘了減一,很久才能發現。這就是“代碼的可維護性”。?

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

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

如上所示,讀取地圖文件后,將所有物品的ID,坐標放到這個數組中。

整個游戲的畫面就是,遍歷這個數組,按照物品ID,坐標,顯示對應的圖片。代碼如下:

????????????????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);
????????????????
????????????????}

在游戲過程中,只要修改這個數組中的坐標即可移動物品,只要清除一個元素的ID,即可消除一個物品。

還要繪制畫面上方的圖案,土壤的圖案。上方的圖案是一個簡單的圖片,土壤的圖片是一個64*64的位圖,循環排列而成。游戲中根據“第幾關”選擇不同的背景圖案來顯示。

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

畫面上方有三個文字信息:當前金錢,目的金錢,剩余時間。都是簡單的一個文本顯示TextOut。

以上介紹了地圖加載,物品的存儲數組。

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。