乙個功能簡單的貪吃蛇遊戲

2021-08-20 04:26:46 字數 2508 閱讀 7366

1.建立乙個基於對話方塊的程式

2.新增如下所示的編輯框,文字框

並設定這幾個按鈕位置屬性如下

3.準備一張背景圖,放入res資料夾內,這樣,準備工作就做好了,現在來新增**了

4.新增gdi+支援(見前文)

5.在主對話方塊類中新增兩個結構

struct snake

;struct food

;

新增共有成員
int m_width;//遊戲區寬度

int m_height ;//遊戲區高度

image* img;//背景圖

listsnake;//蛇

food food;//食物

別忘記新增對list的支援

#includeusing std::list;
初始化背景圖

在主對話方塊建構函式中

img = image::fromfile(_t("res/bkg.jpg"));
6.新增巨集,4個方向巨集,2個蛇大小巨集

#define snake_left 3

#define snake_up 1

#define snake_right 2

#define snake_down 0

#define snake_width 20

#define snake_height 20

7.新增定時器訊息,初始化在initinstance()函式中

settimer(0, 1000, null);

srand(300);

//蛇位置初始化

snake snakes;

snakes.x = rand() % 300;

snakes.y = rand() % 300;

snakes.direction = rand() % 3;

for (int i = 0; i < 5; i++)

//食物初始化

srand(2000);

food.x = rand() % m_width;

food.y = rand() % m_height;

8.新增繪製蛇主體和食物的函式drawsnake()

void csnakedlg::drawsnake(graphics & gh)

}

再新增碰撞檢測函式i****()

void csnakedlg::i****()

每一幀蛇移動一次,只動蛇頭和蛇尾
void csnakedlg::snakerun()

snake.push_back(head);

if(!iseat())//沒有吃到食物就彈出頭部

snake.pop_front();

}

是否吃到食物判斷
bool csnakedlg::iseat()

return false;

}

9.新增wm_size訊息

獲取對話方塊的大小並儲存

void csnakedlg::onsize(uint ntype, int cx, int cy)

10,新增對按鍵的支援

新增虛函式pretranslatemessage(),該函式在windows處理之前攔截按鍵訊息

bool csnakedlg::pretranslatemessage(msg* pmsg)

return cdialogex::pretranslatemessage(pmsg);

}

11.利用雙緩衝將該遊戲繪製出來

void csnakedlg::onpaint()

else

pdc->bitblt(0, 0, m_width, m_height, &m_dcmemory, 0, 0, srccopy);

cdialogex::onpaint();

}}

12.利用計時器將做出流暢遊戲

void csnakedlg::ontimer(uint_ptr nidevent)

遊戲完成

該遊戲還有許多不完善的地方

得分功能沒有設計;小蛇自我碰撞檢測沒有設計,遊戲開始暫停也沒有設計

效果

乙個簡單的「貪吃蛇」小遊戲

乙個簡單的 貪吃蛇 小遊戲 分享人 鄭漲 頁面結構 簡單的21x21的方塊,頁面結構 id為container的div包含所21個class名為row的div,每個row代表貪吃蛇的一整行,每個row中又包含21個div,代表這一行的每乙個div方格,如果這個方格是空的話,div的類名為blank,...

C 簡單貪吃蛇遊戲

用c 實現的非常簡單的非圖形介面的簡單貪吃蛇遊戲 include include include include include includeusing namespace std void transport short short short void set short,short void...

簡單的貪吃蛇遊戲實現

貪吃蛇功能實現 1 定義貪吃蛇遊戲棋盤圖 2 初始化棋盤 3 輸出棋盤所在資訊 3 選擇遊戲難度 4 隨機產生食物 5 更新遊戲動態 6 設定遊戲相應的操作 7 列印遊戲結果 實現 include include include include include include include usi...