C語言貪吃蛇

2021-07-02 02:03:42 字數 2401 閱讀 2895

#include

#include

#include

#include

#include

#include

#define screen_width  40   /*遊戲螢幕寬度*/ 

#define screen_length 15   /*遊戲螢幕長度*/ 

#define start_x 16         /*螢幕起始x座標*/ 

#define start_y 2          /*螢幕起始y座標*/

enum direc;  /*蛇的運動方向*/

typedef struct snakesnake;

typedef structfood;

void hidecursor()         /*隱藏游標,用到了一些console api*/

void gotorood(int x, int y)    /*游標跳躍到某個位置,用了 console api*/

//  sleep()代替delay  sleep(500)表示延遲500ms 

int random(int n)          /*隨機生成食物的位置*/

void buildsnk(snake *head)  /*構造蛇身*/

}void removesnk(snake *head)   /*清除函式*/

}void move(int *d)  //移動方向。。。 上下左右   上:72  下:80 左:75 右:77

else if (ch == 80)

else if (ch == 75)

else if (ch == 77)

}}void iniscreen(snake *head)   /*初始化螢幕*/

gotorood(start_x, start_y + screen_length + 1);

for (i = 0; i < screen_width + 2; i++)

printf("-");

for (j = 1; j <= screen_length; j++)

gotorood(start_x + 20, start_y - 1);

gotorood(0,start_y + 2);

printf("遊戲說明:\n\n↑設定等級\n\n按〖回車〗開始\n\n↑↓←→\n控制方向\n");

/*--------------孵化蛇-------------------*/    

head->x = start_x + screen_width / 2;

head->y = start_y + 8;

head->pre = null;

p1 = head;

i = 0;

while (++i < 3)

p1->next = null;

head->end = p1;

buildbody(head);

}void creatfood(food *fd, snake *snk)  /*做吃的,記得增加乙個功能就是讓食物不與蛇體衝突*/ 

if (clash == 0)

break;

}gotorood(fd->x, fd->y);

printf("*");

}void collisiontest(snake *head)

int eated(snake *head, food *fd)            /*....有木有吃到食物*/

int gameover(snake *head)      /*判斷遊戲結束了沒.*/

return 0;

}void gameing()   /*遊戲過程*/

else if (rank == 13)

break; 

}while (1)   

if (!eat)    /*如果沒吃到,那自然增加蛇的長度*/

else

head->pre = ptemp;          /*。。佇列連線*/

ptemp->next = head;

ptemp->pre = null;

head = ptemp;

if (eat = eated(head, fd))  

gotorood(start_x + 10, start_y - 1);

printf("score: %-3d", score);

}if (gameover(head))   /*遊戲是否結束....*/

collisiontest(head);   /*碰撞測試*/

buildsnk(head);

sleep((10 - grade) * 50);  /*延時...程式會暫停(10 - grade)*50ms 的時間, windows.h裡的函式*/}} 

int main()

C語言 貪吃蛇

include include include define framewidght 22 define frameheight 22 short generaterandnumber short a,short b void posconsolecursor short x,short y voi...

C語言貪吃蛇

親測devc 編譯器完美執行 define crt secure no warnings include include include include void readini file fphead,int score,char argv 建立或開啟乙個和執行檔案對應的ini檔案,讀取最高紀錄 ...

C語言 貪吃蛇

結構體鍊錶,動態分配記憶體,鍵盤輸入檢測,設定游標。1,涉及多個結構體,分別定義蛇,方向,結點,位置座標,遊戲 2,結點串聯形成鍊錶,遍歷獲取成員座標,列印符號得到蛇身。3,不斷的加頭,去尾,重新遍歷座標,再列印形成蛇的移動。4,食物產生的位置判定,不能越界,也不能與蛇身體重合。5,蛇的轉向判定,一...