首页 刮刮乐游戏逻辑与算法的设计论文-张朋捷

刮刮乐游戏逻辑与算法的设计论文-张朋捷

举报
开通vip

刮刮乐游戏逻辑与算法的设计论文-张朋捷长沙理工大学 《专业方向综合实训》报告 刮刮乐游戏逻辑与算法的设计 学院计算机与通信工程专业计算机科学与技术 班级计算机科学与技术学号 学生姓名指导教师 课程成绩完成日期  2017.7.1            计算机工程实训成绩评定 学院计算机与通信工程专业计算机科学与技术 班级学号 学生姓名指导教师  周书仁 课程成绩完成日期  2017.7.1    指导教师对学生在实训的评价 评分项目 优 良 中 及格 不及格 实训中的创造性成果           学生掌握课程内容的...

刮刮乐游戏逻辑与算法的设计论文-张朋捷
长沙理工大学 《专业方向综合实训》报告 刮刮乐游戏逻辑与算法的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 学院计算机与通信工程专业计算机科学与技术 班级计算机科学与技术学号 学生姓名指导教师 课程成绩完成日期  2017.7.1            计算机工程实训成绩评定 学院计算机与通信工程专业计算机科学与技术 班级学号 学生姓名指导教师  周书仁 课程成绩完成日期  2017.7.1    指导教师对学生在实训的 评价 LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载 评分项目 优 良 中 及格 不及格 实训中的创造性成果           学生掌握课程内容的程度           实训完成情况           实训动手能力           文字表达           学习态度           规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 要求           实训论文质量                       指导教师对实训的评定意见 综合成绩 指导教师签字 年 月 日   刮刮乐游戏软件的设计与实现 摘要 游戏的意义在于提供额外的娱乐。作为一个十分流行的消遣方式,游戏的模式十分多样化,各种游戏也不尽相同。有人说,游戏是劳作后的休息和消遣,本身不带有任何目的性的一种行为活动,也有人说,游戏就是在快乐中学会某种本领的活动。游戏,伴动物而生。在动物世界里,游戏是各种动物熟悉生存环境、彼此相互了解、习练竞争技能、进而获得“天择”的一种本领活动。游戏,随人类而造。在人类社会中,游戏不仅仅保留着动物本能活动的特质,更重要的是作为高等动物的人类,为了自身发展的需要创造出多种多样的游戏活动。游戏,并非为娱乐而生,而是一个严肃的人类自发活动,怀有生存技能培训和智力培养的目标。本课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 以Linux操作系统为基础,利用X64平台上的开源软件,移植若干软件到ARM平台上,包括:移植U-Boot,移植Linux内核,移植播放器madplayer,移植数据库SQLite,移植图形库Qt,利用这些开源软件开发出相应的驱动和图形界面,应用数据库管理音频信息,完成一个嵌入式刮刮乐游戏软件的应用,并体现出开源软件移植应用的过程与注意点。 关键词:Linux;游戏;ARM;娱乐 Design and implementation of the game software:Guaguale ABSTRACT The point of the game is to provide extra entertainment. As a popular pastime, the game patterns are very diverse and various games are not the same. Some people say that the game is a rest and recreation after work, and there is no purposeful activity in itself. Others say that games are activities that learn some skill in happiness. Games, accompanied by animals. In the animal world, the game is a kind of skill activity that all kinds of animals know the living environment, understand each other, practice competitive skills, and then acquire "natural selection". Games are created with humans. In human society, the game is not only retains the characteristics of animal instinct activity, it is more important as the human of higher animals, for the sake of their own development needs to create a variety of games. The game is not for entertainment, but for a serious human initiative, with the goals of survival skills training and intellectual cultivation. This topic is based on Linux operating system, using X64 platform of open source software, some software on the ARM platform, including: transplantation of U - the Boot, the Linux kernel, portable player madplayer, transplant database SQLite, transplant graphics library Qt, use the open source software to develop the corresponding drive and the graphical interface, application of database management of audio information, complete a embedded scratch game software applications, and reflects the process of open source software transplantation and pay attention to the point. Key words:Linux;Game;ARM;Entertainment 目录 1 绪论    1 1.1 课题的目的与意义    2 1.2 课题的需求分析    4 1.3 课题的设计环境    6 2 开发环境的搭建    7 2.1 Ubuntu环境的搭建    8 2.2 交叉工具链的搭建    8 2.3 硬件连接    9 3 课题总体设计    10 3.1 课题模块设计    10 3.1.1触摸屏模块    10 3.1.2随机数模块    11 3.1.3图片显示模块    12 3.2 课题开发环境简介    12 3.3 课题测试环境说明    13 3.3.1 SecureCRT简介    14 3.3.2 SecureCRT使用说明    14 4 U-boot和系统移植    15 4.1 Linux内核移植    15 5 课题实现    10 5.1 触摸屏功能的实现    10 5.2 随机数的显示    10 6 运行与测试    11 6.1 触摸屏响应测试    11 6.2 图片显示测试    11 6.3 随机数显示测试    12 结束语    20 参考文献    21 致谢    22 附录  主要源程序代码    23 1 绪论 1.1课题的目的与意义 刮刮乐”是一种全新的网点即开型福利彩票,它以“扶老、助残、救孤、济困”为发行目的,即买即开,返奖率由原来的50%提高到65%。新型彩票“刮刮乐”游戏采用了现今世界先进的二维条码防伪保安识别系统和与之相配套的先进的销售物流管理系统。而我们的刮刮乐游戏则是用纯c语言实现代码的编写,利用Linux平台进行交叉编译再移植到Linux内核单片机上进行运行显示。同时,做这个刮刮乐游戏首先是为了提高我们对于实训课题的理解和动手能力,最后也是对于传统纸质刮刮乐游戏的一种抛弃。实现节约,更加能够实现娱乐性。 1.2课题的需求分析 现在刮刮乐票种类丰富,从昆明刮刮乐刚上市的火爆销售到现在彩民朋友购买“刮刮乐”日趋理智。很多彩票店主认为“刮刮乐”已经是“日落西山”已经不好卖了,或则是根被就卖不出去了。所以有些彩票店干脆直接不卖“刮刮乐”了。或者进几种自己认为好卖一点的“刮刮乐”放在一个很不起眼的角落里。更有甚者直接放抽屉里,美其名曰“这样安全“。但是电子刮刮乐彩票的推广确实极少。所以我们希望能够做出一款基于嵌入式实验开发板的刮刮乐游戏,能够抛弃传统的纸质刮刮乐游戏,实现电子刮刮乐游戏的推广。这样能够节省很大的人力以及物力。 1.3课题的设计环境 交叉编译环境:Ubuntu 运行环境:Linux单片机 2 开发环境的搭建 2.1Ubuntu环境的搭建 平台:vmware workstation 12 Linux系统:Ubuntu Ubuntu系统vmware安装和配置  (1). 文件下载和安装  下载ubuntu安装镜像包,如ubuntu-12.10-desktop-i386.iso 2) 下载vmware中文破解版,安装vmware (2). Ubuntu系统安装  1) 启动vmware,选择“文件 -> 新建虚拟机”; 2) 选择“ 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ”安装 3) 在“系统安装”界面选择“安装盘镜像文件”,并从iso文件下载目录选择下载的iso文件 4) 输入主机名,用户名和密码 5) 选择“虚拟机名称”,默认即可 6) 指定磁盘容量,默认即可 7) 安装准备就绪界面,单击”完成”开始安装 8) 开始系统安装,安装过程按照实际设计 2.2 交叉工具链的搭建 查看交叉开发工具: which arm-linux-gcc 假如显示如下信息则安装成功: /usr/local/arm/arm-2009q3/bin/arm-linux-gcc 否则下载arm-linux-gnueabi-4.5.1.tar.bz2压缩包。 在用户工具目录中创建交叉工具的工作目录,如下命令: sudomkdir  /usr/local/arm/ sudocp arm-linux-gnueabi-4.5.1.tar.bz2  /usr/local/arm/ cd /usr/local/arm/ sudo tar -xjvf arm-linux-gnueabi-4.5.1.tar.bz2 cd /usr/local/arm/usr/local/arm/4.5.1/bin ls cd  进入家目录 vim .bashrc 在该文件末尾添加: export PATH=/usr/local/arm/usr/local/arm/4.5.1/bin:$PATH 查看是否配置成功: which arm-linux-gcc /usr/local/arm/4.5.1/bin/arm-linux-gcc 注意:配置完毕后记得把终端关闭再打开,让用户环境变量生效。 2.3 硬件连接 工具: 嵌入式开发板 1 数据线、串口线、电源 设置CRT串口工具: 文件-》快速连接 协议:serial 端口:com? 波特率:115200 数据位:8 奇偶校验:无 停止位:1/bin 注意:记得把数据流控制中的勾全去掉 交叉编译: arm-linux-gcchello.c -o hello  下载,交叉编译后的可执行文件。 rz -y 选择要下载的文件,比如xxx chmod 777 XXX    ./xxx 进行相应的编译。 3课题总体设计 3.1课题模块设计 本课题主要是由触摸屏模块、随机数模块、显示模图片块三个模块。 3.1.1触摸屏模块 对单片机触摸屏模块,本课题主要通过获取触摸屏的设备路径、触摸测试程序、触摸屏校准程序,来获取触摸屏的数据。 3.1.2随机数模块 随机数的实现,本课题是用时间做种,用到了time函数,每次产生随机数不一样。利用随机数的显示,进行相关的判断,来实现刮刮乐游戏后面图片的显示。 3.1.3图片显示模块 本课题采用的图片是bmp,计算机可识别图像格式,没有经过任何压缩算法,压缩的图片格式。首先open函数所返回的文件描述符,将图片读入缓冲区,读取的文件大小,成功读取数据。再从缓冲区中将图片读出显示在屏幕上。 3.2课题开发环境简介 Ubuntu:是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于DebianGNU/Linux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的。 ARM开发板,即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品。 ARM开发板根据ARM内核可以分为ARM7、ARM9、ARM11、 Cortex-M系列、Cortex-R系列、Cortex-A系列。其中Cortex-M系列又可分为Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4;Cortex-R系列分为Cortex-R4、Cortex-R5、Cortex-R7;Cortex-A系列分为Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A50等[2]  ,同样也就有了对应内核的Cortex-M0开发板、Cortex-A5开发板、Cortex-A8开发板、Cortex-A9开发板、Cortex-R4开发板等等。由于ARM公司只对外提供ARM内核,各大厂商在授权付费使用ARM内核的基础上研发生产各自的芯片,形成了嵌入式ARM CPU的大家庭,提供这些内核芯片的厂商有Atmel、TI、飞思卡尔、NXP、ST、和三星等。 3.3课题测试环境说明 3.3.1SecureCRT简介 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。 SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。 3.3.2SecureCRT使用说明 协议:serial 端口:com3 波特率:115200 数据位:8 奇偶校验:无 停止位:1/bin 注意:记得把数据流控制中的勾全去掉 实现连接Arm板。 图 3.1连接实验板 图 3.2连接实验板成功 4U-boot和系统移植    4.1 Linux内核移植 1.烧写启动文件 要移植操作系统,需要启动代码了,也就是u-boot了。可以从网上找。 2.下载linux源代码 我们去linux官网上下载吧,这个是连接:   在这里下载linux-3.3.5。 3.修改Makefile文件 下载到源代码后,首先是解压,解压的命令是 tar xvzf linux-3.3.5.tar.gz 这样就完成了解压。现在修改一些设置,为编译做准备。 4.编译内核 把smdk210v板子的config文件拷过来了,进行内核编译。 5课题实现 5.1 触摸屏功能的实现    主要代码: read(tsfd,&ts,sizeof(ts));//读取触摸屏 if(ts.type == EV_ABS){ if(ts.code == ABS_X) {    x_coo=ts.value; printf("x event! x=%d\n",ts.value);    }        else if(ts.code == ABS_Y) { y_coo=ts.value; printf("Y event! y=%d\n",ts.value); } } 5.2随机数的显示 srand ((unsigned)time(NULL) ); //用时间做种,每次产生随机数不一样 number = rand()%10; //产生0-100的随机数 printf("%d\n",number); 6 运行与测试 6.1 触摸屏响应测试 每次运行时,首先都会对触摸屏进行一定的测试,编译软件会打印出相应触摸的坐标。判断触摸点是否在坐标点内。 图 6.1输出获取的坐标点 6.2图片显示测试 图片显示为中奖或者谢谢惠顾。 图 6.2显示中奖 图 6.3显示谢谢惠顾 6.3 随机数显示测试 在程序运行时,随机数也会相应地打印出来。随机主要用来实现,显示图片是否中奖。 图 6.4显示随机数 结束语 在本次实训课题中,我学习了关于交叉编译、mplayer的移植、单片机上的socket传输、qt编程等等。非常感谢来自粤嵌老师的辛勤指导,以及指导老师的谆谆教导。本次我的课题是实现刮刮乐游戏软件,在本次课题的实现中,我遇到了很多困难。但是经过同学之间的相互讨论,问题也就逐渐迎刃而解。这也让我感觉到了队员之间讨论的重要性,对于我,本次实训将会是一次非常宝贵的经历。 参考文献 [1]胡谋.计算机容错技术[S].中国铁道出版社.1995 年,北京 [2]孙天泽 ,袁天菊 .嵌入式设计及Linux 驱动开发指南一基于ARM处理器 (第二版 ).电子工业出版社 ,2007:340—385 [3]张建正 . 嵌入式Linux下Qt/Embedded的应用[A].计算机技术与发展.2006: 179—181 [4]王珍熙.可靠性和冗余及容错技术[J].航空工业出版社.1991年 [5]Xteam (中国)软件技术有限公司[M].Qt程序设计.北京:清华大学出版社.2002:85—86 致谢 感谢来自粤嵌老师的辛勤指导,感谢实训过程中学院所有老师的教诲。没有你们的辛勤努力,我们就不会学到这么多东西。感谢您们。也衷心感谢我的导师周书仁周老师对我的指导和教诲。您开阔的思维、敏锐的洞察力以及详细的修改意见一直给我很大的启发。一路走来,从您们的身上我收获无数,却无以回报,谨此一并表达我的谢意。 附录  主要源程序代码 #include "img.h" #include #include #include #include #include #include #include #include #include #include #include #include //用到了time函数 void show24bmp(char *picname,unsignedint *lcd,intx,int y) { //打开图片    intbmpfd=open(picname,O_RDWR); if(bmpfd<0) { printf("open fail\n"); } //获取图片的长和宽 intmes[3]={0}; lseek(bmpfd,18,SEEK_SET); read(bmpfd,mes,8); //判断是否越界 if(mes[0]<=800&&mes[1]<=480) { lseek(bmpfd,54,SEEK_SET); char buf[mes[0]*mes[1]*3]; read(bmpfd,buf,mes[0]*mes[1]*3); char *p=buf; char red; char green; char blue; int color; inti,j; int buf32[mes[1]][mes[0]]; for(i=0;i
本文档为【刮刮乐游戏逻辑与算法的设计论文-张朋捷】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_014457
暂无简介~
格式:doc
大小:64KB
软件:Word
页数:24
分类:互联网
上传时间:2019-04-11
浏览量:85