今天週末,閒來無事,看到網友的問題,需要c語言版的貪吃蛇。於是就坐下來寫乙個c語言控制台版的,開發軟體使用的是vsual studio 2019 。整個程式只有乙個tanchishe.c檔案,編譯生成tanchishe.exe,然後在windows環境直接開啟可以進入遊戲。
//author: hengda
//date: 2023年4月19日
#include
//引入所需標頭檔案
#include
//字串
#include
#include
#include
#include
#define span_width 48
//蛇可運動區域寬度
#define span_height 32
//蛇可運動區域高度
#define game_width span_width+2+1
//畫面寬度(+2是兩邊圍牆 +1是行尾換行符)
#define game_height span_height+2
//畫面高度(+2是上下圍牆)
#define speed_level_diff_speed 100
//速度等級之間的的速度差
typedef
struct body_node body_node;
char spanarr[game_height]
[game_width]=;
// 儲存整個畫面
body_node* snakep =
null
;//蛇頭指標,蘋果
'o',snakeimage =
'@',emptyimage=
' ', direction =
'r';
//蘋果圖示,蛇圖示,空區域圖示,預設運動方向(l r u d)
unsigned
int score =0;
char info[9]
[60]=
;void
setspancharbyxy
(int x,
int y,
char c)
//+1原因是有邊框
char
getspancharbyxy
(int x,
int y)
//+1原因是有邊框
void
init_sanke()
void
free_snake()
free
(p);
p =null;}
void()
setspancharbyxy;}
void
(void
poptail()
;setspancharbyxy
(p->next->x, p->next->y, emptyimage)
;free
(p->next)
; p->next =
null;}
intsnake_step
(int nextx,
int nexty)
else
return1;
}int
snake_move_by_drection
(char direction)
char
get_direction()
}return direction;
}void
display()
void
int_span()
else
if(i == game_width -1)
else
}void
display_info()
}int
main
(int argc,
char
* ar**)
}}return0;
}
C語言控制台貪吃蛇
貪吃蛇 這個蛇是怎麼變長的.遊戲就是方塊和空格的更新 沒有牆的地方初始化為0,有牆的地方初始化為1,有蛇的地方初始化為2,食物初始化為3 所有的操作都在snakegroup裡面進行 include include include include include include include con...
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 ...
C 控制台貪吃蛇
大二下的遊戲程式設計第乙個小作業,以此篇記錄一下,感謝李仕老師的循循善誘和同學們的熱情討論。include include include using namespace std define leftborder 3 define topborder 3 bool gameover,died 遊戲...