logo资料库

基于ARM的俄罗斯方块游戏的开发.doc

第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
资料共34页,剩余部分请下载后查看
摘 要:随着现代化技术的高速发展,人们的生活已经离不开嵌入式了。在消费电子领域,嵌入式系统的游戏娱
Abstract : With the rapid development of modern te
1绪论
1.1 课题研究背景及国内外研究现状
1.2 课题的提出与意义
1.3 解决问题的思路、方法以及取得成果
2需求分析
2.1 硬件需求
2.1.1 嵌入式处理器
2.1.2 开发板的选择
2.2 软件需求
2.2.2 Qt简介
2.2.2 Qt Creator开发软件
2.2.3 VMWare虚拟机
2.2.4 Linux操作系统
2.3 功能需求
2.4 游戏界面需求
2.5 方块图形需求
3 系统设计
3.1 qt creator安装与配置
3.2 模块实现
3.3 关键技术实现
3.3.1 方块的数据结构
3.3.2 方块的旋转和移动
3.3.3 消行
3.3.4 定时器实现
3.3.5 UI设计和游戏区域的绘制
3.3.6 键盘处理
4 移植和测试
4.1 交叉编译工具安装
4.2 交叉编译Qt/Embedded
4.3 下载运行
5 总结与展望
5.1 总结
5.2 展望
参 考 文 献
致 谢
学号: 常 州 大 学 毕 业 设 计 ( 论 文 ) (2012 届) 题 目 学 生 学 院 校内指导教师 校外指导老师 专业班级 专业技术职务 专业技术职务 二○一二年六月
基于 ARM 的俄罗斯方块游戏的开发 摘 要:随着现代化技术的高速发展,人们的生活已经离不开嵌入式了。在消费 电子领域,嵌入式系统的游戏娱乐功能受到越来越多的关注。本课题是基于 ARM 微处理器 S3C2440A 硬件平台,设计并实现了俄罗斯方块游戏。 系统的实现主要分为两个部分。首先,在 PC 机上安装 qt creator 开发软件, 利用 Qt 的信号与槽、事件机制等技术,完成俄罗斯方块游戏程序的设计。程序 设 计 的 重 点 是 实 现 方 块 的 数 据 存 储 、 移 动 旋 转 和 消 行 等 功 能 。 然 后 搭 建 Qt/Embedded 开发环境,嵌入式交叉编译俄罗斯方块游戏程序生成可执行文 件,并下载到 ARM 开发板 mini2440 上运行。 经过测试,整个系统性能良好,满足设计要求。俄罗斯方块游戏通过键盘进 行操作,人机交互效率较高。界面美观大方,功能说明简单完整。研究方案跟进 时代主流,具有重要的现实意义。 关键词:嵌入式 Linux、S3C2440A、Qt、俄罗斯方块 I
The Development of Tetris Game Based on the ARM Abstract : With the rapid development of modern technology, people's lives have been inseparable from the embedded. The entertainment function of embedded system is paid more and more attention in consumer electronic application field.This paper designed and implemented Tetris game which is based on the ARM microprocessor S3C2440 hardware platform. The realization of the system is divided into two parts. First install the qt creator development software on a PC,and complete the design of Tetris game program with the techniques of Qt's “signals and slots” and the event mechanism.The program focuses on the data storage of boxes and the functions of moving,rotation and removing.Then build the development environment of Qt/Embedded ,embedded cross compile Tetris game program to generate an executable file which is downloaded to run on ARM development board mini2440. After testing,The system runs quite well and meet the design requirements. Tetris game is operated with a keyboard and the man-machine efficiency is very high.It has a pretty interface. The functional description is both simple and complete. Research approach keeps with the times and it has important practical significance. Key words: embedded Linux、S3C2440A、Qt、Tetris II
目录 摘 要............................................................................................................................I ABSTRACT..................................................................................................................II 1 绪论........................................................................................................................ 1 1.1 课题研究背景及国内外研究现状....................................................................1 1.2 课题的提出与意义............................................................................................2 1.3 解决问题的思路、方法以及取得成果............................................................2 2 需求分析................................................................................................................ 4 2.1 硬件需求 ..........................................................................................................4 2.1.1 嵌入式处理器........................................................................................... 4 2.1.2 开发板的选择........................................................................................... 5 2.2 软件需求............................................................................................................6 2.2.2 Qt 简介....................................................................................................... 6 2.2.2 Qt Creator 开发软件.................................................................................. 6 2.2.3 VMWare 虚拟机....................................................................................... 7 2.2.4 Linux 操作系统 .......................................................................................7 2.3 功能需求.......................................................................................................... 8 2.4 游戏界面需求....................................................................................................9 2.5 方块图形需求..................................................................................................10 3 系统设计............................................................................................................... 11 3.1 QT CREATOR 安装与配置................................................................................. 11 3.2 模块实现........................................................................................................ 12 3.3 关键技术实现................................................................................................ 13 3.3.1 方块的数据结构..................................................................................... 13 3.3.2 方块的旋转和移动................................................................................. 14 3.3.3 消行......................................................................................................... 16 3.3.4 定时器实现............................................................................................. 17 3.3.5 UI 设计和游戏区域的绘制.................................................................... 18 3.3.6 键盘处理................................................................................................. 21 4 移植和测试........................................................................................................... 23 4.1 交叉编译工具安装..........................................................................................23 4.2 交叉编译 QT/EMBEDDED................................................................................ 23 4.3 下载运行..........................................................................................................24 5 总结与展望........................................................................................................... 28 5.1 总结..................................................................................................................28 5.2 展望..................................................................................................................28 参 考 文 献............................................................................................................... 29 致 谢........................................................................................................................... 30 III
常州大学本科生毕业设计(论文) 1 绪论 1.1 课题研究背景及国内外研究现状 嵌入式系统是当前发展最快最有前途的 IT 应用领域之一,嵌入式技术的发 展正以前所未有的速度影响和改变着我们的生活。人们平常所熟知的手机、摄像 机、游戏机、智能玩具、3D 电视、医疗仪器、汽车电子、工业控制设备、航天 航空设备等都有嵌入式系统。嵌入式系统是二十一世纪科技领域的重大创新,将 推进全球经济社会高速发展。 嵌入式系统在硬件和软件交替发展的双螺旋的支撑下逐渐趋于稳定和成 熟。作为一类特殊的计算机系统,主要由硬件平台、嵌入式操作系统和嵌入式 应用程序构成。硬件平台包括嵌入式处理器和外围设备。嵌入式微处理器是嵌入 式系统的核心部件,是控制、辅助系统运行的硬件单元,所以,嵌入式微处理器 是决定嵌入式系统功能强弱的主要因素,也决定了嵌入式系统的应用范围和开发 复杂度。ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设 计了大量高性能、廉价、耗能低的 RISC 处理器、相关技术及软件,技术具有性 能高、成本低和能耗省的特点[3]。 到目前为止,ARM 微处理器及技术的应用几乎已经深入到各个领域: (1)工业控制领域:作为 32 位的 RISC 架构,基于 ARM 核的微控制器芯 片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器 应用领域扩展,ARM 微控制器的低功耗、高性价比,向传统的 8 位/16 位微控制 器提出了挑战。 (2)无线通讯领域:目前已有超过 85%的无线通讯设备采用了 ARM 技术, ARM 以其高性能和低成本,在该领域的地位日益巩固。 (3)网络应用:随着宽带技术的推广,采用 ARM 技术的 ADSL 芯片正逐 步获得竞争优势。此外,ARM 在语音及视频处理上行了优化,并获得广泛支持, 也对 DSP 的应用领域提出了挑战。 (4)消费类电子产品:ARM 技术在目前流行的数字音频播放器、数字机顶 盒和游戏机中得到广泛采用。 (5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用 ARM 技术。手机中的 32 位 SIM 智能卡也采用了 ARM 技术。除此以外,ARM 微处理 器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用[9]。 ARM 的商业模式是开放的,任何厂商都可以购买授权,目前,总共有 30 家半导体公司与 ARM 签订了硬件技术使用许可协议,其中包括 Intel、 IBM、LG 半导体、NEC、SONY、飞利浦和国家半导体这样的大公司。至 于软件系统的合伙人,则包括微软、SUN 和 MRI 等一系列知名公司。进入 21 世纪之后,由于手机制造行业的快速发展,出货量呈现爆炸式增长,ARM 处理器占领了全球手机市场。由此可见,ARM 处理器还具有广阔的发展空 间,将会不断影响和改变我们的生活。 第 1 页 共 30 页
常州大学本科生毕业设计(论文) 1.2 课题的提出与意义 当前,ARM 正在与包括 Android 在内的所有 Linux 联盟合作,致力于从芯 片级至操作系统级两方面统一,降低产品的开发门槛。“ARM+Linux” 代表了 未来的趋势,标准化的硬件+软件的组合,可以令更多 OEM 厂商愿意去做差异 化设计。Linux 是开放源代码的操作系统,直接带来的就是开发成本的降低。另外, Linux 不仅在系统资源上占用率较低,在高性能运算上又能媲美 Windows,而良 好的可扩展性和可维护性也是其优势所在,所以,“ARM+Linux”毫无疑问成 为了嵌入式开发的主流组合[6]。 Qt 是跨平台的应用程序和 UI 框架。它包括跨平台类库、集成开发工具和跨 平台 IDE。使用 Qt,只需一次性开发应用程序,无须重新编写源代码,便可跨 不同桌面和嵌入式操作系统部署这些应用程序。所以本设计采用先在 PC 机上实 现应用程序的编写,再跨平台移植到 ARM 硬件平台上的方法来实现嵌入式应用 程序的开发。 俄罗斯方块(Tetris)是一款风靡全球的电视游戏机和掌上游戏机游戏,它 由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移 动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消 除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世界。俄罗斯方块曾 经造成的轰动与造成的经济价值可以说是游戏史上的一件大事,它看似简单 但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不 想的那个俄罗斯方块时代。由于俄罗斯方块具有的数学性、动态性与知名度, 也经常拿来作为游戏程序设计的练习题材。本设计选择开发“俄罗斯方块” 游戏不仅具有技术上的可行性,而且开发成果也具有相当的现实意义。 1.3 解决问题的思路、方法以及取得成果 本设计的目的是在 ARM 开发板上运行“俄罗斯方块”游戏程序,而硬件平 台选用的是 Mini2440 开发板,它采用了 S3C2440 微处理器,这款开发板低价实 用,重要的是 Mini2440 开发板已经移植了基于 Linux-2.6.32 内核的嵌入式 Linux 操作系统,还提供了 arm 版本的 QtE-4.6.3,配合用户手册,可以快速入门。 本设计的研究内容主要分为以下 2 个步骤: 第一,鉴于 Qt 的跨平台特性,可以利用 Qt 的相关类库,选择在 PC 机上完 成“俄罗斯方块”游戏程序的设计。本设计使用的是 Windows 版本的 Qt Creator 软件,根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应 用程序框架更加快速及轻易的完成开发任务。游戏程序的设计需要解决几个关键 的问题:方块的数据结构、方块的移动、碰撞和消行等。另外由于开发板屏幕分 辨率为 320*240,所以窗口界面的大小和布局要特别注意。游戏统一使用键盘操 作,后续还可以扩展诸如计分,难度设置、颜色调节等等的功能。 第二,由于 PC 机是 X86 结构,Mini2440 是 ARM 架构,所以设计好的游戏 程序必须通过嵌入式交叉编译以后才能在开发板上运行。因此,嵌入式交叉编译 第 2 页 共 30 页
常州大学本科生毕业设计(论文) 环境的搭建成为了游戏移植过程的关键。QT\Embedded 是 NOKIA 公司的图形 化界面开发工具 Qt 的嵌入式版本,本设计采用的是 4.5.2 版本,配置环境 需要在 PC 机 Linux 环境下,Linux 系统可以通过虚拟机安装,方便快捷。 交叉编译工具需要提前安装,选用的是 Mini2440 配套的 arm-linux-gcc-4.3.2, 接着下载对应 Qt/Embedded 源码包,解压以后要配置编译参数,编译源码 的过程非常漫长,大概需要三个小时,之后设置环境变量,再通过嵌入式交 叉编译俄罗斯方块的游戏程序,将生成的目标文件下载到开发板上运行即 可[8]。开发板外接 USB 接口键盘后,可以直接对游戏进行操作。 第 3 页 共 30 页
常州大学本科生毕业设计(论文) 2 需求分析 2.1 硬件需求 2.1.1 嵌入式处理器 嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范 围极其广阔,从最初的 4 位处理器,目前仍在大规模应用的 8 位单片机,到最新 的受到广泛青睐的 32 位,64 位嵌入式 CPU。嵌入式处理器典型的特点就是工作 稳定性高,功耗较小,对环境的适应能力强,体积小,且集成的功能较多。 嵌入式处理器可以分成以下几类: (1)嵌入式微处理器 嵌入式微处理器是由通用计算机中的 CPU 演变而来的。它的特征是具有 32 位以上的处理器,具有较高的性能,当然其价格也相应较高。但与计算机处理器 不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去 除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要 求。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、 可靠性高的优点。 (2)嵌入式微控制器 嵌入式微控制器的典型代表是单片机,从 70 年代末单片机出现到今天, 虽然已经经过了 20 多年的历史,但这种 8 位的电子器件目前在嵌入式设备 中仍然有着极其广泛的应用。单片机芯片内部集成 ROM/EPROM、RAM、 总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、 D/A、Flash RAM、EEPROM 等各种必要功能和外设。和嵌入式微处理器相 比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、 可靠性提高。 (3)嵌入式 DSP 处理器 DSP 处理器是专门用于信号处理方面的处理器,其在系统结构和指令算 法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。在数字滤 波、FFT、谱分析等各种仪器上 DSP 获得了大规模的应用。 (4)SoC 片上系统 SoC 追求产品系统最大包容的集成器件,是目前嵌入式应用领域的热门 话题之一。SOC 最大的特点是成功实现了软硬件无缝结合,直接在处理器片 内嵌入操作系统的代码模块。而且 SOC 具有极高的综合性,在一个硅片内 部运用 VHDL 等硬件描述语言,实现一个复杂的系统。 ARM 属于嵌入式微处理器的范畴,本文的研究目标是基于 ARM 的程序 开发,所以本设计采用三星公司推出的 16/32 位 RISC 微处理器 S3C2440A,它 为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决 方案。 第 4 页 共 30 页
分享到:
收藏