1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
第一章 引言
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[j] = 0; |
|
|
|
只有小组成员才能发言,加入小组>>
820 浏览 0 评论
1162 浏览 1 评论
2537 浏览 5 评论
2872 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2722 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1125浏览 3评论
199浏览 2评论
465浏览 2评论
382浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
463浏览 1评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 20:53 , Processed in 1.061697 second(s), Total 78, Slave 59 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号