#define n 200
#include #include #include #define left 0x4b00
#define right 0x4d00
#define down 0x5000
#define up 0x4800
#define esc 0x011b
int i,key;
int score=0;/*得分*/
int gamespeed=50000;/*遊戲速度自己調整*/
struct food
food;/*食物的結構體*/
struct snake
snake;
void init(void);/*圖形驅動*/
void close(void);/*圖形結束*/
void drawk(void);/*開始畫面*/
void gameover(void);/*結束遊戲*/
void gameplay(void);/*玩遊戲具體過程*/
void prscore(void);/*輸出成績*/
/*主函式*/
void main(void)
/*圖形驅動*/
void init(void)
/*開始畫面,左上角座標為(50,40),右下角座標為(610,460)的圍牆*/
void drawk(void)
for(i=40;i<=450;i+=10) }
/*玩遊戲具體過程*/
void gameplay(void)
if(food.yes==0)/*畫面上有食物了就要顯示*/
for(i=snake.node-1;i>0;i--)/*蛇的每個環節往前移動,也就是貪吃蛇的關鍵演算法*/
/*1,2,3,4表示右,左,上,下四個方向,通過這個判斷來移動蛇頭*/
switch(snake.direction)
for(i=3;i595||snake.y[0]<55||
snake.y[0]>455)/*蛇是否撞到牆壁*/
if(snake.life==1)/*以上兩種判斷以後,如果蛇死就跳出內迴圈,重新開始*/
break;
if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以後*/
setcolor(4);/*畫出蛇*/
for(i=0;irectangle(snake.x[i],snake.y[i],snake.x[i]+10,
snake.y[i]-10);
delay(gamespeed);
setcolor(0);/*用黑色去除蛇的的最後一節*/
rectangle(snake.x[snake.node-1],snake.y[snake.node-1],
snake.x[snake.node-1]+10,snake.y[snake.node-1]-10);
} /*endwhile(!kbhit)*/
if(snake.life==1)/*如果蛇死就跳出迴圈*/
break;
key=bioskey(0);/*接收按鍵*/
if(key==esc)/*按esc鍵退出*/
break;
else
if(key==up&&snake.direction!=4)
/*判斷是否往相反的方向移動*/
snake.direction=3;
else
if(key==right&&snake.direction!=2)
snake.direction=1;
else
if(key==left&&snake.direction!=1)
snake.direction=2;
else
if(key==down&&snake.direction!=3)
snake.direction=4;
}/*endwhile(1)*/
}/*遊戲結束*/
void gameover(void)
/*輸出成績*/
void prscore(void)
/*圖形結束*/
void close(void)
貪食蛇的程式
無聊,分析了乙個用c語言寫的貪食蛇的程式。寫的非常簡練,就是函式的名字起得不是很好。include include define kuan 20 地圖的大小 int iz kuan kuan 地圖 struct jiedian 蛇的結點位置,使用鍊錶結構來儲存蛇身上各結點的位置 point ptsh...
貪食蛇設計
為什麼叫能走蛇 當我剛知道自己要寫一條這樣的蛇時,我的心情是十分複雜的,之所以叫這個名字,是因為這條蛇只有乙個功能,即聽從玩家的命令,在迷宮內四處走動。怎麼寫出能走蛇 那這條靈活 其實很笨拙 的蛇是如何誕生出世的呢?先寫乙個總控偽 出來,採用自頂向下的思想,一步一步解決具體檔案。頭部如下 一點小總結...
小遊戲,貪食蛇
include include include include struct coor struct snake handle hconsole getstdhandle std output handle 獲取標準輸出控制代碼 int food x,food y 食物座標 int score 0 ...