字元遊戲 智障蛇

2021-08-14 04:27:16 字數 1590 閱讀 8316

繼會吃的蛇之後我又寫了會自動尋路的智障蛇

void aimove() ;//判斷哪個方向能走

if(map[aisnake.y[0]][aisnake.x[0]+1] != blank_char && map[aisnake.y[0]][aisnake.x[0]+1] != snake_food) canmove[3] = 0

;//right

if(map[aisnake.y[0]][aisnake.x[0]-1] != blank_char && map[aisnake.y[0]][aisnake.x[0]-1] != snake_food) canmove[1] = 0

;//left

if(map[aisnake.y[0]-1][aisnake.x[0]] != blank_char && map[aisnake.y[0]-1][aisnake.x[0]] != snake_food) canmove[0] = 0

;//up

if(map[aisnake.y[0]+1][aisnake.x[0]] != blank_char && map[aisnake.y[0]+1][aisnake.x[0]] != snake_food) canmove[2] = 0

;//down

if(food.x

<=aisnake.x[0] && food.y

.y[0]) aiconstruct=0

; if(food.x

.x[0] && food.y>=aisnake.y[0]) aiconstruct=1

; if(food.x>=aisnake.x[0] && food.y>aisnake.y[0]) aiconstruct=2

; if(food.x>aisnake.x[0] && food.y

<=aisnake.y[0]) aiconstruct=3

;/*判斷食物在哪個方位*/

while(!canmove[aiconstruct]) aiconstruct = aiconstruct % 4 + 1

;//最終確定走的方向

/*後面的部分與人工控制的蛇相同*/

map[aisnake.y[aisnake.lenth-1]][aisnake.x[aisnake.lenth-1]] = blank_char;

map[aisnake.y[0]][aisnake.x[0]] = aisnake_body;

int i = 0

; for( i=aisnake.lenth-1

; i; i-- )

switch(aiconstruct)

if(map[aisnake.y[0]][aisnake.x[0]] != blank_char && map[aisnake.y[0]][aisnake.x[0]] != snake_food )

if(map[aisnake.y[0]][aisnake.x[0]] == snake_food )

else map[aisnake.y[0]][aisnake.x[0]] = aisnake_head;

}

這樣的蛇還是可以自己走一會兒的(雖然寫的真的不好)orz·~·

字元遊戲 智慧型蛇

基本原理 對於貪吃蛇怎麼在螢幕上移動,其實就是不斷重新整理螢幕,在乙個迴圈裡,每一次迴圈就像一張,以計算機的強大計算速度,連線成動態移動的蛇輕而易舉。由5個主要函式組成 1.首先初始化地圖,包括圍牆,蛇和食物。2.是否產生食物,判別條件為蛇頭是否與食物座標重合。3.獲取移動速度,蛇越長移速越快,移速...

字元遊戲 智慧型蛇

這裡我們暫且將食物數量設定為1,就如經典貪吃蛇那樣。接下來就是判斷要如何走了,而影響蛇行走方向的要素無非就是蛇頭與各個物件的關係,與蛇身的關係 下一步不能碰到蛇身自己撞死自己,下一步不能碰到牆,下一步要在以上條件之下盡可能往離食物更近的方向走。由於之前設計的貪吃蛇就有判斷下一步會不會自殺的函式塊ju...

字元遊戲 智慧型蛇

智慧型蛇是字串版貪吃蛇的公升級版。在這篇文章中,我將記錄我的學習過程,起到同大家分享 交流的目的。本次專案的任務是讓蛇有一定的智慧型,能通過演算法具有 感知 決策 行動 的能力。開發環境為linux。在編寫前,首先要掌握如何在終端上實現清屏。在字元終端上完成 清屏 修改游標位置 設定字元前景和背景色...