VC版貪吃蛇

2021-06-18 21:24:57 字數 1838 閱讀 2150

此處,我感受到復用性的好處,將與顯示或平台無關的東西分裝在一起,如果能進一步抽象的盡量抽象,就可以充分發揮其復用性。

具體的關於snake的設計,請參見我的部落格《c++版貪吃蛇遊戲》。

下面是vc下的遊戲介面截圖:

在這裡說一下vc下與c++不同的及新家的東西。

[cpp]view plain

copy

//引入庫

#include 

#pragma comment(lib,"winmm.lib")    

// todo: add your command handler code here

/加背景**

mcisendstring( "open ./res/650.*** alias bk"

, 0, 0, 0 );  

mcisendstring( "play bk repeat"

, 0, 0, 0 );  

///

2)顯示的不同,這是最大的變化,但不難,因為在c++中就已用二維陣列表示了,這裡只需根據二維陣列的值,來顯示成為不同的就行了。

看一部分**:

[cpp]view plain

copy

/// csnakeview message handlers

void

csnakeview::display(

intimage[20][20],cdc *pdc)  

else

if(image[i][j]==1)  

else

if(direction==4)  

else

if(direction==6)  

else

if(direction==8)  

}  else

if(image[i][j]==2)  

}  }    

}    

cbitmap bitmap11;  

bitmap11.loadbitmap(idb_bitmap10);  

cbrush brush11;             

brush11.createpatternbrush(&bitmap11);  

crect rec5;  

rec5=crect(440,0,540,495);  

pdc->fillrect(rec5,&brush11);  

char

buf[100];  

//gotoxy(46,9); 

sprintf(buf,"score:%-5d"

,score);         

//記錄分數

//pdc->setbkmode(transparent);

pdc->textout(445,120,buf);  

//gotoxy(46,10); 

sprintf(buf,"level=%-5d"

,level);         

//記錄等級

pdc->textout(445,150,buf);  

}  

3)為了避免螢幕的閃爍,採用雙緩衝機制。

**:[cpp]view plain

copy

void

csnakeview::ondraw(cdc* pdc)    

4)其他的就是採用vc中的按鍵響應函式及timer時間控制就ok了,別的都和c++差不多。

VC版的貪吃蛇遊戲

學c 的時候,課程設計編寫了c 版的貪吃蛇遊戲,當時,將很多的東西都分裝在了snake類中,所以,將其移植到vc中,只需將snake類稍作修改,然後新增到vc中即可。此處,我感受到復用性的好處,將與顯示或平台無關的東西分裝在一起,如果能進一步抽象的盡量抽象,就可以充分發揮其復用性。具體的關於snak...

pygame Python 版貪吃蛇

貪吃蛇是個非常簡單的遊戲,適合練手。先來看一下我的遊戲截圖 玩法介紹 回車鍵 開始遊戲 空格鍵 暫停 繼續 方向鍵 或 wsad 鍵 控制移動方向。食物分紅 綠 藍三種,分別對應 10 分 20 分 30 分,每吃乙個食物增加對應分值,每增加 100 分速度加快一級,沒有設定關卡,我玩到 1100 ...

Qt版貪吃蛇遊戲

qt版貪吃蛇遊戲 以下是windows 7下執行截圖 以下是ubuntu下執行截圖 我在windows下編寫好之後,將原始碼在ubuntu下重新編譯執行,就可以在ubuntu下執行,這也充分體現出qt一次編寫,到處執行的優勢。關於貪吃蛇遊戲的設計原理就不講了,具體可以參考我的部落格 c 版貪吃蛇遊戲...