簡易貪食蛇 C語言實現

2021-08-07 20:33:25 字數 1949 閱讀 2325

有空再新增注釋,並且重構優化;時間足夠的情況下會使用其他語言,並增加gui。

#include #include #include #include #include #include #define n 21

char score[3];

char tail[3];

void gotoxy(int x, int y) //輸出座標

void color(int b) //顏色函式

int block(char head[2]) //判斷出界

int eat(char snake[2]) //吃了蘋果

return 0;

}void draw(char **snake, int len) //蛇移動

gotoxy(tail[1] * 2, tail[0]);

if (tail[2])

else

printf("■");

gotoxy(snake[0][1] * 2, snake[0][0]);

color(14);

printf("★");

color(11);

putchar('\n');

}char** move(char **snake, char dirx, int *len) //控制方向

if (full)

else

tail[2] = 0;

return snake;

}void init(char plate[n+2][n+2], char ***snake_x, int *len) //初始化

for (i = 1; i <= n; ++i)

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

plate[i][j] = 1;

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

}putchar('\n');

} for (i = 0; i < (*len); ++i)

putchar('\n');

*snake_x = snake;

}void manual()

int file_in() //取記錄的分數

if((score[1] = fgetc(fp)) != eof);

else

score[1] = 0;

return 0;

}int file_out() //存資料

if((fp = fopen("c:\\tcs.txt","w+")) == null)

if(fputc(--score[0],fp)==eof)

printf("輸出失敗\n");

gotoxy(10,10);

color(12);

puts("恭喜您打破記錄");

gotoxy(0,n+2);

return 0;

}void free(char **snake, int len) //釋放空間

int main(void)

}; char **snake;

srand((unsigned)time(null));

color(11);

file_in();

init(a, &snake, &len);

manual();

while (ch != 0x1b) // 按 esc 結束

sleep(200-score[3]*10);

setbuf(stdin, null);

if (kbhit())

snake = move(snake, ch, &len);

if (block(snake[0])==1)

}free(snake, len);

exit(0);

}

簡易貪食蛇C語言

ifndef snake h define snake h include include include include linux執行緒,編譯檔案需鏈結 lpthread include define max 100 最大長度 define w 40 遊戲介面寬 define h 20 遊戲介面...

C語言 實現貪食蛇遊戲

參照部落格 貪食蛇的c語言實現 的圖形介面,用了大概一天的時間我也寫了乙個簡單版的貪食蛇,能玩。遊戲截圖 1 呼叫windows api 解決畫圖問題 2 初始化畫出圍牆,蛇身體 3 隨機種子產生食物座標 4 非阻塞鍵盤監聽,獲取鍵盤輸入,控制蛇身體移動方向,計算座標 5 實現蛇身體移動,這裡我參照...

C語言實現貪食蛇遊戲

2020 6 18 include include include include include include const int height 20 地圖的高 const int length 20 地圖的長 char map height length 遊戲地圖 int key 按鍵儲存 i...