智慧型貪吃蛇

2021-09-29 12:34:15 字數 1894 閱讀 4169

#include

#include

#include

#include

//#include

#include

#include

#include

void food();

void show();

void move();

void turn();

void check();

void ini();

void calculate();

int movable[4] = ; //陣列的下標表示方向,0123分別表示上下左右,下同

int distance[4] = ;

int dy[4] = ;

int dx[4] = ;

int sum = 5; //蛇總長度

int over = 0;

int speed;

int foodx, foody; //食物的座標

char map[17][17];

struct snake a[100];

void ini()

a[0].x = 1; a[0].y = 1; //地圖左上角設定一條長度為5的蛇

a[1].x = 1; a[1].y = 2;

a[2].x = 1; a[2].y = 3;

a[3].x = 1; a[3].y = 4;

a[4].x = 1; a[4].y = 5; a[4].dir = 1;

srand(time(0));

for (i = 0; i < 17; i++)

}for (i = 1; i < 16; i++)

}//map[6][5] = '』; map[6][6] = 『』; map[6][7] = '』;

//map[7][5] = 『』; map[7][7] = '』;

map[a[4].x][a[4].y] = 『h』; //設定蛇頭

for (i = 0; i < sum - 1; i++)

food();

calculate();

}void show()

printf("\n");

}while (1)

else if (ch == 114) }}

system(「cls」); //清屏

for (i = 0; i < 17; i++)

printf("\n");

}calculate(); //計算並記錄蛇頭與食物距離}}

void food() }}

void move()

else

map[a[i].x][a[i].y] = 『x』; //把地圖上蛇身座標處的字元設定成『x』

}a[sum - 1].x = a[sum - 1].x + dx[a[sum - 1].dir]; //蛇頭按當前方向移動一格

a[sum - 1].y = a[sum - 1].y + dy[a[sum - 1].dir];

map[a[sum - 1].x][a[sum - 1].y] = 『h』; //把地圖上蛇頭座標處的字元設定成『h』

}else

for(i = 0; i < 4; i++) else else }}

}void check()

printf("\n");

}printf(「input 『r』 to restart\ninput 『q』 to quit\n」);

over = 1;}}

else if (map[x][y] == 『o』)

}void turn()

}switch (k)

}void calculate() else }}

int main()

貪吃蛇高階 智慧型蛇

做完了人工操控的貪吃蛇,由於太懶了 我們來設計乙個可以自動尋找食物的智慧型蛇吧w 思路 我們只需對原來人工操作的貪吃蛇 稍作修改即可。首先,我們要讓蛇能夠根據食物的位置自動判斷自己移動的方向。注意,此時如果只是簡單判斷蛇的head與食物的距離,蛇就非常容易把自己繞死。這時有乙個比較簡單的思路 遍歷全...

字元遊戲 貪吃蛇 智慧型

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

C語言寫貪吃蛇與智慧型蛇

貪吃蛇 寫手動貪吃蛇的時候我用了比較醜陋的方式 include include include include include include include void getfood char map 25 int main getfood map intm for m 0 m 20 m intl...