題目
貪吃蛇遊戲這種題型考驗的還是思路與工程能力,慢慢來。撞牆會死,咬自己會死。
隨著長度的增加會加速。
注:本文要用的變數基本都在每個函式都用,故用的全域性變數,未使用指標先做標頭檔案 < 我用的vs2019編譯器 >
#ifndef _game_
#define _game_
#include
#include
#include
#include
#pragma warning(disable:4996)
struct snake a[
100]
;void
init()
;void
game()
;void
food()
;void
turn()
;void
move()
;void
show()
;void
check()
;void
welcome()
;#endif
// !_game_
主函式:#include
"snack.h"
intmain()
}printf
("byebye!!\n");
return0;
}void
welcome()
功能函式:#include
"snack.h"
int dx[4]
=;//a:0 s:1 d:2 w:3
int dy[4]
=;int sum =5;
//蛇總長度
int over =0;
//是否死亡
int speed;
//重新整理速度
char map[17]
[17];
void
game()
void
init()
//初始化介面
a[0].x =
1; a[0]
.y =1;
//地圖左上角設定一條長度為5的蛇
a[1].x =
1; a[1]
.y =2;
a[2].x =
1; a[2]
.y =3;
a[3].x =
1; a[3]
.y =4;
a[4].x =
1; a[4]
.y =
5; a[4]
.dir =1;
for(i =
0; i <
17; i++)}
for(i =
1; i <
16; i++)}
map[a[4]
.x][a[4]
.y]=
'y';
//設定蛇頭
for(i =
0; i < sum -
1; i++
)food()
;}void
check()
//檢查是否死亡或者吃到食物
map[8]
[4]=
'g'; map[8]
[5]=
'a'; map[8]
[6]=
'm'; map[8]
[7]=
'e';
//輸出「game over」
map[8]
[9]=
'o'; map[8]
[10]=
'v'; map[8]
[11]=
'e'; map[8]
[12]=
'r';
system
("cls");
for(i =
0; i <
17; i++
)printf
("\n");
}printf
("input '1' to again>\ninput '0' to quit>\n");
over =1;
}}else
if(map[x]
[y]==
'o')
}void
food()
//生成食物}}
void
show()
//顯示介面
printf
("\n");
}while(1
)else
if(ch ==
'1')
else}}
system
("cls");
//清屏
for(i =
0; i <
17; i++
)printf
("\n");
}}}void
turn()
//轉彎}}
void
move()
//蛇移動
else
map[a[i]
.x][a[i]
.y]=
'i';
//把地圖上蛇身座標處的字元設定成『i』
} a[sum -1]
.x = a[sum -1]
.x + dx[a[sum -1]
.dir]
;//蛇頭按當前方向移動一格
a[sum -1]
.y = a[sum -1]
.y + dy[a[sum -1]
.dir]
; map[a[sum -1]
.x][a[sum -1]
.y]=
'y';
//把地圖上蛇頭座標處的字元設定成『y』
}else
}
C語言貪吃蛇
include include include include include include define screen width 40 遊戲螢幕寬度 define screen length 15 遊戲螢幕長度 define start x 16 螢幕起始x座標 define start y ...
C語言 貪吃蛇
include include include define framewidght 22 define frameheight 22 short generaterandnumber short a,short b void posconsolecursor short x,short y voi...
C語言貪吃蛇
親測devc 編譯器完美執行 define crt secure no warnings include include include include void readini file fphead,int score,char argv 建立或開啟乙個和執行檔案對應的ini檔案,讀取最高紀錄 ...