牆壁;蛇;食物
牆壁模組
#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 頭和身體的縱座標是一樣的 把資料放在物件裡,用的...