对“宠物连连看.exe”游戏程序的分解与脚本程序编制思路分析
对“宠物连连看(exe”游戏程序的分解与
脚本程序编制思路分析 2006年第6期福建电脑203
对"宠物连连看.exe"游戏程序的分解与脚本程序编制思路分析 王华康
(江苏省常州建设高等职业技术学校江苏常州213016) 【摘要】:本文通过对窀物连连看.exe的肢解与关键脚本程序段的分析.提示了谊
程序的编制思路,对其它的经典性程
序的分析具有引导意义.
【关键词】:分解,SWF,脚本,蝙程思路
正文
"连连看"游戏程序几年前曾风行一时.由它衍生出了"水晶 连连看","宠物连连看"等其它的游戏.本文想通过目前学生机 房中学生常玩的"宠物连连看"的分解.来分析此类游戏的设计 中的程序编制思路(程序段中的说明为主要分析内容). 1.将宠物连连看.exe转化为宠物连连看.swf文件格式 由于执行宠物连连看.exe文件时.它采用swflashplayer.exe
进行播放.因此要先将该游戏程序所合并为一个整体的flash的 播放功能解除.本人从网上搜集了此方面的部分程序和文档.通 过阅读了解到此类文件的合成方法.并将从网上下载的部分程 序段进行了编译.运行后成功分离出了宠物连连看.swf文件.其 关键程序段语句引用如下f本文加了语句功能注解1: procedureTForm1.Butt0n2ClickfsendeTObj~t);
vKrsourStreen~destStream:TFileStream;//源文件流和目标文件流 S~arFileSize:Cardinal:aswt"文件的大小
ij:integer,
begin
~ourStream:=TFileStmam.Create(reI\宠物连连看.exe'dmOpenReador
fmShareExclusive
):,,读取源文件产生源文件流
try
,,查找saflashplayer.exe文件格式标志
sourStream.Seek(-2*Sizeof(integer),soFmmEnd);
SOUrStseam.ReadB);,,读取宇段值
ifswfFi1esizeFA123456then//saflashplayer.exe文件格式位置标志 begin
,,读取swf文件的大小
sourStream.ReadBuffer(SwfFileSize.SizeOf(SwfFileSize));
,,设置读取方ru]和起始位置
SOurStrearn.Seek(-SwfFileSize—2
,,创建目标文件流
destStream:='rFileStream.Create('e:\宠物连连看.swf',fmCreate);
try
deatStream.CopyFrom(sourStream,SwfFileSize);//复制数据 showmessage(成功转换11;
finally
destStream.Free;//释放资{焉【
end;
end
else
begin
showmessage(该文件为无法识4的exe格式影片11. end;
finally
sourSt~am.Free;//释放资源
end;
end;
2.将.swf文件格式转换成.na文件格式
由于swf文件格式的文档及采用的压缩方法一开始就公诸 与众.因而它的转换软件程序也特别多.本人采用的是 swfdecomplier.exe软件.操作界面如下:
通过转换.我们可见到图中右边导出的内容.它们均是根 据对象的特征产生的分类
.对于该游戏,我们主要分析其动 作中所使用的脚本.其余的本文忽略,感兴趣的可自己去细加分 析.
在上图提示中的164个动作中.我们可以发现许多动作都 调用dongzuo()达一函数(动作函数),因而分析它至关南要,本文 分析的是该函数段中所引用的find1uO函数(找路径甬数). 另外.打开窗口下面部分的"实例",可得到如下的表
格内容:
实例名动画名位于帧或被调用的位置
Cccsprite8sprite9.fH【me2
Cccsprite8sprite9-frame22 a1至al如sprite3IIainMovie.frame4 g1至g192sprite4IIaink~ovie.fram4 Bksprite13IIainI~ovie.frame4 Mytimerspritel4binMovie.frame4 Zuobispritel5IIainMovie,frame4 Ilusspritel6binMovie.frame4 3.关键脚本程序段分析
运行flash2004.打开刚才转换过来的文件,打开时间轴. 我们会发现它只有五帧.其中只有后四帧有代码,由于程序较 长.此处只对其关键帧中的查找路程序段进行分析.对其余感兴 趣的人士可自已下载相关程序及软件进行分析.
//R路径函数
functionfindh(x,y)
lthestartx=(x一1)%16+l;
thestarty=(x—the~tartx)/16+l; theendx=(y一1)%16+l;
theendy:(y—theendx)/16+l; for(ii=thestartx;ii>=l;ii--)
lthenext=88;
k=(thestarty一1)'16+ii;
x-lt(1c,x);//判断起始点击圉标的左边是否通路 kl=(thee~dy-1)'16+ii: x.
h(kI,y】;于,,判断终止点击图标的左边是否通路 y_h(k.k1);,,判断点击有两个图标之间是否通路 if(thenext!:0),,如果均不通.则依次调整两个国标沿水平方向的位置.
I//并调整两个图标沿水平方向的位置
traps=x:
for(i暑l;i<math.ahs(thestm~x—ii)+l;i++】
ltraps=traps—l:,,依次向左找率行中可能的通路位置 l,/
thestrin
for
?'i""'"+traps;
endoffor(下转第2—1.4.页)l,/(r将吊姒)
214福建电脑2006年第6期
4.5维护网络安全,设定登陆权限.这对读者来说,可能是 不太情愿的事情.但对整个电子阅览室的使用和管理起到有效 的保证作用,以防电脑病毒入侵而影响对系统的利用. 4.6对机器和系统进行周期性的维护和保养.同时根据读 者在使用过程中出现的问题进行一些功能完善和补充.确保电
子阅览室的jE常开放.
4.7做好导读工作.电子阅览室简介,电子阅览室阅览规 则,重点信息推介,分类数据库和全文数据库的检索方法.联机 帮助等是电子阅览室所必备的
4.8电子阅览室的管理者要能提供检索说明,参考资料的 辅导和解答.应广泛收集国内外信息,将相关学科的新理论,新 观点及时给予报道,开展专题服务.配合学校重点学科建设提供 相应的文献信息资源供参考.
4.9电子阅览室拥有优良的技术设备和丰富的信息资源. 可适当将信息服务推向市场.满足社会上的学习需求.例如对企 业来说.新产品的开发和研制,原
的购买.产品的销售都需 要信息做参考,电子阅览室可进行专题服务.既满足企业需求. 叉增加了经济收入,促进电子阅览窒的自我发展. 4.10为配合本,专科生学习英语的需要.电子阅览室可配 备英语四,六级考试模拟题的光盘及经典的英语电影VCD以提 高他们学习英语的兴趣
随着电子阅览室的开放.电子出版物将逐步成为图书馆收 藏的主要对象.实现电子信息资源与传统出版物资源管理之问 的有机结合是图书馆建设重中之重的任务.通过有
地采购 新的电子出版物.使馆藏电子文献所占的比例逐步增加是建设 数字化信息资源的有效途径.同时也是保持电子阅览室生命力 的重要手段,
5.我馆的电子化信息服务的开发与管理
我馆在电子化信息服务方面的措施主要有:
5.1我馆充分利用现有的计算机技术.进一步加强对馆藏 -+-?—-+一?—
(上接第203页)
if(thestarty'theendy),,垂直方向路径上的可能位置
Ifor(i=l;i(theendy—thestarty+l;i++】
(traps;tmps+16;
thestringthestrlng+"..'4-traps; ,||endoffor
lelse
Ifor(il;1《theetarty—theendy+l;i++) ItmpnImps—l6;
thestringthestrlng+"."+traps; l//endoffor
)//end让
f0r(i=l;i<math.abs(theendx—ii)+l;i++) I|f(kl'y】『』是否为终止位置左边的路径
Itrope11Imps+l;l
else
Itrope11traps—l;l//endif
theRtringthestring+"."+traps; l//endoffor
return(undefined);
l//endif
l//endoffor
其余三个方向类同于上面的f0r循环.此处略
l//Endofthefunetion
4.该程序编制思路总结
文献的深层次开发研究.并着手建立以馆藏文献信息为主的多 种专题,特色数据库,读者可以利用多种方式浏览馆藏信息,提 高信息资源的利用率.针对电子出版物信息载体大量增加的情 况.我馆及时调整图书采购的重点和种类.明确电子文献的建设 方向.首先保障重点学科,重点科研项目,重点课题信息服务的 数量和质量.逐年增加电子文献的专项费用,有效地丰富了馆 藏.并在电子阅览室开设了光盘借阅,刻录服务,对重要文献的 电子出版物进行光盘备份.防止因长期使用造成的电子出版物
的损坏.同时我们重视网络信息资源的挖掘和利用.有重点地建 立自己的数据库.为客户提供课题跟踪服务,进一步提高了图书 馆在全校师生中的的服务层次和信誉.
5.2在管理体制上.我馆逐步形成一套电子化#管理
#,制 定了详细的管理规章.合理配置工作人员的专业结构.积极培训 业务骨干.提高管理技能.重点解决技术人员短缺问题.强化电 脑知识和技术的培训.以便指导读者利用电子阅览室资源;制定 了读者进行电脑操作的规范和规则以及管理人员服务规则等. 同时对机器设备的管理,信息的保密和安全,网上阅览和下载等 问题也制订了明确的规则.保证电子阅览室信息服务的健康发 展.
5-3为加强图书馆全面质量管理.我馆充分利用图书馆主 页及橱窗,板报等.大力宣传图书馆各项管理工作及利用图书馆 各种数据库的方法和技巧:对工作人员实行目标管理和量化管 理.激励他们提高服务质量.同时注重加强本地区院校问的协作 和协调.寻求资源共享.共同发展.
参考文献:
1.郭瑞芳,多媒体电子阅览室连设模式与功能开发,大学田书馆. 1999(3):18-19
2.越培云.深化高校图书馆电子阅览室信息服务工作的对策,图书情报 知识.2002(1):20
1.确定16x12的方阵.方阵的外框完全用于路径.方阵初始 显示的为14x10的图标方阵,且图标种类最多为30种.生成时 最多生成7O个.后70个图标为前面的复制品.从而确保了配对 数:
2.配对图标路径的寻找中.对鼠标点击的任两个图标.在确 定图标匹配下.查询路径是否为通路:
3.通路确定方法(以向左为例):
(1)前后选择的两个图标向左是否为通路?
(2)两图标之间是否可直接连接形成通路?
(3)如两者均不形成通路,则从一个图标的最远处通路点起 产生循环,依次与另一图标的最远处,次远处等逐个点渐溉移至 第二个图标,并在移动中询问是否产生通路;
(4)如仍不产生通路,则从其它三个方向用(3)方法进行询 问:
(5)最终仍不产生通路.则提示用户不能消除选中的两个图 标,否则作相应的消除.并使两图标的位置的图形和数据值发生 更替.
5.小结
本文将exe文件转换成8wf文件.并进一步分解成源码,从 源码的分析中.了解到该程序的编制上的思路.无论从对程序段 的思路还是对其它类似的经典软件分析.在日后均会有引导意 义.
参考资料:
1.SWF文件格式
:
2,SWF文件压缩标准:
3.网上对EXE文件的转换程序段.