C 案例 貪吃蛇

2021-10-02 10:23:03 字數 1946 閱讀 3522

牆壁;蛇;食物

牆壁模組

#pragma once

#include

#include

#include

#include

using

namespace std;

class

wall

;//初始化牆壁

void

wallinit()

;//顯示牆壁

void

showwall()

;//設定牆壁內同

void

setwall

(int x,

int y,

char c)

;//檢視牆壁內容

char

getwall

(int x,

int y)

;char gamearry[row]

[col];}

;

蛇模組

#pragma once 

#include

"wall.h"

#include

"food.h"

class

snake

;struct node

;snake

(wall &wall,food &food)

;//初始化蛇

void

snakeinit()

;//銷毀蛇

void

destroy()

;//增加節點

void

addnode

(int x,

int y)

;//刪除尾節點節點

void

deletenode()

;//移動

bool

move

(char key)

; node* phead;

wall &wall;

food &food;

bool isround;

};

食物模組

#pragma once 

#include

"wall.h"

class

food

;

主函式

#include

"wall.h"

#include

"snake.h"

#include

"food.h"

#include

#include

#include

handle hout2 =

getstdhandle

(std_output_handle)

;//定義顯示器控制代碼變數,並且這個只能在每個標頭檔案中單獨定義控制代碼和函式,否則無效

void

gotoxy2

(handle hout2,

int x,

int y)

//其中x,y是與正常理解相反的,注意區分

//游標定位函式

intmain()

else

prekey = key;

//儲存上一次的輸入

if(snake.

move

(key)

==true

)else

}else

}while(!

kbhit()

);//沒有鍵盤輸入一直返回1

}while(1

);return0;

}

.cpp具體實現見原始碼

貪吃蛇案例 c

wall.h pragma once ifndef wall head define wall head include using namespace std class wall 初始化牆壁 void initwall 畫出強牆壁 void drawwall 根據索引設定二維陣列裡的內容 voi...

貪吃蛇案例

貪吃蛇大戰 開始暫停 重新整理分數 wrap div1 btn1 btn2 btn3 btn4 建立地圖 var map 01 建立食物 var food 01 建立蛇 var snake 01 var times 0 var speed prompt 請選擇適合自己的速度程度 1,2,3 if s...

貪吃蛇案例

html food.js 食物函式 function window var arr food.prototype.init function map food.prototype.render function map function remove 頭和身體的縱座標是一樣的 把資料放在物件裡,用的...