课程设计报告linux小游戏,嵌入式课程设计报告---贪吃蛇游戏.doc
嵌入式课程设计报告---贪吃蛇游戏
嵌入式系统课程设计报告书
课题题目:贪吃蛇游戏
学 院:核自院
班 级:测控三班
学 号:9
姓 名: 马文铂
第一章 引言- 2 -
1.1关于题目- 2 -
1.1.1题目要求- 2 -
1.1.2选题背景- 2 -
1.2关于编译软件- 2 -
第二章 概要设计- 2 -
2.1软件主要功能设计- 2 -
2.1.1程序结构- 2 -
2.1.2程序流程- 3 -
第三章 软件实现- 4 -
3.1变量函数及资源的声明- 4 -
3.1.1函数声明- 4 -
3.1.2变量声明- 5 -
第四章 心得体会- 6 -
第一章 引言
1.1关于题目
1.1.1题目要求
利用QT制作一个贪吃蛇的小游戏并将其移植到嵌入式Linux平台下,要求:
能够记录游戏时间,游戏成绩
正常完成该游戏基本功能
1.1.2选题背景
贪吃蛇是家喻户晓的益智类小游戏,选择这个题目一是为了将自己的所学知识加以运用,二是一直以来贪吃蛇这个游戏就深深地吸引着我,它的实现对于以前的我而言都是很神秘的。我希望通过自己的所学知识把它剖析开来,真真正正的了解它的本质和精髓。更进一步的掌握C语言以及加深对嵌入式Linux操作系统编程的认识和了解,熟悉基本的嵌入式开发过程。
1.2关于编译软件
本系统采用开源社区所提供的一系列编程工具,gcc、gdb等。系统运行平台采取嵌入式uClinux操作系统。
第二章 概要设计
2.1软件主要功能设计
2.1.1程序结构
根据分析,贪吃蛇这个程序一共要实现如下几个功能,包括游戏方面开始游戏、暂停游戏以及停止游戏,游戏帮助提示与分数的显示等等。具体的程序功能如下图所示。
2.1.2程序流程
根据分析后的贪吃蛇结构设计出相应的贪吃蛇流程。贪吃蛇的内容主要包括: 游戏开始,随机出现食物,游戏结束,分数的显示,游戏帮助。程序主要流程图如下:
第三章 编程实现
3.1变量函数及资源的声明
根据程序的结构,将贪吃蛇需要实现的放在snakeBoard.h文件中,该文件创建游戏画面,显示贪吃蛇对象;另外,计分功能凡在countNumber.h文件中实现。。
3.1.1主函数
#include "snakeBoard.h"
#include
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
snakeBoard *gameMainBoard = new snakeBoard;
gameMainBoard->setGeometry(50,50,600,500);
gameMainBoard->show();
return app.exec();
}
3.1.2主要源代码
snakeBoard.h中定义的相关变量和方法
#include
#include
#include
#include
class snakeBoard:public QWidget
{
Q_OBJECT
public:
snakeBoard(QWidget *parent = 0);
int getRandNum(void);
void getRandXY(int &x,int &y);
private:
int isStart;//是否开始
int snakeLength;//蛇身长度
int directionFlag;//移动方向
int directionArray[4][2];//方向向量
int interval;//屏幕刷新频率
QTimer *updateTimer;
int foodArray[2];
int paintingIsOver;
int snakeArray[80][2];
//int gameField[20][20];
protected:
void paintEvent(QPaintEvent *paintEvent);
void keyPressEvent(QKeyEvent *keyEvent);
protected slots:
void snakeAutoRun(void);
void resetGame(void);
};
部分方法的实现代码
snakeBoard::snakeBoard(QWidget *parent):QWidget(parent)
{
for(int i = 0; i < 80; i++)
for(int j = 0; j < 2; j++)
snakeArray[i][j] = 0;
课程设计报告linux小游戏,嵌入式课程设计报告---贪吃蛇游戏.doc相关推荐
- java毕业设计——基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码)——贪吃蛇游戏
基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2ME的贪吃蛇游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...
- SwiftUI 游戏源码大全之贪吃蛇游戏基于GeometryReader和Preference
实战需求 SwiftUI 游戏源码大全之贪吃蛇游戏基于GeometryReader和Preference 本文价值与收获 看完本文后,您将能够作出下面的界面 游戏规则 你抓住一个圆圈时,蛇会增长一段. ...
- JAVA游戏开发-超炫酷贪吃蛇游戏源码及教程
一.前言 某日,看见隔壁家的小朋友在玩一款网络爆款贪吃蛇游戏,感觉很好玩.自己刚好正在学习JAVA编程,也想实现一个类似功能的游戏Demo练手,在网上查看了不少源码案例,全都是很古老的方块式贪吃蛇游戏 ...
- python写游戏脚本-python实现简单贪吃蛇游戏
本文实例为大家分享了python实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下 代码: from turtle import * from random import randrange from ...
- 好玩的c语言编程游戏,C语言写个贪吃蛇游戏
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言写个贪吃蛇游戏 贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情.这个游戏我写完后放在知乎,竟然点赞的人数超级多.我觉得大家喜欢,一个方面 ...
- python制作贪吃蛇游戏_用Python写贪吃蛇游戏的代码实例
这篇文章主要为大家详细介绍了Python贪吃蛇游戏的编写代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近在学Python,想做点什么来练练手,命令行的贪吃蛇一般是C的练手项目,但是一时之间 ...
- c语言贪吃蛇游戏编程视频教程,C语言贪吃蛇游戏精典源码 - 视频教程 - VC中文网-VC-MFC编程论坛 - Powered by Discuz!...
19f700059b660539d5dc (38.08 KB, 下载次数: 0) 2017-11-14 16:28 上传 C语言贪吃蛇游戏精典源码 19f500058fe8fcaf675a (2.98 ...
- java贪吃蛇游戏代码下载_java实现贪吃蛇游戏代码(附完整源码)
免费资源网,https://freexyz.cn/ 先给大家分享源码,喜欢的朋友点此处下载. 游戏界面 GUI界面 java实现贪吃蛇游戏需要创建一个桌面窗口出来,此时就需要使用java中的swing ...
- java gui怎么做游戏_Java GUI编程之贪吃蛇游戏简单实现方法【附demo源码下载】
本文实例讲述了Java GUI编程之贪吃蛇游戏简单实现方法.分享给大家供大家参考,具体如下: 例子简单,界面简陋 请见谅 项目结构如下 Constant.jvava 代码如下: package sna ...
- 【Java小游戏】很简陋的 贪吃蛇 游戏
贪吃蛇 结果展示 首先展示一下结果,只有基础的功能,很简陋,主要还是为了巩固一下Java的基础: 设计思路 1.首先,需要一个窗口,直接使用JFrame就可以了,所以需要一个JFrame类作为游戏窗口 ...
最新文章
- 神经网络与机器学习 笔记—核方法和径向基函数网络(上)
- 字符串删除首尾_[LeetCode] 459. 重复的子字符串
- MFC对话框播放8位512*512的像素数据
- 消息队列:RabbitMQ和Kafka的比较
- Class文件结构amp;字节码指令
- 字符串时间格式转化-java Unit
- volley 调用php接口,从Android发送数组并使用Volley在PhP服务器上...
- php对引用的简单理解
- 电工杯B题小代码分享
- pdf 转换为图片格式(可提高兼容性)
- 杜撰——深圳市贝力公司电子商务方案
- easyUI中combobox中idFeild和textFeild的取值方法
- 【软考题目】假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录。
- 为什么我不看好人人网在美国上市
- Linux 文件名和路径的最大长度
- 各类文件的文件头标志[转]
- 【syslog】搭建日志服务器
- [转载] opencart支付宝 免费下载
- Zhong__k8s基础尝试和配置flannel
- 数字IC手撕代码-乐鑫科技笔试真题(4倍频)
热门文章
- post方式返回文件流实现前端blob下载,responseType: ‘blob‘无效
- RF表单跳转、RF 脚本、生成测试报告
- stm32f4xx-ADC
- 使用IBM Rational Application Developer对Java应用程序进行性能分析
- 【ZJOI2007】捉迷藏(链分治)
- 使用Element的 InfiniteScroll 无限滚动组件报错
- SRPG游戏开发(六十一)第十一章 地图动作与地图事件 - 十 NPC操作(NPC Control)
- nextpolish安装_NECAT: Nanopore数据的高效组装工具
- 学校计算机教研组会议记录,教研组会议记录3篇精选范文
- 仓库管理系统————QT+SQLite实现