字元遊戲之正常貪吃蛇

2021-08-14 03:56:27 字數 2465 閱讀 9814

一、遊戲名稱:貪吃蛇

二、遊戲玩法:相信大家小時候都有玩過,本人就不詳細的介紹了。

三、遊戲所需:乙隻字元蛇(以h為頭,以x作為身子),食物($).

一、首先,要設計乙個地圖,如圖,乙個11*11的地圖。

二、接下來我們要我們的蛇。

三、接下來,我們要讓蛇在使用者輸入了之後可以動。

四、然後只是會動還不行,還要有食物,並且吃了食物之後能夠長大。

都說寫偽**容易,寫真正的**難(是真的!!!)

好,現在我們開始寫我們的**了!

首先吧,呼叫幾個庫,設定幾個函式與變數,基本上都很好懂,但是我的第十一行設定的函式可能讓你費解,沒事,我解釋給你聽,但是不要學我用這個方法(說多了都是淚┭┮﹏┭┮)

為什麼要設定插入到陣列左邊呢?(哦,原諒我,現在才發現我左右不分)

因為我一開始就設定了陣列的最右邊就是蛇頭了,吃了食物蛇身子要變長,怎麼辦呢?就是增加乙個座標,因為頭的座標在最右邊,所以要寫個函式把其插到最左邊,(蛇的座標之所以一開始搞成這樣。。。也是看了老師的開頭**有關。。。在做這些的時候無比想念python的方便/(ㄒoㄒ)/~ ~)

當然啦,一開始只是在做讓蛇走動的時候自然是無所謂的,但是一旦要變長的時候這個麻煩才凸顯出來,所以最好是一開始就把蛇頭放在最左邊,那樣子就不需要,寫乙個比較麻煩的插到左邊的函式了,雖然在c語言裡面插到右邊一樣麻煩~~

上面第一行**呢,是進行清屏的**,用乙個for迴圈輸出map,再在下面設定乙個printf函式輸出蛇的長度,最後乙個**呢,是讀取你輸入的鍵。

當輸入的鍵為w時向上運動並改變direction,再加個判斷死亡的條件之一,撞到自己。

上面就是snakemove函式,在我的這個遊戲之中,direction有四個值:1、2、3、4,分別代表著上、右、下、左,這樣就可以確定蛇頭的方向了,在這個函式之中只有蛇頭的座標是新算的,其他的都是由上乙個點的座標傳承過來的。

上面即為判斷蛇是否撞牆。

最後,上面的**還不是非常的完整。

在此講一下思路,就不貼出**了。

①蛇的自動前進,可以用kbhit()函式判斷是否有按鍵按下,只要設定當沒有按鍵按下的時候蛇沿著所在的方向自動前進就是了,至於頻率自己調控就好了。

②勝利判斷,好吧,一開始沒有設定,是因為我沒有考慮有人可以玩到最後,包括我自己也玩不到(雖然我知道怎麼必勝,但是原諒我比較菜),勝利是只要判斷map裡面還有沒有空格即可。

③食物生成,好吧,其實我在上面忘了寫了,現在簡單說一下,只要用隨機數生出食物的座標,再將map那個座標換成食物就好了。

字元遊戲 貪吃蛇

貪吃蛇遊戲的設計思路很簡單,相信有過一些程式設計經驗的同學都不至於束手無策,可在我剛剛接觸程式設計時,這個小小的貪吃蛇遊戲可是讓我費了不少腦筋,即使軟導老師已經把偽 告訴了我們,我還是花費了好大的功夫。話不多說,我們現在就開始吧,首先我們整理一下思路。首先列印地圖,然後用兩個一維陣列來表示蛇頭的座標...

字元遊戲 貪吃蛇

貪吃蛇是一款十分經典的遊戲。下面介紹一下字元版本貪吃蛇。偽 框架 輸出字元矩陣 while not 遊戲結束 do ch 等待輸入 case ch do a 左前進一步,break d 右前進一步,break w 上前進一步,break s 下前進一步,break end case 輸出字元矩陣 e...

字元遊戲 貪吃蛇 智慧型

先借由自頂向下之邏輯使用偽程式碼方式將架構完成 include int char void 生成地圖 void 生成蛇 void 生成食物 void 蛇移動 void 畫面重新整理 void 吃 void 避免覆蓋 void 碰撞 void 輸入 生成地圖 生成蛇 生成食物 蛇移動 畫面重新整理 吃...