#define __snake_h_
#include
#include
#include
#include //linux執行緒,編譯檔案需鏈結 -lpthread
#include
#define max 100//最大長度
#define w
40//遊戲介面寬
#define h
20//遊戲介面高
#define head
'@'//頭形狀
#define food
'o'//食物和身體形狀
#define tail
'*'//尾巴形狀
#define up
1//方向
#define down
2#define left
3#define right
4char board[w][h] = {};
//遊戲介面用二維陣列表示
struct node_t ;
struct snake_t ;
struct snake_t *snake_init(int x, int y, int speed);
//初始化
void *snake_run(void *arg);
//執行函式
void snake_del(struct snake_t *snake);
//鍊錶銷毀函式
#endif
#include "snake.h"
struct snake_t *snake_init(int x, int y, int speed)
/*新增乙個節點*/
void add_node(struct snake_t **snake, int x, int y)
/*畫遊戲介面*/
void drawboard(struct snake_t *snake)
for (j = 1; j <= h; j++)
printf("\n");}}
/*隨機乙個座標*/
void food(void)
/*檢測目前介面中有無食物,沒有隨機放置*/
int set_food(void)
}food();
return 0;
}/*移動*/
void move(struct snake_t *snake, int dir)
else if ((board[tail->x][tail->y + snake->step] == 1 || board[tail->x][tail->y - snake->step] == 1)
&& (dir == up || dir == down))
}else if (dir == up || dir == down)}}
else }}
}/*獲取按鍵資訊*/
int getinput(void)
/*按鍵處理*/
void *key_handler(void *arg)
break;
case 'l':
if (snake->dir != left)
break;
case 'j':
if (snake->dir != up)
break;
case 'k':
if (snake->dir != down)
break;
case 'q':
snake->quit = 1;
}usleep(1000);}}
/*檢測遊戲執行狀態*/
void dead_check(void *arg)
else}}
}void *snake_run(void *arg)
}void snake_del(struct snake_t *snake)
int main(void)
else
flag = 0;
if (snake->num == max)
printf("\033[11;60h you win\n");
usleep(10000);
}printf("\033[%d;1h", h + 1);
snake_del(snake);
system("stty echo icanon");
return 0;
}
簡易貪食蛇 C語言實現
有空再新增注釋,並且重構優化 時間足夠的情況下會使用其他語言,並增加gui。include include include include include include define n 21 char score 3 char tail 3 void gotoxy int x,int y 輸出座...
貪食蛇程式
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 ...
貪食蛇設計
為什麼叫能走蛇 當我剛知道自己要寫一條這樣的蛇時,我的心情是十分複雜的,之所以叫這個名字,是因為這條蛇只有乙個功能,即聽從玩家的命令,在迷宮內四處走動。怎麼寫出能走蛇 那這條靈活 其實很笨拙 的蛇是如何誕生出世的呢?先寫乙個總控偽 出來,採用自頂向下的思想,一步一步解決具體檔案。頭部如下 一點小總結...