贪吃蛇游戏设计汇报c语言,贪吃蛇游戏设计报告(C++).doc
贪吃蛇游戏设计报告(C)
青岛理工大学琴岛学院
设 计 报 告
课题名称:贪吃蛇游戏设计
学 院:青岛理工大学琴岛学院
专业班级:计算机网络技术091
学 号:200903120017
学 生:王三鹏
指导教师:张秀国、宋传磊
青岛理工大学琴岛学院教务处
2010年12月29日
学 生王三鹏指导教师张秀国、宋传磊课题名称贪吃蛇游戏设计设计时间2010.12.20-2010.12.31设计地点图书馆501设计目的熟练使用vc++,提高自身对MFC类的理解及更好的应用MFC类制作软件。指导教师评语
系部
教研室
意见
目 录
需求分析……………………………………… 4
设计说明……………………………………… 4
设计思路…………………………………………… 4
程序框图…………………………………………… 5
主要函数…………………………………………… 7
代码实现……………………………………… 6
构造函数…………………………………………… 6
放置食物…………………………………………… 6
碰撞检测…………………………………………… 7
问题解决……………………………………… 9
总结展望………………………………………10
参考文献………………………………………10
一、需求分析
1.选题
接到课程设计任务后,我们对曾经非常感兴趣的几款经典小游戏作了分析并筛选,然后发现使用MFC类库都可以完成这些游戏的编译,但是我们刚刚学习,还不能完全掌握MFC类的使用和复杂的算法,但是我们相信通过一个简单的贪吃蛇游戏可以让我们对MFC得到充分的锻炼。
2.功能
使用MFC编译的游戏,我们预计实现游戏的开始、暂停、继续、等级的提升、难度的增加。
3.重要的MFC
CWnd:窗口,它是大多数“看得见的东西”的父类(Windows里几乎所有看得见的东西都是一个窗口,大窗口里有许多小窗口),比如视图CView、框架窗口CFrameWnd、工具条CToolBar、对话框CDialog、按钮CButton,etc;一个例外是菜单(CMenu)不是从窗口派生的
CDocument文档,负责内存数据与磁盘的交互。最重要的是OnOpenDocument(读入),OnSaveDocument(写盘),Serialize(读写)
CView视图,负责内存数据与用户的交互。包括数据的显示、用户操作的响应(如菜单的选取、鼠标的响应)。最重要的是OnDraw(重画窗口),通常用CWnd::Invalidate()来启动它。另外,它通过消息映射表处理菜单、工具条、快捷键和其他用户消息。
CDialog对话框
CPen笔,画线
CBrush刷子,填充
CBitmap位图
CRgn区域,指定一块区域可以用于做特殊处理。
CString字符串。封装了C中的字符数组,非常实用。
CPoint点,就是(x,y)对
CRect矩形,就是(left,top,right,bottom)
总体设计说明
图1
游戏控制:如图2所示
图2
3.主要函数和变量:如表1表2所示
表1主要函数和变量
函数名所属类功能ReDisplay()CSnakeView刷新界面函数void IniAim()CSnakeView消息处理函数m_nDirectCSnakeView运动方向m_pAimCSnakeView目前指向m_nGameStatusCSnakeView游戏是否进行m_nCountCSnakeView计分m_nTime,m_nTime1CSnakeView计时表2按钮控件资源清单
ID按钮功能ID_APP_ABOUTVK_F1游戏介绍ID_GAME_STARTVK_F2游戏开始ID_APP_EXITVK_F4游戏结束、退出
三、代码实现
1.构造函数:
CSnakeView::CSnakeView()调用IniGame()实现游戏界面的初始化,为开始游戏做好准备,所以在开始进行游戏之前,游戏界面就已经显示完整。
CSnakeView::CSnakeView()
{
……
IniGame();
……
}
CSnakeView::~CSnakeView()
{
}
2.消息处理食物位置:uAimX,uAimY,然后执行条件循环while(1),使用随机数函数rand()为uAimX,uAimY赋值,并在一个循环体中判断该点位置上是否有元素,若没有,则放置实物在该坐标上。
void CSnakeView::IniAim()
{
int uAimX,uAimY;
while(1)
{
uAimX=rand()%m_nHei
贪吃蛇游戏设计汇报c语言,贪吃蛇游戏设计报告(C++).doc相关推荐
- C语言小游戏大全,C语言贪吃蛇小游戏(附源码)
一.C语言小游戏大全,C语言贪吃蛇小游戏(附源码) 贪吃蛇小游戏源码和更多C语言课设项目小游戏源码免 费 下 载 链 接 如下: c语言项目课设小游戏源码资料压缩包.zip-C文档类资源-CSDN下载 ...
- c语言选择结构程序设计实验报告6,c语言-选择结构程序设计实验报告4.doc
c语言-选择结构程序设计实验报告4.doc 实验报告 实验题目:选择结构程序设计 实验目的: 了解C语言表示逻辑量的方法(以0代表"假"以非0代表"真"). 学 ...
- c语言贪吃蛇游戏编程视频教程,C语言贪吃蛇游戏精典源码 - 视频教程 - VC中文网-VC-MFC编程论坛 - Powered by Discuz!...
19f700059b660539d5dc (38.08 KB, 下载次数: 0) 2017-11-14 16:28 上传 C语言贪吃蛇游戏精典源码 19f500058fe8fcaf675a (2.98 ...
- C语言贪吃蛇详解4,c语言贪吃蛇详解4.食物的投放与蛇的变长
c语言贪吃蛇详解4.食物的投放与蛇的变长 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识 ...
- C语言贪吃蛇大作业总结,c语言贪吃蛇实训报告.doc
c语言贪吃蛇实训报告 c语言贪吃蛇实训报告 C语言贪吃蛇实验报告 C语言程序设计实训报告 姓 名专 业班 级指导教师 二011年 7 月 14 日 1 1.1 1.2 目录 实训目的和要求 ..... ...
- c语言语音控制游戏文献,C语言课程设计-基于C语言推箱子游戏设计-毕业论文文献.doc...
gd工程职业技术学院毕业论文 基于C语言的推箱子游戏设计 Design of the push box Based on Combined Language 作者姓名: 学科专业: 应用电子技术 学院 ...
- c语言游戏经典案例,C语言_编游戏案例精编.doc
C语言_编游戏案例精编 C语言_编游戏案例精编 C语言 编游戏案例精编 案例一 贪吃蛇游戏 案例二 计算器 案例三 黑白棋游戏 案例四 迷宫问题 案例五 扫地雷游戏 案例六 速算24 案例七 数据结构 ...
- c语言游戏如何分享,c语言怎么编游戏_编程语言分享讨论总汇吧吧_直线网_最专业的数字艺术学习交流平台...
纯真童趣的<泡泡堂>,还有武林情仇,笑傲江湖的<剑侠情缘on line>.它是e时代常谈的话题,是交互式娱乐的主力军,是一种 高层次的综合艺术,更是一个民族的文化,世界观的全新 ...
- 基于c语言单片机秒表课程设计,基于c语言单片机秒表课程设计要点.doc
课程设计报告 课程名称:单片机原理及应用 报告题目:秒表 学生姓名: 所在学院:信息科学与工程学院 专业班级: 学生学号: 指导教师: 2013 年 12 月 25 日 课程设计任务书 报告题目秒表完 ...
- c语言扫雷游戏计时功能_C语言实现扫雷游戏(可以自动展开)
前言 本篇博客主要介绍如何使用C语言实现扫雷游戏. 一.游戏规则 在一张ROW行COL列的地图上存在MINE_COUNT个地雷.玩家输入坐标翻开格子,若没有踩雷,则计算此格子周围8个格子的地雷总数,并 ...
最新文章
- 好看的dialog,sweet Alert Dialog 导入Android Studio
- Oracle SQL Optimizer IN VS Exists Again
- springboot 日志问题记录
- 互联网1分钟 |1228
- Hexo搭建个人博客常用命令
- mes建设指南_给予和接受建设性批评的设计师指南
- IDEA2019版最新配置SVN及上传教程-超详细图文详解
- python学习-10 运算符1
- Python开发最常犯错误总结10种
- centos 7 下安装haproxy
- python字符类型
- equals和==比较
- 计算机教师简介招聘情况,招聘教师个人简历模板
- 高效领导者提升思考力的5个底层法则
- 智能家居系列之智能家居平台设计
- 国货崛起,科技潮流——雷神星驰轮胎
- org.hibernate.ex ception.DataException: could not insert报错
- YII2 路由问题-摘自yii2官方文档
- 开源WPF控件库-AdonisUI
- numpy中的cov以及参数rowvar
热门文章
- 如何用HTML语言设计进度条,html进度条代码_html5如何实现简单进度条效果
- 联想计算机网络同传速度很慢,利用联想网络同传系统,提升微机室管理效率
- c语言函数调用后必须带回返回值?
- java前端开发JD
- 让无代理设置参数的软件通过代理服务器联网
- Ubuntu下网络调试助手 NetAssist(实际这个我启动不了)
- Fortan中读取数据到text文件
- 星环分析型数据库Inceptor中database link的使用总结
- Linux 环境下 vi/vim 编辑器常用命令
- 量子计算机时空穿越,时光穿梭是否可行?未来人类真能穿越时空吗?科学家:不是不可能...