论文部分内容阅读
[摘要]电子游戏平台从电视游戏机到通用个人计算机再到现在的手机、PDA等嵌入式设备,各种游戏每时每刻的出现在我们的眼前。使用C语言编辑一个广泛流行的小型游戏拼图游戏。能够判断出图形是否已经组装完毕,并判断是否成功的拼完整个图形,游戏还要有分步的记录和倒计时的功能。该类课程设计对培养适应社会需求的嵌入式技术人才有着重要意义。
[关键词]嵌入式技术 拼图 游戏设计
[中图分类号]G434 [文献标识码]A
一、引言
拼图游戏是一个益智游戏,如同现在手机中的游戏一样。拼图游戏就是将一幅混乱的图片拼成完整的图形。现在的拼图游戏有两种方式,一种是利用移动将打乱的图形恢复正常,一种是将上百的碎片拼成一幅完整的图片[1]。为了设计一个益智类的游戏,我们选用第一种的游戏设计方案。就实现方法来说,要让电脑知道该拼图游戏如何对一个完整的图片进行随意的分割,判断出图形是否已经组装完毕,并判断是否成功的拼完整个图形,游戏还要有分步的记录和倒计时的功能。
二、总体设计
拼图游戏总体设计编程思想:首先游戏在MAIN函数中生成一个主任务Main_Task,根据优先级开始执行主任务。主任务中先是显示主界面选择图片的地方,点击图片以后就可以进入到游戏区了。进入到游戏界面之前首先的就是将图片进行打乱,执行打乱算法函数,同时执行时间函数。这时进入到触摸屏的机制函数中,开始等待触摸屏的消息。在同一个循环中判断标志,根据标志的情况退出游戏界面的消息机制重新的开始执行开始界面。游戏失败或成功后返回主界面[2]。图1显示了拼图游戏总体设计流程图。
游戏的关键就是在图形如何的分割成小型的碎片,又如何判断出图形是否已经组装完毕。同时游戏的开发难度还在图形的移动上,如何使图形可以自由的移动同时又可以智能的判断是否已经成功的拼完整个图形了。游戏的存在肯定有它的输赢。 玩游戏的目的一是为了消磨时光,一是为了在游戏中取得娱乐同时还有一种竞争。为了实现在这些功能,游戏中应该有计分功能。拼图游戏,还有它的计步数功能,同时应该还有计时功能。游戏界面如图2所示。
游戏者通过触摸屏实现对图片的操作,主要是实现对图片的移动来完成游戏。算法主要包括:
图形切割算法:将一张完整的图片分成数张小图片。
打乱算法:将数张组成完整图形的图片打乱顺序,成不规则图形。
移动算法:点击图片以后可以上下左右的移动。
图形显示算法:将图形在PDA机上显示。
触摸屏算法:点击触摸屏后,分析触摸屏数据完成动作。
时间算法:以任务形式进行倒计时。
利用数学建模的思想,将图形分割成形状相同的碎片。在图形切割上,可以使用图形学上的切割方法充分的考虑图形的边缘地区。但是在游戏中,为了方便和简单在图形的输入上可以有自己控制,这样的话坐标就可以由自己决定。在图形的切割上可以轻松的利用数组实现。图片在PDA上作为一个二维的图形,它的显示可以在一个二维的数组上实现。这样的话就可以利用一个二维数组来记录图片的分布情况,利用二维数组中记录的值来实现图片的移动。同时还有打乱算法。一定的随机性,这样就要用到随机函数。
三、拼图游戏算法部分
1.主要数据结构
2.图形切割算法
切割图形最主要的就是认识图形的存贮文件的格式。对于图形的分割,最主要的是对于图形边缘的分析。对于制定的图形的文件大小,同时还有显示形势,可以利用二位数组的形势进行切割。具体的操作就是将文件读入到一个二维数组中,同时利用二维数组的下标将文件分成9个小文件[3]。唯一要注意的就是在算下标的时候一定要考虑到一个像素点在二维数组中所占的字节数。将文件分割后,分别的放在9个小的二维数组中为以后的显示做好准备。在游戏的代码中,图形的大小是根据具体的数值指定的。
3.打乱算法
编程思想:利用图形自己移动来进行打乱,这样的打乱不会引起此次游戏无法玩出的结果。随机函数生成一个值,同时取现在系统时间的秒数,取他们异或以后的值再取4的模,这样随机得到的值是0、1、2、3,用它们来各自代表一个方向。这样的打乱就是随机的,出现重复的机会小。同时值的改变是利用数组。数组记录了图形打乱以后的所在位置。下面结构是为打乱算法中能将图形彻底的打乱提供随机数的种子[4]。这样产生的图形碎片的位置会随机变化,使游戏难度增加,也更加好玩。
4.移动算法
編程思想:点击图片以后,分析代表图形分布情况的数组,得到什么地方是空的没有图片,就将点中的图形显示到空白的地区,而同时也将原本点击过而有图片的地方抹掉,显示空白。同时将记录图形分布情况的数组进行改写,将点击过的地方改写为8(即表示为空),而原先空的地方要写入挪到那个地方图片的信息,这样就实现了图片的移动。
移动算法的主题还是对数组的改动,以二维的数组为根本,进行二维图形的操作。图3显示了移动算法程序流程图。
四、总结
与嵌入式技术相结合的拼图游戏,使人们通过携带手机或PDA等电子产品,随时随地想玩就玩、操作方便。人们从游戏中可以得到放松并通过玩拼图游戏增加思考并提高学习能力。
基金项目:北京信息科技大学《嵌入式系统及安全》课程建设项目
[参考文献]
[1]胡昭民.游戏设计概论(第3版).北京:清华大学出版社,2011
[2]王小妮、魏桂英、杨根兴.嵌入式组件设计[M].北京航空航天大学出版社,2012
[3](美)Scott Jacobs. 游戏编程精粹7[M].北京:北人民邮电出版社,2010
[4](美)Andrew Binstock.程序员实用算法[M].北京:机械工业出版社,2009
(作者单位:北京信息科技大学 理学院 北京)
[关键词]嵌入式技术 拼图 游戏设计
[中图分类号]G434 [文献标识码]A
一、引言
拼图游戏是一个益智游戏,如同现在手机中的游戏一样。拼图游戏就是将一幅混乱的图片拼成完整的图形。现在的拼图游戏有两种方式,一种是利用移动将打乱的图形恢复正常,一种是将上百的碎片拼成一幅完整的图片[1]。为了设计一个益智类的游戏,我们选用第一种的游戏设计方案。就实现方法来说,要让电脑知道该拼图游戏如何对一个完整的图片进行随意的分割,判断出图形是否已经组装完毕,并判断是否成功的拼完整个图形,游戏还要有分步的记录和倒计时的功能。
二、总体设计
拼图游戏总体设计编程思想:首先游戏在MAIN函数中生成一个主任务Main_Task,根据优先级开始执行主任务。主任务中先是显示主界面选择图片的地方,点击图片以后就可以进入到游戏区了。进入到游戏界面之前首先的就是将图片进行打乱,执行打乱算法函数,同时执行时间函数。这时进入到触摸屏的机制函数中,开始等待触摸屏的消息。在同一个循环中判断标志,根据标志的情况退出游戏界面的消息机制重新的开始执行开始界面。游戏失败或成功后返回主界面[2]。图1显示了拼图游戏总体设计流程图。
游戏的关键就是在图形如何的分割成小型的碎片,又如何判断出图形是否已经组装完毕。同时游戏的开发难度还在图形的移动上,如何使图形可以自由的移动同时又可以智能的判断是否已经成功的拼完整个图形了。游戏的存在肯定有它的输赢。 玩游戏的目的一是为了消磨时光,一是为了在游戏中取得娱乐同时还有一种竞争。为了实现在这些功能,游戏中应该有计分功能。拼图游戏,还有它的计步数功能,同时应该还有计时功能。游戏界面如图2所示。
游戏者通过触摸屏实现对图片的操作,主要是实现对图片的移动来完成游戏。算法主要包括:
图形切割算法:将一张完整的图片分成数张小图片。
打乱算法:将数张组成完整图形的图片打乱顺序,成不规则图形。
移动算法:点击图片以后可以上下左右的移动。
图形显示算法:将图形在PDA机上显示。
触摸屏算法:点击触摸屏后,分析触摸屏数据完成动作。
时间算法:以任务形式进行倒计时。
利用数学建模的思想,将图形分割成形状相同的碎片。在图形切割上,可以使用图形学上的切割方法充分的考虑图形的边缘地区。但是在游戏中,为了方便和简单在图形的输入上可以有自己控制,这样的话坐标就可以由自己决定。在图形的切割上可以轻松的利用数组实现。图片在PDA上作为一个二维的图形,它的显示可以在一个二维的数组上实现。这样的话就可以利用一个二维数组来记录图片的分布情况,利用二维数组中记录的值来实现图片的移动。同时还有打乱算法。一定的随机性,这样就要用到随机函数。
三、拼图游戏算法部分
1.主要数据结构
2.图形切割算法
切割图形最主要的就是认识图形的存贮文件的格式。对于图形的分割,最主要的是对于图形边缘的分析。对于制定的图形的文件大小,同时还有显示形势,可以利用二位数组的形势进行切割。具体的操作就是将文件读入到一个二维数组中,同时利用二维数组的下标将文件分成9个小文件[3]。唯一要注意的就是在算下标的时候一定要考虑到一个像素点在二维数组中所占的字节数。将文件分割后,分别的放在9个小的二维数组中为以后的显示做好准备。在游戏的代码中,图形的大小是根据具体的数值指定的。
3.打乱算法
编程思想:利用图形自己移动来进行打乱,这样的打乱不会引起此次游戏无法玩出的结果。随机函数生成一个值,同时取现在系统时间的秒数,取他们异或以后的值再取4的模,这样随机得到的值是0、1、2、3,用它们来各自代表一个方向。这样的打乱就是随机的,出现重复的机会小。同时值的改变是利用数组。数组记录了图形打乱以后的所在位置。下面结构是为打乱算法中能将图形彻底的打乱提供随机数的种子[4]。这样产生的图形碎片的位置会随机变化,使游戏难度增加,也更加好玩。
4.移动算法
編程思想:点击图片以后,分析代表图形分布情况的数组,得到什么地方是空的没有图片,就将点中的图形显示到空白的地区,而同时也将原本点击过而有图片的地方抹掉,显示空白。同时将记录图形分布情况的数组进行改写,将点击过的地方改写为8(即表示为空),而原先空的地方要写入挪到那个地方图片的信息,这样就实现了图片的移动。
移动算法的主题还是对数组的改动,以二维的数组为根本,进行二维图形的操作。图3显示了移动算法程序流程图。
四、总结
与嵌入式技术相结合的拼图游戏,使人们通过携带手机或PDA等电子产品,随时随地想玩就玩、操作方便。人们从游戏中可以得到放松并通过玩拼图游戏增加思考并提高学习能力。
基金项目:北京信息科技大学《嵌入式系统及安全》课程建设项目
[参考文献]
[1]胡昭民.游戏设计概论(第3版).北京:清华大学出版社,2011
[2]王小妮、魏桂英、杨根兴.嵌入式组件设计[M].北京航空航天大学出版社,2012
[3](美)Scott Jacobs. 游戏编程精粹7[M].北京:北人民邮电出版社,2010
[4](美)Andrew Binstock.程序员实用算法[M].北京:机械工业出版社,2009
(作者单位:北京信息科技大学 理学院 北京)