基于FLASH的连连看游戏核心算法的研究[精品资料].doc

基于FLASH的连连看游戏核心算法的研究[精品资料].doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FLASH的连连看游戏核心算法的研究[精品资料]

基于FLASH的连连看游戏核心算法的研究-精品资料 本文档格式为WORD,感谢你的阅读。   摘要:连连看是一款深受大众所喜爱的小游戏,该文详细的介绍了在FLASH平台下,使用ActionScript3.0脚本语言实现“连连看”游戏中最为关键的两个核心算法——随机地图和自动寻路。   关键词:连连看;FLASH;ActionScript3.0;随机地图;自动寻路   TP311 A 1009-3044(2013)34-7877-03   随着社会的飞速发展,人们的生活的压力越来越大,玩游戏成为了人们放松和解压的一种方式,为了满足人们的需要,游戏事业在迅猛地发展,游戏开发的种类也越来越多,越来越新颖。“连连看”游戏是一款经典的小游戏,深受大众的喜爱。   FLASH是一款动画制作软件,它具有强大的绘图及动画功能,并能和面向对象的编程语言ActionScript3.0完美的结合, 制作小游戏使用FLASH比使用其他编程软件更加机动灵活。   1 关键问题   首先对“连连看”游戏有一个整体的认识,它是由若干对相同图片组成的,如果连续点击两张相同的图片,在这两张图片能够以最多允许两次的转弯线相连接,并且中间没有任何障碍物时就可以消除这对图片,在规定的时间内消掉所有的图片取得胜利,否则游戏失败。在游戏的设计过程中最为关键的问题是如何排列地图和连续点击两张图片是否能够清除。   2 游戏的随机地图   制作“连连看”游戏首先要考虑如何制作地图,根据游戏规则,制作地图要解决以下几个问题:一是地图有多大,有多少行,有多少列;二是每张图片允许出现多少次;三是排列的图片应是随机出现的,每次都不相同。   “连连看”是一个平面游戏,根据关数的不同图片的数量上也可以有所不同,可以由5行8列的组成,也可以由7行12列的等等,跟据地图的大小和难度的不同,同一张图片可以出现8次也可以出现6次或4次列组成,图片出现的次数越少,难度越大。现在我就以7行12列,每张图片出现6次为例,7×12共有84张图片,每张出现6次,一共有14张不同的图片组成。   平面游戏地图最为常见的是使用二维数组来完成,FLASH中的数组和其他许多编程语言有所不同,FLASH中数组的下标变量只有一种数据类型Object,而Object在ActionScript中是所有其他数据类型的基类,因此数组中的下标变量可以装载任何类型的数据,根据这一特点,FLASH可以更加方便的制作游戏地图。制作游戏地图主要包括二维数组取数、随机交换数据、制作图片类和布地图四个步骤。   2.1 二维数组取数   制作7×12的地图每张图片出现6张,为了编程的方便,最外圈下标变量全部给0,因此定义一个9×14的二维数组,中间取数为1至14,每个数出现6次,程序如下:   var arr:Array=new Array();   var k:int = 0;   for (var i:int=0; i=8; i++) {   arr[i]=new Array();   for (var j:int=0; j=13; j++) {   if (i == 0 || i == 8 || j == 0 || j == 13) arr[i][j] = 0;   else { arr[i][j] = int(k / 6) + 1;   k++;   } } }   2.2 随机交换数组数据   以上数组是有规律的数据,那如何将这个有规律的数组变成杂乱无章的呢?可以对数组进行循环遍历,每个下标变量都和数组中随机的另一个下标变量交换数据,当循环完毕后,数组也成为了一个随机数组,数据是没有规律出现的。程序代码如下:   var t:Object;   var ki,kj:int;   for (i=1; i=7; i++){   for (j=1; j=12; j++) {   k = int(Math.random() * 12 * 7);   ki = int(k / 12)+1; kj = int(k % 12)+1; //随机获取一个下标变量的行列坐标   t = arr[i][j]; arr[i][j] = arr[ki][kj]; arr[ki][kj] = t; //当前下标变量与随机下标变量交换数据   } }   2.3 制作图片对象   FLASH是个面向对象的编程软件,可以非常方便的类绑定将影片剪辑上,因此可以用影片剪辑做前台的图片,用类来实现对象的布局。首先用

您可能关注的文档

文档评论(0)

aena45 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档