贪吃蛇游戏设计报告(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相关推荐

  1. C语言小游戏大全,C语言贪吃蛇小游戏(附源码)

    一.C语言小游戏大全,C语言贪吃蛇小游戏(附源码) 贪吃蛇小游戏源码和更多C语言课设项目小游戏源码免 费 下 载 链 接 如下: c语言项目课设小游戏源码资料压缩包.zip-C文档类资源-CSDN下载 ...

  2. c语言选择结构程序设计实验报告6,c语言-选择结构程序设计实验报告4.doc

    c语言-选择结构程序设计实验报告4.doc 实验报告 实验题目:选择结构程序设计 实验目的: 了解C语言表示逻辑量的方法(以0代表"假"以非0代表"真"). 学 ...

  3. c语言贪吃蛇游戏编程视频教程,C语言贪吃蛇游戏精典源码 - 视频教程 - VC中文网-VC-MFC编程论坛 - Powered by Discuz!...

    19f700059b660539d5dc (38.08 KB, 下载次数: 0) 2017-11-14 16:28 上传 C语言贪吃蛇游戏精典源码 19f500058fe8fcaf675a (2.98 ...

  4. C语言贪吃蛇详解4,c语言贪吃蛇详解4.食物的投放与蛇的变长

    c语言贪吃蛇详解4.食物的投放与蛇的变长 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识 ...

  5. C语言贪吃蛇大作业总结,c语言贪吃蛇实训报告.doc

    c语言贪吃蛇实训报告 c语言贪吃蛇实训报告 C语言贪吃蛇实验报告 C语言程序设计实训报告 姓 名专 业班 级指导教师 二011年 7 月 14 日 1 1.1 1.2 目录 实训目的和要求 ..... ...

  6. c语言语音控制游戏文献,C语言课程设计-基于C语言推箱子游戏设计-毕业论文文献.doc...

    gd工程职业技术学院毕业论文 基于C语言的推箱子游戏设计 Design of the push box Based on Combined Language 作者姓名: 学科专业: 应用电子技术 学院 ...

  7. c语言游戏经典案例,C语言_编游戏案例精编.doc

    C语言_编游戏案例精编 C语言_编游戏案例精编 C语言 编游戏案例精编 案例一 贪吃蛇游戏 案例二 计算器 案例三 黑白棋游戏 案例四 迷宫问题 案例五 扫地雷游戏 案例六 速算24 案例七 数据结构 ...

  8. c语言游戏如何分享,c语言怎么编游戏_编程语言分享讨论总汇吧吧_直线网_最专业的数字艺术学习交流平台...

    纯真童趣的<泡泡堂>,还有武林情仇,笑傲江湖的<剑侠情缘on line>.它是e时代常谈的话题,是交互式娱乐的主力军,是一种 高层次的综合艺术,更是一个民族的文化,世界观的全新 ...

  9. 基于c语言单片机秒表课程设计,基于c语言单片机秒表课程设计要点.doc

    课程设计报告 课程名称:单片机原理及应用 报告题目:秒表 学生姓名: 所在学院:信息科学与工程学院 专业班级: 学生学号: 指导教师: 2013 年 12 月 25 日 课程设计任务书 报告题目秒表完 ...

  10. c语言扫雷游戏计时功能_C语言实现扫雷游戏(可以自动展开)

    前言 本篇博客主要介绍如何使用C语言实现扫雷游戏. 一.游戏规则 在一张ROW行COL列的地图上存在MINE_COUNT个地雷.玩家输入坐标翻开格子,若没有踩雷,则计算此格子周围8个格子的地雷总数,并 ...

最新文章

  1. 好看的dialog,sweet Alert Dialog 导入Android Studio
  2. Oracle SQL Optimizer IN VS Exists Again
  3. springboot 日志问题记录
  4. 互联网1分钟 |1228
  5. Hexo搭建个人博客常用命令
  6. mes建设指南_给予和接受建设性批评的设计师指南
  7. IDEA2019版最新配置SVN及上传教程-超详细图文详解
  8. python学习-10 运算符1
  9. Python开发最常犯错误总结10种
  10. centos 7 下安装haproxy
  11. python字符类型
  12. equals和==比较
  13. 计算机教师简介招聘情况,招聘教师个人简历模板
  14. 高效领导者提升思考力的5个底层法则
  15. 智能家居系列之智能家居平台设计
  16. 国货崛起,科技潮流——雷神星驰轮胎
  17. org.hibernate.ex ception.DataException: could not insert报错
  18. YII2 路由问题-摘自yii2官方文档
  19. 开源WPF控件库-AdonisUI
  20. numpy中的cov以及参数rowvar

热门文章

  1. 如何用HTML语言设计进度条,html进度条代码_html5如何实现简单进度条效果
  2. 联想计算机网络同传速度很慢,利用联想网络同传系统,提升微机室管理效率
  3. c语言函数调用后必须带回返回值?
  4. java前端开发JD
  5. 让无代理设置参数的软件通过代理服务器联网
  6. Ubuntu下网络调试助手 NetAssist(实际这个我启动不了)
  7. Fortan中读取数据到text文件
  8. 星环分析型数据库Inceptor中database link的使用总结
  9. Linux 环境下 vi/vim 编辑器常用命令
  10. 量子计算机时空穿越,时光穿梭是否可行?未来人类真能穿越时空吗?科学家:不是不可能...