欢迎来到天天文库
浏览记录
ID:12399038
大小:829.50 KB
页数:25页
时间:2018-07-16
《毕业设计(论文)-基于arm的五子棋游戏设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、目录摘要11引言21.1项目背景21.2需求分析22系统总体方案42.1五子棋实现方案42.2棋盘和棋子52.3规则及解释62.4五子棋攻防62.5软硬件环境72.6开发环境配置73游戏设计与功能实现83.1算法模块83.2欢迎界面模块93.3棋盘与棋子模块123.4键盘响应模块143.5帮助文档模块154游戏测试165结束语21参考文献22Abstract23致谢24i德州学院信息管理学院2014届计算机科学与技术专业毕业设计基于ARM9的五子棋游戏设计与实现(德州学院信息管理学院,山东德州253023)摘要摘
2、要:本项目是基于ARM9处理器的嵌入式五子棋游戏,目的是实现嵌入式系统小游戏的设计与开发。该游戏基于Linux操作系统,采用LinuxC语言设计实现了FrameBuffer显示机制、LCD显示控制和键盘通信模块。通过LCD控制器显示五子棋游戏相关信息,利用键盘技术来操控游戏的具体实施。该游戏的设计包括五子棋设计方案论述、棋盘与棋子、规则以及五子棋的攻防等问题,具体实现过程分为算法模块、欢迎界面模块、棋盘与棋子模块、键盘响应模块、帮助文档模块。关键词:嵌入式;五子棋;ARM9;Linux24德州学院信息管理学院20
3、14届计算机科学与技术专业毕业设计1引言1.1项目背景五子棋是起源于中国古代的传统黑白棋种之一,现代五子棋日文称之为连珠,英译为Renju,英文称之为Gobang,亦有连五子、五子连、串珠、五相、无相碰、五格等多种称谓。五子棋起源于古代中国,发展与日本,盛行于欧洲。它与围棋有两种出现的先后关系性说法,一说五子棋比围棋早,早在“尧造围棋”之前,民间就有类似于五子棋的游戏;一说产生于围棋之后,是围棋发展的一个分支。在中国的文化里,倍受人们的青睐。本世纪初五子棋传于欧洲并迅速风靡于全欧。通过一系列的变化,使五子棋这一简
4、单的游戏复杂化、规范化。而最终成为今天的连珠五子棋,同时也成为一种国际比赛棋。ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权[1]。目前,采用ARM知识产权的微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正逐步渗入到我们生活的各个
5、方面。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此即使的ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争[2]。五子棋游戏不仅是一项游戏,而且还是一个能开发人智力的的工具,随着社会快速的发展以及人们在社会生产过程中竞争的不断加强,智力型开发已经被提上日程。尤其是对孩子的智力开发,复杂的游戏会让孩子产生排斥心理,过于简单的游戏则达不到想要的效果,而基于嵌入式系统的五子棋游戏的开发则是一个更好的选择,他不仅难度适中,操作简便,而且
6、还具有很好的开发智力的功能。在国内以及国外都得到了很好地赞誉。1.2需求分析对于一个人机对弈的嵌入式五子棋游戏来说,主要应解决五子棋游戏的图形显示、智能人工算法、键盘响应处理3个问题。(1)图形显示24德州学院信息管理学院2014届计算机科学与技术专业毕业设计图形显示问题应该包括怎样设计友好的人机交互界面;怎样将棋子和光标显示在LCD正确的位置上;怎样在棋盘移动光标时去掉以前位置上的旧光标产生的痕迹;怎样在棋子与光标叠加时去除光标痕迹;怎样进行游戏后的图像处理问题;怎样从方形图片得到游戏所需的圆形棋子;怎样进行汉
7、字在游戏过程中的显示问题等。由于该游戏所采用的LCD规格为640×480像素,根据该规格设计所使用的黑棋子、白棋子、背景图片、光标[3]。为了使游戏界面更加友好,我决定采用图片字体显示方式,而不是使用SDL_ttf中的字体。棋子与棋盘采用3D效果,光标与黑、白棋子三者的图片大小完全一致,都是25×25像素,并且背景的色度空间都是选用RGB(255,0,255),也就是我们所说的粉红色。通过调用SDL函数库中的SDL_SetColorKey函数把粉红色颜色作为过滤色[3]。因此在该游戏显示这些图片过程时,看不到粉红
8、色的颜色背景,看起来就像图片被做了切割一样。光标在新的位置重画以后,即使使用SDL_UpdateRect函数把游戏的整个屏幕都刷新后,原来的位置仍存在以前光标的图像,一直到程序的退出后才消失[4]。解决这个问题我所采用的办法是当光标想要在游戏某个位置上显示时,先把该位置上与光标图片大小完全一样的区域记录下来,再显示光标图像,当光标移动时,把记录下来的图片重新显示到原来的位
此文档下载收益归作者所有