小時候經常玩的貪吃蛇遊戲

2021-10-05 23:56:41 字數 2509 閱讀 2093

二;源**

三;執行結果

蛇 食物 地圖

void

init()

snake.num =3;

snake.direction = right;

food()

;}

蛇 我們要用到資料 資料首先得存

變數 陣列 結構體

蛇 一節一節的軀幹 用圖形畫出來

每一節軀幹都是一樣的 長得一毛一樣

有什麼不一樣? 位置不一樣 陣列存什麼?

int a[100]=; //位置是x,y

結構體食物自己長在地上 隨機的 隨機數

a[1]=a[0] 001 蛇的每一節被後一節代替

void

draw()

//畫食物

fillrectangle

(foodxy.x, foodxy.y, foodxy.x +

10, foodxy.y +10)

;}

蛇的移動 通過什麼?鍵盤

繪蛇和食物graphics.h

迴圈以上

void

move()

switch

(dir = snake.direction)

}

判斷遊戲的結束 蛇自食 蛇撞牆

我們沒按鍵的時候 蛇動不動?

_getch()阻塞式 _kbhit()非阻塞 有按鍵它的返回值就非0 鍵盤監聽

無按鍵它的返回值就是0

while(_kbhit()) 當鍵盤沒有按的時候

void

over()

for(

int i =

1; i < snake.num; i++)if

(snake.xy[0]

.x == snake.xy[i]

.x&&snake.xy[0]

.y == snake.xy[i]

.y)}

我們要通過按鍵改變蛇的方向

#include

#include

//按鍵

#include

//畫蛇專用

#include

//隨機種子 隨機數

#include

#include

#pragma comment(lib,"winmm.lib")

#define max 100

typedef

struct

place;

//位置

struct mysnake//蛇

snake;

place foodxy;

//食物位置

enum direction

;//函式宣告 函式原型

char dir;

//上一次方向

void

init()

;//初始化

void

food()

;//生成食物

void

keydown()

;//蛇頭動向

void

move()

;//移動蛇

void

draw()

;//繪蛇和食物

void

eat();

//蛇恰飯

void

over()

;//遊戲結束判斷

void

run();

//執行

intmain()

void

init()

snake.num =3;

snake.direction = right;

food()

;}void

keydown()

}void

move()

switch

(dir = snake.direction)

}void

draw()

//畫食物

fillrectangle

(foodxy.x, foodxy.y, foodxy.x +

10, foodxy.y +10)

;}void

food()

}void

eat()}

void

over()

for(

int i =

1; i < snake.num; i++)if

(snake.xy[0]

.x == snake.xy[i]

.x&&snake.xy[0]

.y == snake.xy[i]

.y)}

void

run(

)//當蛇往右走的時候 按了wa

簡單的貪吃蛇遊戲實現

貪吃蛇功能實現 1 定義貪吃蛇遊戲棋盤圖 2 初始化棋盤 3 輸出棋盤所在資訊 3 選擇遊戲難度 4 隨機產生食物 5 更新遊戲動態 6 設定遊戲相應的操作 7 列印遊戲結果 實現 include include include include include include include usi...

字元遊戲貪吃蛇的嘗試

老師要我們做乙個字元版的貪吃蛇遊戲 於是我就做了乙個很簡陋的貪吃蛇。這個貪吃蛇非常簡陋,連動起來都要乙個鍵乙個回車才能完成。雖然非常的簡陋,但是 我了解字元遊戲 學會了自頂向下的設計方法 偽 如何寫演算法 以及函式抽象過程寫遊戲。一開始寫的時候 有很多困難 需要想很多步驟,後來我細化問題,將問題分解...

VC版的貪吃蛇遊戲

學c 的時候,課程設計編寫了c 版的貪吃蛇遊戲,當時,將很多的東西都分裝在了snake類中,所以,將其移植到vc中,只需將snake類稍作修改,然後新增到vc中即可。此處,我感受到復用性的好處,將與顯示或平台無關的東西分裝在一起,如果能進一步抽象的盡量抽象,就可以充分發揮其復用性。具體的關於snak...