C 實現貪吃蛇遊戲

2021-08-18 06:45:40 字數 691 閱讀 4817

記得初學程式設計時,學習的第乙個遊戲就是貪吃蛇遊戲,礙於技術有限,只能在一旁欣賞大神的**,很疑惑是怎麼做到控制蛇的移動和吃食物的,而且別人的程式思路也不是那麼容易弄懂的,直到今天也是略知一二,且容我在程式說明中細細道來。

首先,蛇必須有身體,這裡依然用的是easy-x來做蛇身體和地圖(障礙物)的繪製。

都是用小正方形來表示。程式中body.h和body.cpp做蛇身體控制部分。snake.h和snake.cpp是遊戲邏輯控制。

在蛇的每一節身體使用鍊錶的方式進行管理,其中在蛇移動的過程中,很容易發現,在蛇的移動的過程中,看上去只有頭和尾的身體節點發生變化,所以我認為,在遊戲過程中,沒有必要在每一步的移動過程中都重繪一下整個蛇的身體,我們只需要在蛇的前進方向上的第一的身體節點前新繪製乙個乙個頭,並把原來的頭作為現在蛇靠最近頭的一節身體,最後把原來的尾巴擦掉,把之前靠近尾巴的節身體作為現在的尾巴即可。總之,這樣就只進行了蛇一節身體的繪製和擦除工作,這對程式介面響應是有很大幫助的。

當蛇吃到事物後,蛇的身體自動的增長一節但是,這一節身體在蛇身完全通過事物的座標後才出現。

另外在產生蛇所吃的事物上,使用隨機函式產生事物的有效的食物的座標,即在預定的遊戲介面之內。然後呼叫繪製函式繪製事物即可。

關於地圖的繪製,使用讀取本地txt檔案的

C 實現貪吃蛇遊戲

一,專案簡介 距上個專案 c 實現推箱子遊戲 一周時間,再次回顧兒時經典遊戲 貪吃蛇。實現了按鍵控制蛇頭移動,按下空格鍵暫停,採用鍊錶結構實現吃到食物蛇身增長,到達一定限度,蛇頭前進速率加快 撞到牆壁或蛇身,遊戲結束。如有問題,希望大佬指導糾錯。二,區 game.h define snake h i...

C 實現貪吃蛇小遊戲

總體思路 一直輸出 清屏 再輸出.形成重新整理效果,形成動畫效果。生成乙個二維陣列,用以儲存地圖 食物 蛇和圍牆。每次輸出將這個二維陣列輸出。生成指標陣列指向二維陣列來表示乙個蛇頭和蛇尾,指標所指的位置值為 表示蛇身,表示蛇頭,建立變數fx用來記錄當前蛇的移動方向 蛇的移動 迴圈用 kbhit 判斷...

貪吃蛇遊戲

貪吃蛇遊戲 結構化程式設計 c語言程式設計 重要的的是結構化的程式設計思想 include include include include include include define field width 300 就做20個格仔的 define field height 300 define f...