资源简介
迷宫 程序开始运行时显示一个迷宫地图,迷宫中央有一老鼠。迷宫的右下方有一粮仓。游戏任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。为了增加游戏的趣味性,在迷宫的路上设置若干门,一次通过后即锁上
代码片段和文件信息
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
// 嗨!我是王晓钰。
// 我的E-mail是:XiaoYu.wang@263.net 有问题可以发邮件或在网站上留言
// 欢迎你访问我的个人主页:“笑语小园”http://xiaoyu.2699.comn
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
// 二○○○年七月
// 让我们继续看我的程序。
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
#include
//#include “resource.h“
// 框架窗口类
class CMyWnd: public CframeWnd
{
CRect m_rectBody;
public:
CMyWnd()
{
srand((unsigned)time(NULL));
m_nX = 10;
m_nY = 10;
m_nWidth = 22;
m_nHeight = 22;
for(int i=0; i<20; i++)
for(int j=0; j<20; j++)
{
m_nMaze[i][j] = rand()%2;
if(m_nMaze[i][j])m_nMaze[i][j]=rand()%2;
}
for(int i=0; i<20; i++)
{
m_nMaze[ 0][ i] = 1;
m_nMaze[19][ i] = 1;
m_nMaze[ i][ 0] = 1;
m_nMaze[ i][19] = 1;
}
m_nMaze[18][18]=0;
}
protected:
afx_msg void onkeydown(UINT nChar UINT nRepCnt UINT nFlags);
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
private:
int m_nHeight;
int m_nWidth;
int m_nMaze[20][20];
int m_nY;
int m_nX;
};
// 消息映射
BEGIN_MESSAGE_MAP(CMyWnd CframeWnd)
ON_WM_KEYDOWN()
ON_WM_PAINT()
END_MESSAGE_MAP()
// 框架窗口类的成员函数
void CMyWnd::onkeydown(UINT nCharUINT nRepCntUINT nFlags )
{
InvalidateRect(m_rectBody TRUE);
switch(nChar)
{
case VK_UP:
if(m_nMaze[m_nX][m_nY-1]==0)
m_nY--;
break;
case VK_DOWN:
if(m_nMaze[m_nX][m_nY+1]==0)
m_nY++;
break;
case VK_LEFT:
if(m_nMaze[m_nX-1][m_nY]==0)
m_nX--;
break;
case VK_RIGHT:
if(m_nMaze[m_nX+1][m_nY]==0)
m_nX++;
break;
}
m_rectBody=CRect( 10+m_nX*m_nWidth
10+m_nY*m_nHeight
10+m_nX*m_nWidth+m_nWidth
10+m_nY*m_nWidth+m_nHeight);
InvalidateRect(m_rectBody FALSE);
if(m_nX==18&&m_nY==18)MessageBox(“game is over!“);
}
void CMyWnd::OnPaint()
{
CPaintDC dc(this);
for(int i=0; i<20; i++)
for(int j=0; j<20; j++)
{
if(m_nMaze[i][j]==0)
{
dc.SelectStockobject(LTGRAY_BRUSH);
dc.SelectStockobject(WHITE_PEN);
}
else
{
dc.SelectStockobject(BLACK_BRUSH);
dc.SelectStockobject(BLACK_PEN);
}
dc.Rectangle( 10+i*m_nWidth
10+j*m_nHeight
10+i*m_nWidth+m_nWidth
10+j*m_nHeight+m_nHeight);
}
dc.SelectStockobject(DKGRAY_BRUSH);
dc.SelectStockobject(BLACK_PEN);
m_rectBody=CRect( 10+m_nX*m_nWidth
10+m_nY*m_nHeight
10+m_nX*m_nWidth+m_nWidth
10+m_nY*m_nWidth+m_nHeight);
dc.Ellipse(m_rectBody);
}
// 应用程序类
class CMyApp: public CWinApp
{
public:
BOOL InitInstance();
};
// 应用程序类的成员函数
BOOL CMyApp::InitInstance()
{
CMyWnd *pframe = new CMyWnd;
pframe->Create(0_T(“Move Ellipse With Keyboard“));
pframe->ShowWindow(SW_SHOWMAXIMIZED);
pframe->UpdateWindow();
this->m_pMainWnd = pframe;
return TRUE;
}
// 全局应用程序对象
CMyApp ThisApp;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 16384 2000-08-03 10:47 迷宫\Ball.exe
文件 2991 2008-12-18 08:35 迷宫\Source\ball.cpp
文件 3673 2000-08-03 10:48 迷宫\Source\Ball.dsp
文件 533 2000-06-02 22:09 迷宫\Source\Ball.dsw
文件 7851008 2008-12-18 08:38 迷宫\Source\Ball.ncb
文件 48640 2001-07-11 09:11 迷宫\Source\Ball.opt
文件 808 2001-07-11 09:11 迷宫\Source\Ball.plg
文件 872 2008-12-18 08:34 迷宫\Source\Ball.sln
..A..H. 8704 2008-12-18 08:38 迷宫\Source\Ball.suo
文件 5362 2008-12-18 08:34 迷宫\Source\Ball.vcproj
文件 1413 2008-12-18 08:38 迷宫\Source\Ball.vcproj.SOFT-C24.Administrator.user
文件 126976 2008-12-18 08:35 迷宫\Source\Debug\Ball.exe
文件 664 2008-12-18 08:35 迷宫\Source\Debug\Ball.exe.em
文件 728 2008-12-18 08:35 迷宫\Source\Debug\Ball.exe.em
文件 629 2008-12-18 08:35 迷宫\Source\Debug\Ball.exe.intermediate.manifest
文件 1043596 2008-12-18 08:35 迷宫\Source\Debug\Ball.ilk
文件 150413 2008-12-18 08:35 迷宫\Source\Debug\ball.obj
文件 3419136 2008-12-18 08:35 迷宫\Source\Debug\Ball.pdb
文件 7644 2008-12-18 08:35 迷宫\Source\Debug\BuildLog.htm
文件 67 2008-12-18 08:35 迷宫\Source\Debug\mt.dep
文件 429056 2008-12-18 08:35 迷宫\Source\Debug\vc80.idb
文件 184320 2008-12-18 08:35 迷宫\Source\Debug\vc80.pdb
目录 0 2008-12-18 08:35 迷宫\Source\Debug
..AD... 0 2008-12-18 08:35 迷宫\Source
文件 1292 2000-08-03 09:59 迷宫\请看这个说明.txt
目录 0 2001-07-11 09:07 迷宫
----------- --------- ---------- ----- ----
13304909 26
相关资源
- 基于STM32F103C8T6的迷宫小车
- 2010年周立功机器鼠迷宫设计竞赛资料
- 计算机图形学-基于OpenGL的3D迷宫漫游
- 可视化动态迷宫带音乐,可自定义迷
- 三维迷宫,支持替身通过一定交互手
- 软件模拟电脑鼠走迷宫
- Qt迷宫及路径
- opengl迷宫及源代码,实现贴图、3d效果
- QT写的迷宫程序,支持自定义地图
- Qt实现的迷宫游戏_源码生成+寻路
- ege-自制迷宫
- Construct2 迷宫小游戏~
- 递归解决迷宫问题
- 迷宫程序VC图形化界面
- opengl迷宫游戏
- STM32 迷宫小车
- 三维迷宫游戏源代码及可执行文件
- Virtools----走迷宫(附带max模型、Virt
- opengl三维迷宫
- unity 3d迷宫 NPC 小地图
- 51单片机迷宫游戏源码及实验报告
- 基于STM32的迷宫小车
- 迷宫寻宝源码
- 迷宫 课程设计
- 山东大学计算机图形学实验二3D迷宫漫
- Qt随机迷宫及路径获取
- Qt实现的迷宫游戏_可执行程序迷宫生
- 一个unity迷宫小游戏
- microMouse迷宫电脑鼠完整pcb设计文件包
- 3D迷宫源代码+演示程序
评论
共有 条评论