//蛇的狀態,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 遊戲...