- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
猫捉老鼠小游戏
《猫捉老鼠小游戏》
程序设计基础课程设计报告
专 业: 计算机科学与技术
班 级: 09级2班
姓 名: 马建南
学 号: 2009082230 2009082233
指导教师: 郭 攀
2010年9月18日
目 录
1 课程设计目的 2
1.1课程设计目的 2
1.2课程设计题目 2
1.3题目要求 2
2 总体设计 2
(画出设计课题程序总体组成框图、流程图)
3详细设计................................................3
(各个模块功能说明(如函数功能、入口及出口参数说明,函数
调用关系描述等)及模块程序流程图)
4 课程设计的原程序代码 4
(程序代码清单中应有足够的注释)
5 运行结果 .22
(截图及说明)
6 课程设计总结 25
7 参考书目 26
1 课程设计目的
1.1课程设计目的
设计一个猫和老鼠迷宫,显示猫和老鼠图像;设置游戏菜单、控制按钮、游戏时间、老鼠个数;进而实现游戏效果。
1.2课程设计题目
猫捉老鼠小游戏
1. 3 题目要求
1)设计一个猫捉老鼠迷宫。
2)要求猫的速度大于老鼠的速度。
3)计算最短路径,每走一步,猫按最短路径抓获老鼠;最短路径可运用数据结构中的队列实现。
附加功能:
1)迷宫随机生成。
2)增加老鼠个数。
2 总体设计框架图:
3.详细设计
1. OnDraw()函数 显示迷宫及猫和老鼠。
2. OnTimer()函数 判定结束标志,设置游戏时间。
3. OnKeyDown()函数 实现猫的手动控制。
4. CDC *pDC 需要画位图的CDC指针
UINT IDImage 位图资源ID
Crect rect 指定位图在pDC中的位置
COLORREF rgbMask 位图的透明色
5.CCatCatchRatView::CCatCatchRatView()
{
m_bmWall.LoadBitmap(IDB_Wall); //载入迷宫位图
}
6. void CCatCatchRatView::OnUpdateStop(CCmdUI* pCmdUI)
{
pCmdUI-Enable(StartFlag==1); //游戏过程中可以选停止菜单
}
通过不断改变猫鼠位图显示区域坐标,实现猫和老鼠的动态实现
4.课程设计的源程序代码(主要代码)
// CatCatchRatView.h : interface of the CCatCatchRatView class
#if !defined(AFX_CATCATCHRATVIEW_H__B4196808_4145_49DF_99D0_45F38E4512CB__INCLUDED_)
#define AFX_CATCATCHRATVIEW_H__B4196808_4145_49DF_99D0_45F38 E4512CB__INCLUDED_
#if _MSC_VER 1000
#pragma once
#endif // _MSC_VER 1000
#include SelectDlg.h
#define RATMAX 5 //宏定义,老鼠的最大个数
class CCatCatchRatView : public CView
{
public:
CBitmap m_bmCat[4],m_bmRat[4]; //猫和老鼠的位图
CBitmap m_bmWall;
int StartFlag; //程序运行状态,-1:初始,0:暂停,1:开始,2:结束
bool m_bRatLive[RATMAX]; //老鼠存活标志
int m_nWallw,m_nWallh;
int m_nWallx,m_nWally;
int m_nCatw,m_nCath; //猫位图的宽和高
int m_nCatx,m_nCaty; //猫位图的左上角坐标
//猫和老鼠的运动方向
int m_nRatDirection[RATMAX],m_nCatDirection;
int m_nRatw,m_nRath; //老鼠位图的宽和高
/
文档评论(0)