c語言貪吃蛇遊戲(可執行)控制台介面

2021-10-02 02:50:10 字數 3805 閱讀 1535

//蛇的狀態,u:上 ;d:下;l:左 r:右

typedef

struct snake //蛇身的乙個節點

snake;

//全域性變數//

int score=

0,add=10;

//總得分與每次吃食物得分。

int status,sleeptime=

200;

//每次執行的時間間隔

snake *head,

*food;

//蛇頭指標,食物指標

snake *q;

//遍歷蛇的時候用到的指標

int endgamestatus=0;

//遊戲結束的情況,1:撞到牆;2:咬到自己;3:主動退出遊戲。

//宣告全部函式//

void

pos();

void

creatmap()

;void

initsnake()

;int

biteself()

;void

createfood()

;void

cantcrosswall()

;void

snakemove()

;void

pause()

;void

gamecircle()

;void

welcometogame()

;void

endgame()

;void

gamestart()

;void

pos(

int x,

int y)

//設定游標位置

void

creatmap()

//建立地圖

for(i=

1;i<

26;i++

)//列印左右邊框

}void

initsnake()

//初始化蛇身

while

(tail!=

null

)//從頭到為,輸出蛇身

}int

biteself()

//判斷是否咬到了自己

self=self->next;

}return0;

}void

createfood()

//隨機出現食物

food_1->y=

rand()

%24+1

; q=head;

while

(q->next==

null

) q=q->next;

}pos

(food_1->x,food_1->y)

; food=food_1;

printf

("■");

}void

cantcrosswall()

//不能穿牆

}void

snakemove()

//蛇前進,上u,下d,左l,右r

score=score+add;

createfood()

;}else

//如果沒有食物//

pos(q->next->x,q->next->y)

;printf

(" ");

free

(q->next)

; q->next=

null;}

}if(status==d)

score=score+add;

createfood()

;}else

//沒有食物

pos(q->next->x,q->next->y)

;printf

(" ");

free

(q->next)

; q->next=

null;}

}if(status==l)

score=score+add;

createfood()

;}else

//沒有食物

pos(q->next->x,q->next->y)

;printf

(" ");

free

(q->next)

; q->next=

null;}

}if(status==r)

score=score+add;

createfood()

;}else

//沒有食物

pos(q->next->x,q->next->y)

;printf

(" ");

free

(q->next)

; q->next=

null;}

}if(biteself()

==1)//判斷是否會咬到自己

}void

pause()

//暫停}}

void

gamecircle()

//控制遊戲

elseif(

getasynckeystate

(vk_down)

&& status!=u)

elseif(

getasynckeystate

(vk_left)

&& status!=r)

elseif(

getasynckeystate

(vk_right)

&& status!=l)

elseif(

getasynckeystate

(vk_space)

)elseif(

getasynckeystate

(vk_escape)

)elseif(

getasynckeystate

(vk_f1))}

}elseif(

getasynckeystate

(vk_f2))}

}sleep

(sleeptime)

;snakemove()

;}}void

welcometogame()

//開始介面

void

endgame()

//結束遊戲

else

if(endgamestatus==2)

else

if(endgamestatus==3)

pos(24,

13);printf

("您的得分是%d\n"

,score)

;exit(0

);}void

gamestart()

//遊戲初始化

intmain()

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 遊戲...