91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

走迷宮的游戲。包括迷宮的隨機(jī)創(chuàng)建和控制移動(dòng)等。含VC6源代碼,并且代碼里面的注釋很詳細(xì)(編譯前請(qǐng)自己安裝EasyX庫(kù))

資源截圖

代碼片段和文件信息

///////////////////////////////////////////////////
//?程序名稱(chēng):迷宮?游戲
//?編譯環(huán)境:Visual?C++?6.0,EasyX?2011驚蟄版
//?作  者:krissi?
//?最后修改:2011-3-12
//
#include?
#include?
#include?



//////////////////////////////////////////////////////
//?定義全局變量
//
BYTE** g_imgMap?=?NULL; //?迷宮地圖
SIZE g_szMap; //?迷宮地圖的尺寸
IMAGE g_imgSight(360?280); //?游戲的視野
RECT g_rtSight; //?游戲的視野的范圍
IMAGE g_imgItem(180?20); //?地圖元素
IMAGE g_imgGPS; //?迷你地圖,用于顯示游戲者在地圖中的位置
POINT g_ptGPS; //?迷你地圖的顯示位置
SIZE g_szGPS; //?迷你地圖的尺寸
POINT g_ptPlayer; //?游戲者的位置

//?枚舉地圖元素,兼做元素位置的?x?坐標(biāo)
enum?MAPITEM?{?MAP_WALL?=?0?MAP_Player?=?20?MAP_GROUND?=?40?MAP_MARKRED?=?60?MAP_MARKGREEN?=?80?MAP_MARKYELLOW?=?100?MAP_ENTRANCE?=?120?MAP_EXIT?=?140?MAP_OUTSIDE?=?160?};
//?枚舉用戶的控制命令
enum?CMD?{?CMD_QUIT?=?1?CMD_UP?=?2?CMD_DOWN?=?4?CMD_LEFT?=?8?CMD_RIGHT?=?16?CMD_MARKRED?=?32?CMD_MARKGREEN?=?64?CMD_MARKYELLOW?=?128?CMD_CLEARMARK?=?256?};



//////////////////////////////////////////////////////
//?函數(shù)聲明
//
void Welcome(); //?繪制游戲界面
void InitImage(); //?初始化游戲圖片
void InitGame(); //?初始化游戲數(shù)據(jù)
void GetMazeSize(); //?提示用戶輸入迷宮大小
void MakeMaze(int?width?int?height); //?生成迷宮:初始化(注:寬高必須是奇數(shù))
void TravelMaze(int?x?int?y); //?生成迷宮:遍歷?(x?y)?四周
MAPITEM GetMazeItem(int?x?int?y); //?獲取指定坐標(biāo)的迷宮元素
void Paint(); //?繪制視野范圍內(nèi)的迷宮
int GetCmd(int*?c); //?獲取用戶輸入的命令
void DispatchCmd(int?cmd); //?處理用戶輸入的命令
void OnUp(); //?向上移動(dòng)
void OnLeft(); //?向左移動(dòng)
void OnRight(); //?向右移動(dòng)
void OnDown(); //?向下移動(dòng)
void OnMark(MAPITEM?value); //?在地圖中做標(biāo)記
bool CheckWin(); //?檢查是否到出口
bool Quit(); //?詢問(wèn)用戶是否退出游戲



//////////////////////////////////////////////////////
//?函數(shù)定義
//


//?主程序
void?main()
{
//?初始化
initgraph(640?480); //?創(chuàng)建繪圖窗口
srand((unsigned)time(NULL)); //?設(shè)置隨機(jī)種子

//?顯示主界面
Welcome();

//?初始化
InitImage();
InitGame();

//?游戲過(guò)程
int?c;
while(?!((GetCmd(&c)?==?CMD_QUIT)?&&?Quit())?)
{
DispatchCmd(c);
Paint();
if?(CheckWin())
break;

//?延時(shí)
Sleep(100);
}

//?清理迷宮地圖占用的內(nèi)存
for(int?x?=?0;?x? delete[]?g_imgMap[x];
delete?[]?g_imgMap;

//?關(guān)閉圖形模式
closegraph();
}


//?繪制游戲界面
void?Welcome()
{
//?繪制漸變色外框
for(int?i=0;?i<128;?i++)
{
setcolor(RGB(0?0?(127?-?i)?< rectangle(149?-?i?109?-?(i?>>?1)?490?+?i?370?+?(i?>>?1));
}

//?設(shè)置字體樣式
setcolor(WHITE);
setbkmode(TRANSPARENT);

//?繪制標(biāo)題
setfont(36?0?“宋體“);
outtextxy(248?40?“迷  宮“);

//?繪制操作說(shuō)明
setfont(12?0?“宋體“);
outtextxy(50?382?“控制說(shuō)明:“);
outtextxy(74?400?“方向鍵或?A/S/D/W:移動(dòng)“);
outtextxy(74?418?“空格、Y、G:在地圖上做紅、黃、綠色?M?標(biāo)記“);
outtextxy(74?436?“C:清除地圖上的標(biāo)記“);
outtextxy(74?454?“ESC:退出程序“);
}


//?初始化游戲圖片
void?InitImage()
{
//?預(yù)繪制游戲圖片到?IMAGE?緩存(可以修改為加載圖片以獲得更好效果)
SetWorkingImage(&g_imgItem);
cleardevice();
//?繪制?Player
setorigin(MA

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????12356??2011-05-31?15:08??main.cpp
?????文件????????4260??2011-05-31?15:10??Maze.dsp
?????文件?????????532??2011-05-31?15:09??Maze.dsw
?????文件???????90112??2011-05-31?15:10??Maze.exe
?????目錄???????????0??2011-05-31?15:10??Release\
?????文件???????90112??2011-05-31?15:10??Release\Maze.exe

評(píng)論

共有 條評(píng)論

相關(guān)資源