簡單的「貪吃蛇」

2021-08-30 07:18:17 字數 884 閱讀 6425

近日無事,看見很多地方有人在詢問貪吃蛇程式的做法,剛好我前段時間在公司做手持終端應用開發時,利用乙個午休時間自己也寫了個貪吃蛇程式玩玩,效果和手機、遊戲機上一樣,但是程式是在公司電腦上,由於資訊保安,是拷不出來的,這裡就給大家講講如何寫貪吃蛇程式吧。

其實貪吃蛇遊戲程式是很簡單的,只要大家坐下來細心地想想,一下子就能完成。

首先,將螢幕理解為xoy平面,向右向上分別為x、y的正向,定義乙個point型別,既可表示方向,也可表示座標,定義(0,1)(0,-1)(-1,0)(1,0)分別為上下左右方向。用乙個方向全域性變數表示蛇頭的方向,根據按上下左右鍵對它賦值。用乙個位置全域性變數作為蟲子的位置,每次吃到後再隨機產生。

其次,定義乙個位置陣列,長度為最大蛇長,記錄蛇的位置資訊(蛇是由相連的節點組成),蛇的運動可以在陣列上這樣反映:下一時刻,陣列除首節點(蛇頭)外所有節點賦值為它前乙個節點的值,即將陣列第乙個元素賦給第二個元素,第二個賦給第三個,...,而蛇頭則根據當前的方向來判斷,直接加上方向資料即可。這樣一來,在定時器的作用下就形成了蛇的移動。這裡要用乙個變數表示蛇的長度,只顯示長度範圍內的陣列節點的座標。

再次,是乙個判斷成功失敗函式,即,1.判斷蛇頭座標是否與四周牆壁相碰,相碰則失敗;2.判斷蛇頭是否與目標點(蟲子)相碰,相碰則成功,蛇長度加1,再在螢幕隨機顯示乙個蟲子(點),即賦隨機值給蟲子變數;3.判斷蛇頭座標是否與蛇的各座標相碰,相碰則失敗(蛇不能咬到自己);4.蛇的長度是否已達最大值,最大則成功。否則,返回標誌繼續遊戲。並且這裡可根據當前蛇長和最初蛇長計算吃了幾個蟲子,得到得分情況。

注意在根據按鍵改變方向時,如果是同一線上的方向改變是不成功的,只對垂直方向上的改變才成功,即當蛇頭在x方向運動時(y=0),按左右鍵是不改變方向的,只對上下鍵改。 有了這些,就只需在每個定時器啟動時刷屏、顯示蛇和蟲子、判斷執行成功失敗即可。

簡單吧!!!

C 簡單貪吃蛇

一定要自己定義set level view score 等函式,main 函式中主要運用了函式指標來縮短 其中忽略了必要的 include標頭檔案和using指示 如 using namespace std 請自行補充。我的想法是有 兩個線性表 和乙個字串 一 定義第乙個線性表的 片段如下 int ...

C 簡單貪吃蛇遊戲

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

python簡單版貪吃蛇

編寫內容 簡單版貪吃蛇 遊戲介紹 遊戲開始執行,按上下左右鍵蛇則會移動,每當蛇吃吃介面中隨機產生的食物時,設都會隨之增長一節。同時在遊戲介面的左下方會有分數顯示。當蛇碰到自己身體 或撞牆壁遊戲結束。如果想要再來一次,只需要點空格鍵,遊戲將重新開始。遊戲原始碼 import pygame import...