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