控制台造之一 貪吃蛇

2022-08-16 03:09:11 字數 2483 閱讀 9845

用前面控制台控制代碼的知識後大概就搞得懂貪吃蛇之類的控制台小遊戲是幾個意思了,雖然看起來還是一坨哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

codeblocks通過:

#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]) //

吃了蘋果

return0;

}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

;

;2] = 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

;

return0;

}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

);

return0;

}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);

}

貪吃蛇 控制台

本文把遊戲區域就行編號,第一行從0到width 1,到height 1 到 width height 1 二維陣列 並用trace len 陣列儲存snake移動的軌跡 儲存的是數值,數值就能表現出所在的行和列 trace 0 始終為snake的頭部 根據display 函式繪圖,延時,在繪圖,達到...

控制台版貪吃蛇

include include include include include 地圖大小 define map size 20 全域性螢幕輸出快取區控制代碼 handle g houtput 地圖屬性 struct mapnode s nodetype e type 全域性地圖資料 mapnode ...

C 控制台貪吃蛇

軟體實訓作品,現放出個人源 供需要的同學參考 int startx 8 x起點 const int starty 4 y起點 const int rangex 60 x範圍 const int rangey 20 y範圍 const int endx startx rangex x終點 const ...