使⽤JAVA实现对游戏《植物⼤战僵⼫》游戏数据进⾏修改
⽂章⽬录
前⾔
上篇⽂章中我们通过⼆进制编辑器Hex Editor Neo实现通过修改游戏存储数据已到达修改游戏关卡和游戏中银币的功能,本章节将尝试使⽤Java程序来编辑游戏在本地存储的数据。
请参考⽂章:
⼀、概述
1、游戏背景
《植物⼤战僵⼫》是⼀款策略类游戏。 游戏分为 僵⼫ 与 植物 两⽅,僵⼫将⼊侵房屋,⽽玩家则需要种上必要的植物来攻击,抑或抵挡⼊侵的僵⼫。
此游戏内僵⼫的种类有很多,⾯对不同种类的僵⼫,玩家需要选择不同功能、不同攻击性、不同防御性的植物,以消灭所有⼊侵的僵⼫,保护⾃⼰。
⼀个看似简单实则极富策略性的⼩游戏.可怕的 僵⼫ 即将⼊侵你的家庭,你唯⼀的防御⽅式就是您栽种的 植物 。
⼀款新奇的游戏即将登陆PC平台,名称为《 植物⼤战僵⼫ 》。 武装您的49种植物,切换他们不同的功能,诸如 樱桃 或强悍的⾷⼈花
,更加快速有效的将僵⼫阻挡在⼊侵的道路上。
不同的敌⼈,不同的玩法构成五种不同的游戏模式,加之⼣阳、屋顶、浓雾以及泳池之类的障碍增加了其挑战性 奇特的游戏乐趣永⽆⽌境。
2、游戏图⽚
游戏⾸页
3、修改思路
上篇⽂章中我们⽤⼆进制编辑器对游戏数据进⾏修改,这⾥我们不妨⽤java将数据⽂件dat读出来,再⽤DataOutputStream将需要改动的数据写⼊到指定的基本输出流中。
4、⼯具准备
使⽤⼯具:
游戏链接:
⼆、效果呈现
1、修改关卡
我们⽤java将关卡修改⾄5-1关,我们打卡游戏看看:
我们成功将游戏修改⾄5-1关!
2、修改游戏币
我们将游戏币修改⾄100000
我们看到游戏币已增加到100000了
三、java代码
1、修改关卡类
(1)导⼊包
import DataOutputStream;//数据输出流import FileNotFoundException; import FileOutputStream;
import IOException;
import Scanner;
(2)⽅法
public void level(){
String file ="C:\\ProgramData\\PopCap Games\\PlantsVsZombies\\userdata\\user1.dat";//游戏数据存储路径byte[] data =new byte[1024];
Scanner sc =new Scanner(System.in);
System.out.println("请输⼊修改的关卡(1-5)");
int big = sc.nextInt();
System.out.println("请输⼊该关卡的⼩节(1-10)");
int small = sc.nextInt();
while(big <1|| big >5|| small <1|| small >10){
System.out.println("您的输⼊有误");
System.out.println("请重新输⼊修改的关卡(1-5)");
big = sc.nextInt();
System.out.println("请重新输⼊该关卡的⼩节(1-10)");
small = sc.nextInt();
}
byte trans =(byte)((big -1)*10+ small);//将输⼊的关卡转换为16进制存储到第04列
data[4]= trans;
System.out.println("成功修改⾄"+ big +"-"+ small +"关!");
try{
DataOutputStream dat =new DataOutputStream(new FileOutputStream(file));
try{
dat.write(data);
}catch(IOException e){
简单的java游戏代码e.printStackTrace();
}
}catch(FileNotFoundException e){
e.printStackTrace();
}
}
2、修改游戏币类
(1)导⼊包
import DataOutputStream;//数据输出流
import FileNotFoundException;
import FileOutputStream;
import IOException;
import Scanner;
(2)⽅法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论