嵌入式课程设计报告---贪吃蛇游戏

嵌入式系统课程设计报告书

课题题目:贪吃蛇游戏

学 院:核自院

班 级:测控三班

学 号: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相关推荐

  1. java毕业设计——基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码)——贪吃蛇游戏

    基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2ME的贪吃蛇游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...

  2. SwiftUI 游戏源码大全之贪吃蛇游戏基于GeometryReader和Preference

    实战需求 SwiftUI 游戏源码大全之贪吃蛇游戏基于GeometryReader和Preference 本文价值与收获 看完本文后,您将能够作出下面的界面 游戏规则 你抓住一个圆圈时,蛇会增长一段. ...

  3. JAVA游戏开发-超炫酷贪吃蛇游戏源码及教程

    一.前言 某日,看见隔壁家的小朋友在玩一款网络爆款贪吃蛇游戏,感觉很好玩.自己刚好正在学习JAVA编程,也想实现一个类似功能的游戏Demo练手,在网上查看了不少源码案例,全都是很古老的方块式贪吃蛇游戏 ...

  4. python写游戏脚本-python实现简单贪吃蛇游戏

    本文实例为大家分享了python实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下 代码: from turtle import * from random import randrange from ...

  5. 好玩的c语言编程游戏,C语言写个贪吃蛇游戏

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言写个贪吃蛇游戏 贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情.这个游戏我写完后放在知乎,竟然点赞的人数超级多.我觉得大家喜欢,一个方面 ...

  6. python制作贪吃蛇游戏_用Python写贪吃蛇游戏的代码实例

    这篇文章主要为大家详细介绍了Python贪吃蛇游戏的编写代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近在学Python,想做点什么来练练手,命令行的贪吃蛇一般是C的练手项目,但是一时之间 ...

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

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

  8. java贪吃蛇游戏代码下载_java实现贪吃蛇游戏代码(附完整源码)

    免费资源网,https://freexyz.cn/ 先给大家分享源码,喜欢的朋友点此处下载. 游戏界面 GUI界面 java实现贪吃蛇游戏需要创建一个桌面窗口出来,此时就需要使用java中的swing ...

  9. java gui怎么做游戏_Java GUI编程之贪吃蛇游戏简单实现方法【附demo源码下载】

    本文实例讲述了Java GUI编程之贪吃蛇游戏简单实现方法.分享给大家供大家参考,具体如下: 例子简单,界面简陋 请见谅 项目结构如下 Constant.jvava 代码如下: package sna ...

  10. 【Java小游戏】很简陋的 贪吃蛇 游戏

    贪吃蛇 结果展示 首先展示一下结果,只有基础的功能,很简陋,主要还是为了巩固一下Java的基础: 设计思路 1.首先,需要一个窗口,直接使用JFrame就可以了,所以需要一个JFrame类作为游戏窗口 ...

最新文章

  1. 神经网络与机器学习 笔记—核方法和径向基函数网络(上)
  2. 字符串删除首尾_[LeetCode] 459. 重复的子字符串
  3. MFC对话框播放8位512*512的像素数据
  4. 消息队列:RabbitMQ和Kafka的比较
  5. Class文件结构amp;字节码指令
  6. 字符串时间格式转化-java Unit
  7. volley 调用php接口,从Android发送数组并使用Volley在PhP服务器上...
  8. php对引用的简单理解
  9. 电工杯B题小代码分享
  10. pdf 转换为图片格式(可提高兼容性)
  11. 杜撰——深圳市贝力公司电子商务方案
  12. easyUI中combobox中idFeild和textFeild的取值方法
  13. 【软考题目】假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录。
  14. 为什么我不看好人人网在美国上市
  15. Linux 文件名和路径的最大长度
  16. 各类文件的文件头标志[转]
  17. 【syslog】搭建日志服务器
  18. [转载] opencart支付宝 免费下载
  19. Zhong__k8s基础尝试和配置flannel
  20. 数字IC手撕代码-乐鑫科技笔试真题(4倍频)

热门文章

  1. post方式返回文件流实现前端blob下载,responseType: ‘blob‘无效
  2. RF表单跳转、RF 脚本、生成测试报告
  3. stm32f4xx-ADC
  4. 使用IBM Rational Application Developer对Java应用程序进行性能分析
  5. 【ZJOI2007】捉迷藏(链分治)
  6. 使用Element的 InfiniteScroll 无限滚动组件报错
  7. SRPG游戏开发(六十一)第十一章 地图动作与地图事件 - 十 NPC操作(NPC Control)
  8. nextpolish安装_NECAT: Nanopore数据的高效组装工具
  9. 学校计算机教研组会议记录,教研组会议记录3篇精选范文
  10. 仓库管理系统————QT+SQLite实现