有空再新增注釋,並且重構優化;時間足夠的情況下會使用其他語言,並增加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...