基于cortex-a53的俄罗斯方块游戏设计与实现.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于cortex-a53的俄罗斯方块游戏设计与实现.docx》由会员分享,可在线阅读,更多相关《基于cortex-a53的俄罗斯方块游戏设计与实现.docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Cortex-A53的俄罗斯方块游戏设计与实现摘要:因为社会的飞速发展,所以人们的生活节奏也在加速发展,随之而来的压力也在倍增,游戏逐渐成为释放压力的最热途径之一。而俄罗斯方块2048游戏则是这几年最火的智益游戏其中之一。本文因此选题基于Cortex-A53的俄罗斯方块游戏设计与实现,主要是在基于ARM Cortex-A53的6818开发板上用C语言进行开发,最终通过点击触摸屏实现两个及两个以上的相邻的相等数字合并成一个新的随机数,这个随机数是原来的两倍,被合并的位置也会产生一个新的随机数,直到出现2048或者相邻的数字不能合并的时候,便结束游戏。为了使游戏更多元化,还加入了音乐播放器和视
2、频播放器这两个功能。本文首先分析了设计2048游戏的背景,然后讲述了2048的发展状况,并根据相关研究方法分析设计2048所需用到的相关知识及工具和环境,编写实现2048游戏的功能的算法和两个播放器的控制代码。关键词:2048游戏,Cortex-A53,播放器Design and Implementation of Tetris Game Based on Cortex-A53Abstract:Because of the rapid development of society, peoples life rhythm is also accelerating, and the pressu
3、res that follow are also multiplying. Games have gradually become one of the hottest ways to release pressure. The Tetris 2048 game is one of the hottest puzzle games in recent years.The topic of this article is based on the design and implementation of the Tetris game based on Cortex-A53. It is mai
4、nly developed in the C language on the 6818 development board based on ARM Cortex-A53. Finally, two or more adjacent two or more adjacent Equal numbers are merged into a new random number. This random number is twice the original number. A new random number will also be generated at the merged posit
5、ion. Until 2048 or adjacent numbers cannot be merged, the game will end. In order to make the game more diversified, two functions of music player and video player have been added.This article first analyzes the background of designing 2048 games, then tells the development of 2048, and analyzes the
6、 relevant knowledge, tools and environment required to design 2048 according to relevant research methods, writes algorithms and two playbacks that implement the functions of 2048 The control code of the controller.Keywords:2048 game,Cortex-A53,PlayerII目 录1 绪 论11.1 研究背景和意义11.1.1 俄罗斯方块2048游戏的背景分析11.1
7、.2 本课题的研究意义21.2 文献综述31.2.1 国内研究31.2.2 国外研究31.3课题研究方法和内容31.3.1 研究方法31.3.2 研究内容42 系统分析52.1 系统背景及现状52.2 系统需求分析52.2.1 综合描述52.2.2 用户需求62.2.3 功能需求62.3 可行性分析73 系统硬件环境83.1 系统总体设计83.2 6818开发板83.2.1 开发板简介83.2.2 开发板接口93.2.3 开发板硬件接口103.3 LCD触摸屏模块103.4 开发工具113.4.1 开发环境113.4.2 开发连接工具113.5 挂载124 系统软件实现134.1 系统整体流程
8、图134.1.1 主函数144.1.2 获取坐标函数154.2 2048游戏控制代码的实现154.2.1 主函数164.2.2 初始化函数184.2.3 开始游戏函数184.2.4 触摸屏204.2.5 棋盘显示224.2.6 重置游戏244.2.7 结束游戏函数244.3 音乐播放器254.3.1 主函数254.3.2 初始化函数264.3.3 获取坐标函数274.4 视频播放器274.4.1 主函数284.4.2 功能函数285 系统测试315.1 开发板调试315.2 显示屏调试32参考文献:37致谢38IV1 绪 论1.1 研究背景和意义1.1.1 俄罗斯方块2048游戏的背景分析俄罗
9、斯方块游戏是1990年代最热门的游戏,是Alexei Pakitnov发明的游戏。俄罗斯方块是下落版的休闲智益游戏的起源,是最经典的世界游戏之一,在当时,可以用游戏机来进行游戏,方便人们携带,因此也掀起了一段热潮。游戏规则是玩家控制各种形态不一的方块下落来通关。如图1-1所示:图1-1 经典俄罗斯方块游戏图本文实现的就是俄罗斯方块的其中一种叫2048,而本课题做的是2048游戏中的数字合合模式,游戏操作界面如图1-2。图1-2 2048小游戏操作界面2048的数字合合模式是由5*5的棋盘制作的,里面有25颗棋子,这25颗棋子是再开始游戏前便产生2,4,8这三个随机数分布再随机的位置上,开始游戏
10、后选择相同的两个或两个以上数字进行合并,合并后产生新的数字是原数字的两倍,被合并的数字被清零后产生新的随机数(2,4,8),以此来进行游戏,出现数字2048游戏胜利。反之,若没有相同的数字进行合并,游戏便已失败告终。2048小游戏是一款休闲智益类的游戏,它操作简单,具有趣味性和脑力性,不仅可以在app上玩,也可以在微信上或者网页上完,十分方便有趣。因此,在人群中能看到不少学生、上班族、儿童或者老人都在玩这款游戏。1.1.2 本课题的研究意义在现代科技日益生活化的今天,单一的游戏格局已经不能满足我们的需求,因此需要我们去挖掘更能吸引人眼球的游戏画面和让人更放松的游戏玩法。而现有的2048游戏大部
11、分都是电脑端或者手机安卓端的,而我在学习了cortex A53相关技术后,就萌生了一个想法,利用我在学校和公司学到的专业知识,用6818开发板实现一个基于ARM Cortex-A53的俄罗斯方块中的新2048游戏中的数字合合模式,该模式的玩法是选择相邻的相同的数字进行合并,当你成功合成2048方块的时候即为过关。课题将来要达成以下目标:完成硬件系统的搭建,将特定裁剪的内核烧入ARM53开发板,使2048合合游戏的棋盘显示在LCD屏幕上,且能用手指点击触屏合并相同的数字,模拟玩游戏,可以随时进行游戏和重新开始,并且计算游戏得分,还有音乐播放器和视频播放器这两个功能。2048游戏是基于Cortex
12、-A53在嵌入式Linux平台进行开发,针对想进行休闲娱乐或者减压的人群进行开发设计,最终目的是希望实现一个用手触屏操作(上下左右移动),规则简单,容易操作的新2048游戏中的数字合合模式智益类小游戏,从而能够提高我自己的编程水平,帮助我熟练掌握c语言技术开发相关知识的运用,培养我的独立思考和解决问题的能力,为我今后的Linux系统开发设计和运用打下一个良好的基础。1.2 文献综述1.2.1 国内研究现在,随着社会飞速的发展,人们的生活多姿多彩,游戏逐渐成为生活的调味品,即减压器。压力需要被释放,身心才能健康,人才有动力和活力去工作。而2048则是大部分人分解压力的途径。因为2048的规则简单
13、明了,所以玩家玩游戏的时候不会太烧脑,还能娱乐自己。因此,可以看到大街小巷的人群中有不少的人在玩这款游戏。不仅如此,在大学里,也可以看到大学生通过2048游戏解闷和释放压力。1.2.2 国外研究2048游戏是在1024游戏的基础上进行开发的,因此它是数字类游戏.现在的2048被发展成各种类型的衍生模式,其中2048中国朝代版特别适合热爱中国文化的玩家。2048游戏发展到现在,在全球多个国家的游戏排行榜上屡屡上榜,其中KETCHAPP公司的IOS版本的下载量最多和传播度最广。1.3课题研究方法和内容1.3.1 研究方法本论文在撰写过程中主要运用了以下两种研究方法:文献研究法:根据需求,通过线上查
14、阅书籍和相关的文献来获取有关研究课题的资料,从而详细、科学、正确、客观、全面地了解2048游戏所需的技术,找研究2048游戏时出问题的本质属性,进而设计和编写程序。实验法,根据已有问题进行研究和分析,进行假设和验证的方法。通过相关书籍和文献资料等素材,进行实2048游戏的设计和编程等操作。包括游戏的界面设计,编程和测试。1.3.2 研究内容本论文一共分为五个部分,具体内容安排如下:第1章:绪论。主要介绍本论文的研究背景和意义,然后是国内外的文献综述,再然后,将2048游戏与社会实际发展情况相结合,阐述扫2048游戏的研究的背景和意义。第2章:系统分析。介绍2048游戏的开发背景和现状,进行需求
15、分析和可行性的分析。第3章:系统硬件环境。介绍开发工具和系统总体设计、6818开发板和LCD显示屏,说明开发工具与硬件环境搭建和怎么挂载成功。第4章:软件系统设计,介绍具体的2048游戏和音乐播放器以及视频播放器的控制代码。第5章:系统测试。对开发板和显示屏进行调试,对2048游戏和播放器之间整体进行测试,呈现最终的效果。第6章:结论。总结系统设计的不足和收获。2 系统分析本章主要是介绍2048游戏的开发背景和现状调查,进行需求分析和可行性的分析,提出使用的开发工具。本设计需要实现2048的数字合合模式和音乐播放器和视频播放器,硬件需要用到Cortex-A53的开发板的显示屏和音频模块,最终实
16、现在开发板点击触摸屏可以在界面的左侧打开音乐播放器和视频播放器,并能在界面的左侧进行游戏。2.1 系统背景及现状如今,社会的发展,科技的进步,使得人们的生活节奏也在不断加快,压力也变得越来越大了,而游戏成为人们减压的首选。在游戏中,能体验到不一样的乐趣和精神上的放松。智益游戏因规则简单,不需费什么脑力而发展迅速,成为这几年中最火爆的游戏之一。2048游戏则是这类游戏中之一,因为2048游戏的多种模式,适合多种人群使用,所以人们对其也变得越来越热衷。现在,2048游戏是人们游戏下载榜中的火热游戏,它不需联网也可以玩,模式和玩法也多种多样。故而,2048游戏正呈现出一种生机盎然的发展趋势。2.2
17、系统需求分析2.2.1 综合描述2048游戏是如今游戏排行榜的最火热游戏之一。用户工作疲惫之余,玩一玩2048游戏既可以抒发烦闷的心情,也可以放松一下紧绷的神经。2048游戏的合合模式只需滑动一下手指便能玩,即简单又自然,也是许多人爱上这种游戏模式的原因之一。本课题需要实现2048的数字合合模式,外加音乐播放器和视频播放器,需要Cortex-A53的开发板,如LCD显示屏即触摸屏,音频。总体实现是先将界面做出来,如做一个棋盘,音乐和视频这两个按键,再将2,4,8这三个数字的图片随机填到棋盘中,并把棋盘填满,这是最基本的界面设计。然后分析2048数字合合模式的算法,推算出棋子的合并算法和游戏结束
18、的实现算法,最终能在显示屏上实现该游戏的开始和重新开始。音乐播放器和视频播放器则需要阅读相关文档,熟悉所要用到的命令格式,并用switch函数来实现音乐播放器的的功能(如:播放上一首、下一首、暂停、继续和退出。)与视频播放器的功能。(如:重新播放、暂停、继续、调节音量和退出播放。)视频播放器可以通过管道来实现这些功能的,但是要注意创建管道时的命令格式和路径。2.2.2 用户需求移动游戏正在渗透人们的生活,在工作之余,课间,睡前,甚至在交通工具上都有大量的人在玩游戏,听音乐和玩抖音。相对于工作能满足人们生活上的需求,游戏、音乐与视频更能满足人们的精神上的需求。2048游戏的数字合合模式正适用于生
19、活在高压的现代社会的人们,他们急需在游戏中放松身心,才能身心保持健康。在此基础上,我还增加了音乐播放器和视频播放器以满足用户的需求,使得整个游戏变得更多样化。2.2.3 功能需求在这课题设计中,2048游戏的数字合合模式将会实现通过LCD触摸屏触动棋子来控制游戏的玩法,通过点击棋盘中的棋子来进行游戏,将实现开始和重新开始游戏等操作,同时加入音乐和视频进行舒缓身体的焦虑。2048游戏的数字合合模式的规则是:在一个5*5的格子里随机生成2X数字(X0),并把它填满棋盘中,玩家点击其中一个棋子时,这个棋子会和附近其他相同的数字合到一起生成一个新的数,该数字是之前的两倍,其他被合并的棋子会随机产生新的
20、数字。当玩家玩到2048或者没有相同的相邻数字进行合并时就结束游戏。该游戏只需在触摸屏上以点击棋子的方式来实现棋盘上的棋子的移动,使得相邻的相等数字合并成一个新的数字,以此类推,直到出现2048或者棋子不能合并时,便结束游戏。2.3 可行性分析2048的数字合合模式功能简单,易实现,cortex53芯片具有体积小、成本低、支持多种品牌、可以联网、支持电源休眠唤醒,支持 Linux和Ubuntu嵌入式操作系统的特性,该芯片的显示屏是800*480的分辨率可支持2048游戏的实现,2048的界面是由80*80的图片组成游戏界面,因此显示屏足够显示游戏画面。显示屏还可以通过点击函数来实现音乐和视频播
21、放器的功能,通过点击屏幕上的按键坐标来实现播放视频和音乐。由于在之前已经学习在触摸屏上播放音乐相册和播放音乐,所以对于触摸屏上的操作还是比较熟悉的。游戏使用arm-linux-gcc交叉编译环境在Linux的Ubuntu上用C语言编译,在开发板上挂载后进入/mnt目录下编译可执行文件,最后实现能在开发板的触摸屏上进行游戏和播放视频与音乐。该设计的图片是用bmp格式来显示的,但是在开发板上是24位显示的,所以要用函数把24位转换成32位int的方式显示,转换后先用lseek(fd, 54, SEEK_SET)偏移bmp格式头,即编移54个字节,然后用内存映射显示图片。音乐播放器则需要移植madp
22、layer,而视频播放器移植mplayer来实现音乐和视频音频的播放。3 系统硬件环境3.1 系统总体设计2048游戏的数字合合模式是在LCD显示屏上进行操作的,先进入主界面,有三个触屏按键,分别是音乐播放器、游戏和视频播放器。点击按键可进入对应的功能界面,可通过点击按钮来控制这游戏和两个播放器的各种功能。首先搭建一个棋盘。因为之前学习了播放器的制作,所以先制作音乐播放器和视频播放器,再制作游戏。两个播放器主要是madplayer和mplayer的移植,游戏则要测试开发板与虚拟机之间的环境,是否能挂载和传输文件,最重要的是测试显示屏(触摸屏)是否完好。3.2 6818开发板2048游戏的数字合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 cortex a53 俄罗斯方块 游戏 设计 实现
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内