python贪吃蛇的实验报告_贪吃蛇游戏程序设计实验报告.doc
贪吃蛇游戏程序设计实验报告
Windows编程大作业
贪吃蛇设计与实现 学 校:武汉轻工大学 院 系:
班 级:
姓 名: 学 号: 2015 年12月16日
目录
题目介绍
设计目的
详细设计
3.1贪吃蛇本体设计
3.2贪吃蛇食物设计
3.3游戏界面设计
3.3.1游戏初始化
3.3.2游戏开始
3.3.3游戏暂停
3.3.4游戏退出
3.3.5游戏总界面
3.3.6游戏区域与背景
3.3.7关于SNAKE
3.4玩法规则设计
3.5核心设计
功能测试
总结
参考文献
一、题目介绍:
编写一个基于MFC的小游戏。
基本要求:
1、实现一个小游戏
2、实现基本游戏控制功能
3、具有游戏数据保存功能
4、界面布局合理、美观;
设计目的:
通过使用vc++6.0实现一个小游戏的课程设计,进一步掌握MFC的高级使用方法和锻炼自己动手写程序的能力。了解游戏设计的整个过程,通过熟练使用MFC来设计游戏。程序主要包括:游戏界面设计,游戏菜单栏设计,游戏初始化,游戏控制等。培养和锻炼开发游戏的能力。
三、详细设计
3.1贪吃蛇的本体设计
贪吃蛇的头部拥有一个坐标(x,y),蛇体有一个长度len,蛇有一个运动方向direct,故定义一个结构体如下:
struct Snake int x,y;
int len;
int direct;
Snake[50];
3.2贪吃蛇食物设计
贪吃蛇的食物有一个坐标(x,y),此食物有一个标志isfood,当isfood为0时,表示食物还没被吃,为1时,表示被吃。
struct Food int x;
int y;
int isfood;
Food;
3.3游戏界面设计
3.3.1游戏初始化
游戏初始蛇体长度为3,颜色为灰色,食物标志为1,因为此时没有显示出食物,需要随机生成后,才置为0;
void CSNAKEView::OnInitialUpdate CView::OnInitialUpdate ;
Snake[0].x 10;
Snake[0].y 10;
Snake[1].x 11;
Snake[1].y 10;
Snake[2].x 12;
Snake[2].y 10;
Snake[0].direct 3;
Snake[0].len 3;
Food.isfood 1;//初始化贪吃蛇起初有3个节点,长度为3,起始坐标;食物默认为 1无0有
// TODO: Add your specialized code here and/or call the base class void CSNAKEView::oninit CDC *pDC GetDC ;
CBrush DrawBrush RGB 100,100,100 ;
CBrush *Drawbrush pDC- SelectObject &DrawBrush ;
for int i 0;i Snake[0].len-1;i++
pDC- Rectangle Snake[i].x*20,Snake[i].y*20, Snake[i].x+1 *20, Snake[i].y+1 *20 ;
pDC- SelectObject DrawBrush ; 3.3.2游戏开始
点击游戏开始菜单后,出现一个对话框,提示一秒后,将开始游戏。
void CSNAKEView::OnStart // TODO: Add your command handler code here
SetTimer 1,1000,NULL ;
AfxMessageBox "1秒后开始游戏!" ; 3.3.3游戏暂停
点击游戏暂停菜单后,出现显示“已暂停游戏”的对话框。
void CSNAKEView::OnPause // TODO: Add your command handler code here
KillTimer 1 ;
AfxMessageBox "已暂停游戏" ; 3.3.4游戏退出
点击游戏退出菜单,显示“退出游戏”的对话框,随后关闭游戏界面。
void CSNAKEView::OnExit // TODO: Add your command handler code here
AfxMessageBox "退出游戏..." ;
exit 0 ; 3.3.5游戏总界面大小设计
使用CMainFrame的PreCreateWindow函数对总界面进行初始化。
BOOL CMainFrame::PreCreateWindow CREATESTRUCT& cs if !CFrameWnd::PreCreateWindow cs return FALSE;
// TODO: Modify the Window cla
python贪吃蛇的实验报告_贪吃蛇游戏程序设计实验报告.doc相关推荐
- java象棋实验报告_中国象棋java程序设计实验报告
中国象棋java程序设计实验报告 东北大学秦皇岛分校信息与计算科学系Java 程序设计实验报告专业名称 信 息 与 计 算 科 学班级学号 7080206学生姓名 彭 军指导教师 王 薇完成时间 20 ...
- java象棋实验报告_中国象棋java程序设计实验报告.doc
中国象棋java程序设计实验报告.doc 东北大学秦皇岛分校 信息与计算科学系 Java 程序设计实验报告 专业名称 信息与计算科学 班级学号 7080206 学生姓名 彭 军 指导教师 王薇 完成时 ...
- python猜拳小游戏实验报告_Java猜拳小游戏程序设计实验报告
实验题目:猜拳小游戏 实验要求: 用 java 编写一个人机对战的猜拳小游戏.人选择性出拳,电脑随机出拳,判断 输赢,记录输赢情况.有简单的操作界面. 实验内容: 1 .问题分析过程: ( 1 )首先 ...
- c语言猜拳游戏实训报告,Java猜拳小游戏程序设计实验报告.doc
Java程序设计实验报告 班级: 学号: 姓名: 实验题目:猜拳小游戏 实验要求: 用java编写一个人机对战的猜拳小游戏.人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况.有简单的操作界面. 实验 ...
- 南邮java实验一报告_南邮JAVA程序设计实验1 综合图形界面程序设计
实验目的: 学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法.通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法. 实验内容: 设计和编写一个用于将人民币转换为等值的 ...
- c语言设计贪吃蛇实验报告,贪吃蛇游戏程序设计实验报告
<贪吃蛇游戏程序设计实验报告>由会员分享,可在线阅读,更多相关<贪吃蛇游戏程序设计实验报告(11页珍藏版)>请在人人文库网上搜索. 1.Windows编程大作业贪吃蛇设计与实现 ...
- c语言的简单程序设计实验报告,工程学院C语言程序设计实验报告
<工程学院C语言程序设计实验报告>由会员分享,可在线阅读,更多相关<工程学院C语言程序设计实验报告(5页珍藏版)>请在人人文库网上搜索. 1.南京工程学院实验报告课程名称C 语 ...
- 交叉编译及linux简单程序设计,嵌入式实验6交叉编译及Linux简单程序设计实验
实验六交叉编译及Linux简单程序设计实验的实验报告 一实验目的 1.了解和掌握交叉编译模式和方法: 2.熟悉和掌握Linux简单程序设计. 二实验环境 预装Fedora10_A8_Linux的pc机 ...
- Linux编译和下载嵌入式实验,嵌入式实验6交叉编译及Linux简单程序设计实验
<嵌入式实验6交叉编译及Linux简单程序设计实验>由会员分享,可在线阅读,更多相关<嵌入式实验6交叉编译及Linux简单程序设计实验(7页珍藏版)>请在人人文库网上搜索. 1 ...
- 组数游戏c语言程序报告,c语言组数游戏程序设计实习报告.docx
c语言组数游戏程序设计实习报告 C程序设计实习报告题目:组数游戏学院:机电学院专业:机械设计制造及自动化姓名:张庆远班级学号:20091002559指导教师:薛思清目录第一章:题目要求1.1:要求1. ...
最新文章
- RN 与原生通信(Android篇)
- 名人尿炕被人发现后怎么办?
- 如何将SAP云平台Neo环境的Subaccount注册到IAS服务里
- mysql gui vim_vim(一): 小技巧
- Springboot 项目中过滤器的使用
- 使用 PyTorch 数据读取,JAX 框架来训练一个简单的神经网络
- 我去,这几个Linux指令太装B了|动图展示
- Web前端期末大作业--绿色自适应医疗健康医院网页设计(HTML+CSS+JavaScript+)实现
- 2-1-XML和约束文档
- ArcSDE服务入门
- Java基础(二):基本数据类型和变量类型
- 你给我这么多报表,让我如何是好
- 使用python的笔记
- 一些and知识 和ui
- linux中如何实时同步时间,linux实现时间同步有哪几种方法
- halcon 导出数据集_HALCON中级篇:Blob分析
- 我的常用数据软件大公开
- 服务器怎么ghost备份系统,GHOST备份系统的方法 GHOST备份系统教程
- Android 回声消除
- java校园门禁刷脸系统,学校人脸识别门禁系统打造智慧校园
热门文章
- OpenGL库 资源下载
- vs2010+silverlight4 error
- 计算机组成原理----超标量流水线结构模型分析!!!
- FCKEditor的用法与下载
- ctfmon是什么启动项_win10系统启动项中没有ctfmon进程的图文方法
- 错误解决:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to star
- java多线程优秀开源项目_github比较热门的Java开源项目
- 电工最实用口诀 背会就是老电工
- mx350显卡天梯图_CPU天梯图与显卡天梯图2020年最新版
- 大数据中心大数据资源平台建设方案