《貪吃蛇遊戲程式設計》C語言控制台字元介面版

2021-10-05 05:50:45 字數 1966 閱讀 5691

今天週末,閒來無事,看到網友的問題,需要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 遊戲...