閒話不多說,直接上**
#include
"stdio.h"
#include
"windows.h"
#include
"stdbool.h"
/*座標系
-------------> y||
|||x */
/*按鍵:移動: 8
4 5 6
9:暫停
*/#define x 20
#define y 70
#define wait_time 700
//移動一次需要的時間
enum
;//對食物進行標記
enum
;int map[x]
[y];
int score=0;
typedef
struct
pose;
typedef
struct
shake;
shake shake;
//製作步驟差不多如下
void
init()
;//2
void
map();
//1
void
goxy()
;//3
void
shakegrape()
;//4
void
move()
;//5
void
key();
//6void
foods()
;//7
intfoodcheck
(int x,
int y)
;//8
intisgameover()
;//9
void
show()
;//10
void
read()
;//11
intmain
(void)if
(map[shake.pose[0]
.x][shake.pose[0]
.y]==food1)
else
if(map[shake.pose[0]
.x][shake.pose[0]
.y]==food2)
}return0;
}void
init()
//初始化
;//清除游標
setconsolecursorinfo
(getstdhandle
(std_output_handle)
,&cursor_info)
; shake.len =4;
shake.pose[0]
.x =x/2;
shake.pose[0]
.y =y/2;
for(i=
0;i) shake.direction =down;
}void
map(
)for
(y=0
;y)/*********************====*/
for(x=
0;x)//給圍牆填充圖形
else
}printf
("\n");
}}void
goxy
(int x,
int y)
//移動游標到指定位置
;setconsolecursorposition
(getstdhandle
(std_output_handle)
,position);}
void
shakegrape()
//蛇的身體
}void
move()
switch
(shake.direction )
if(shake.eatfood )
}void
key(
)switch
(keys)}}
void
foods()
while(!
foodcheck
(x,y));
k=rand()
%5;goxy
(x,y);if
(k==4)
//隨機食物
else
}int
foodcheck
(int x,
int y)
//檢查食物位置是否合規
for(i=
0;ireturn1;
}int
isgameover()
for(i=
2;i)//咬到蛇身
}return0;
}void
show()
void
read()
C語言 貪吃蛇遊戲
相信每個人都接觸過貪吃蛇遊戲,而對於學習c語言的同學來說,一開始是不是覺得c語言寫不出什麼東西來呢?那麼,貪吃蛇應該是第一步,開始了解一些模組化的知識,一些物件導向的思想,一些小專案的編寫。效果 通過 wasd 移動蛇,蛇能夠吃隨機產生的食物,並且變長。基本實現 用兩個陣列snakex,snakey...
C語言 貪吃蛇遊戲
該遊戲不依賴tc環境,任何第三方庫,可以在vc 6.0 vs c free等常見ide中編譯通過。設計貪吃蛇遊戲的主要目的是讓大家夯實c語言基礎,訓練程式設計思維,培養解決問題的思路,領略多姿多彩的c語言。遊戲開始後,會在中間位置出現一條只有三個節點的貪吃蛇,並隨機出現乙個食物,如下圖所示 圖1 遊...
C語言 貪吃蛇遊戲
需要注意的是,在函式命名的時候要注意清晰明了,還有就是注意模組的劃分要清晰,該是哪個模組的任務就由哪個模組去做,不要混亂結果,打個比方,如蛇身的繪畫,可以是snake模組的任務,但是在實際設計上,繪畫並不是蛇本身的屬性,他應該是view模組的任務,這樣這是為了保證資料和操作相互隔離,分工明確。所以在...