C 貪吃蛇200行以內實現完整功能

2021-07-26 16:45:20 字數 1875 閱讀 2315

#include

#include

#include

#include

#include

using namespace std;

#define size 22

#define max_snake_length 400

typedef structpoint;

char map[size][size];

point snake[max_snake_length],food,next;     //定義蛇,食物,下一步蛇頭的位置

int head,tail;

int grade,length,autotime;   //遊戲等級,蛇長度,自動前進所需時間

char direction;

inline void update(char map[size],int grade,int length,int autotime)

else}}

//隨機生成食物位置

inline void create_food()while(map[food.x][food.y]!=' ');

map[food.x][food.y]='!';

}//初始化

inline void init()

}for(i=0;i<=21;i++)

map[1][1]=map[1][2]='o';     //蛇出生點處,蛇身的位置

map[1][3]='@';

head=2;         //頭部在snake蛇陣列中的下標

tail=0;           //陣列下標

snake[head].x=1;   //出生點蛇的頭和尾的x,y座標

snake[head].y=3;

snake[tail].x=1;

snake[tail].y=1;

snake[1].x=1;      //出生點蛇身的x,y座標

snake[1].y=2;

create_food();

grade=1;length=3;autotime=500;

direction=77;        //初始時方向

}//預前進

inline int go()

switch(direction)

//觸碰邊界

if(next.x==0||next.x==21||next.y==0||next.y==21)

//吃到自己

if(map[next.x][next.y]!=' '&&!(next.x==food.x&&next.y==food.y))

if(length==400)

return 1;

}//吃到食物

inline void eating_food()

}map[next.x][next.y]='@';       //蛇頭位置移動到下一格

map[snake[head].x][snake[head].y]='o';   //原蛇頭處變蛇身

head=(head+1)%400;             //蛇頭下標加1

snake[head].x=next.x;          //蛇頭下標變化

snake[head].y=next.y;

create_food();

update(map,grade,length,autotime);   //重新整理地圖

}inline void eating_fail()

int main()

else

}else

}return 0;

執行效果:

c 實現貪吃蛇

include include include include include include include include include word square color 7 義方向 define key up 72 define key down 80 define key left 75...

貪吃蛇 c 實現

週末無聊,嘗試寫了下貪吃蛇。先上 include include include include include includeusing namespace std define up 72 define down 80 define left 75 define right 77 struct ...

C 實現貪吃蛇

vs 2015 easyx 蛇能上下左右移動 蛇能吃食物 能判斷蛇的死亡 蛇的長度,每節蛇的座標,蛇移動的方向 蛇初始化,移動,改變方向,吃食物,畫蛇,蛇是否死亡 食物的座標,食物是否被吃掉 初始化食物,新的食物,畫食物 因為蛇吃食物時需要知道食物的座標,所以需要獲得食物座標的方法 因為蛇吃食物後需...