对“宠物连连看.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文件的转换程序段.