一、作业要求:
修改《植物大战僵尸》的存档文件,
- 能跳到指定关卡。例如[5-1]
- 让游戏账户有指定数量的金币。1000金币
- 能解锁迷你游戏选项。
- 能解锁生存模式选项。
二、实际操作
1.问题思考
1 . 存档文件是什么?
2.如何找到存档文件?
3.如何修改存档文件?
2.问题解决
1.上网搜索存档文件的定义和概念。
参考资料:https://www.exefiles.com/zh-cn/extensions/file-types/archive/
对于自己没有接触的定义,是很难理解。那么打一盘《植物大战僵尸》,你可能就理解了。在《植物大战僵尸》里它告诉我
存档文件是存储用户数据的(这只是我对存档文件的理解,如果有不同的见解,可以在评论里留言)
2.查找存档文件
先在游戏的安装路径找一下,是否有第一步说到的存档文件的拓展名,如果没有就用检索工具搜索 PopCap Games
和PlantsVsZombies
拓展
PopCap Games是《植物大战僵尸》的开发公司
PlantsVsZombies 是《植物大战僵尸》的英文名
我使用的检索工具是 everything
3.如何修改?
工具使用
我使用的是notedpad++
里的插件HEX——Editor
HEX——Editor安装过程:
1.下载
notePad++
2.安装插件
3.如何使用工具
修改篇
实验方法:控制变量法
1.修改金币和关卡
建立三个用户名:
存档文件 | 用户名 | 操作 |
---|---|---|
user1.dat | 0 | 不闯关 |
user2.dat | 1 | 闯关到1-2 |
user3.dat | 2 | 闯关到2-1 |
对比用户0和1的文件内容,发生变化的地方,即为修改关卡的地方
对比用户1和2的文件内容,发生变化的地方,即为修改金币的地方。
提示:
1.初始时,只创建用户名,要退出游戏,才可以看到存档文件生成
2.修改文件内容的时候,将光标移至要修改列的前面,按下自己要修改的数值。然后保存,打开游戏后,再退出。因为有时候,修改的数值,超出范围,会被游戏自动初始化。
内容未变,则表示修改正确,反之,则错误。
比如修改金币的时候,允许4列修改的最大值为7f,如果修改成80,那么打开游戏,退出后就不只4列发生变化了。
3。修改数值,打开游戏,然后退出,notepad++会提示,文件被修改了,记得点击允许。
修改关卡为2-2,修改金币为270个
2.修改游戏模式篇
因为《植物大战僵尸》的冒险模式总共50关,每10关一个模式
所以直接将用户名2和3的关卡修改到5—10,将其中的一个用户闯关,对比,找出变化的地方。我这里以用户名3举例
存档文件 | 用户名 | 操作 |
---|---|---|
user2.dat | 1 | 修改到关卡5-10,不闯关 |
user3.dat | 2 | 修改到关卡5-10,闯关 |
3.通关玩玩小游戏/迷你模式
存档文件 | 用户名 | 操作 |
---|---|---|
user2.dat | 1 | 不闯关 |
user3.dat | 2 | 点击玩玩小游戏,完成1轮,然后退出游戏 |
对比存档文件user2.dat和user3.dat的文件内容,找出不同的地方
4.通关生存模式
存档文件 | 用户名 | 操作 |
---|---|---|
user2.dat | 1 | 不闯关 |
user3.dat | 2 | 点击生存模式,完成1轮,然后退出游戏 |
对比存档文件user2.dat和user3.dat的文件内容,找出不同的地方。修改和查找规律就可以解锁不同的模式了。
三、作业总结
1.《植物大战僵尸》冒险模式总结
1.出现的东西
关卡 | 出现 |
---|---|
LEVEL2-5 | 图鉴 |
LEVEL3-5 | 商店 |
LEVEL5-5 | 禅境花园 |
LEVEL6-1 | 银色向日葵雕像 |
2.关卡
关卡 | 2列的值 |
---|---|
LEVEL 1-1~1-10 | 01……0a |
LEVEL 2-1 ~ 2-5,2-6 ~ 2-7 | 0b……0f,10~14 |
LEVEL 3-1 ~ 3-10 | 15……1e |
LEVEL 4-1 ,4-2~ 4-10 | 1f,20~28 |
LEVEL 5-1 ~5- 7,5-7~ 5-10 | 29~2f,30-32 |
3.钱
一般而言,个位表示10个,十位表示160个
如果该列最小值为00,那么最大值可能为7f。
如果该列钱的最小值为80,那么最大值可能为bf。
如果是两列来表示钱的数量,且前列是变化的,那么前列最小值为00,最大值可能为ob
在一段数额之间,表示修改金币的列是变化的。
比如当
列数: 1列 2列 4列 5列 6列 钱数:$40950
对应值: 0c 19 e0 bf bf
钱数增加时,文件的内容会变成
列数: 1列 4列 8列 9列 钱数:$40960
对应值 0c 19 00 10
2.模式总结
在金币数值为0,解锁了其他模式,按照顺序玩游戏,7列,8列都为01 的前提下(针对目前测试情况而言)
1.迷你游戏
所标红的地方便是修改迷你游戏通关的地方。只能为01。
2.生存模式
所标绿的地方便是修改生存模式前5关的地方,其值只能为05
标红色的地方便是后面五关的地方,其值只能为0a。
这里的无尽模式还没有修改。可以自己尝试。
3.解谜模式
标红色的地方便是后面五关的地方,其值只能为01。
画红框的地方是无尽模式修改的地方,最大值为7f。