【WEB前端实战】用植物大战僵尸来操作JSON文件


植物大战僵尸融合版

自从2009年游戏问世以来,这个游戏并没有消失,反而是在这个市场上占领了各个领域,甚至有一些小朋友的编程课也使用这个游戏做为素材。
本文想从以下几个方面来聊一聊。
在这里插入图片描述

《植物大战僵尸》

《植物大战僵尸》是由美国宝开游戏公司(PopCap Games)开发的一款益智策略类塔防御战游戏,也是《植物大战僵尸》系列的第一部作品。于2009年5月5日发售。该作在PC上同时有普通版、年度版、长城版、西游版等多个版本。
玩家通过武装多种植物切换不同的功能,快速有效地把僵尸阻挡在入侵的道路上。不同的敌人,不同的玩法构成五种不同的游戏模式,加之黑夜、浓雾以及泳池之类的障碍增加了游戏挑战性。
以前的植物总或多或少有着不少的遗憾。比如机枪射手就不带减速
操作上也不太友好,比如掉落的阳光还需要击点拾取。
在这里插入图片描述

于是就出现了《植物大战僵尸杂交版》

《植物大战僵尸杂交版》

《植物大战僵尸杂交版》是B站up主潜艇伟伟迷(曾佳伟)开发的一款策略游戏,于2024年3月27日推出。为《植物大战僵尸》的同人衍生续作,不对外售卖,网友可以免费下载。 [1-2] [42]该游戏在《植物大战僵尸》原版的基础上将多种植物融合在一起,通过“杂交”呈现出独特的面貌及技能。
2024年6月19日,《植物大战僵尸杂交版》入驻《植物大战僵尸》小程序版本创意模式。
在这里插入图片描述

植物大战僵尸融合版

植物大战僵尸融合版是一款极其优秀的僵尸塔防游戏!植物大战僵尸融合版游戏为玩家提供了全新的玩法内容,同时还带来了超多丰富的关卡,玩家可以在其中放置植物进行塔防挑战,游戏采用了一种非常有趣的融合元素,玩家可以将不同的植物放在一起,合成具有新能力的植物来击败僵尸,操作方式极其有意思
于是融合方式更复杂的融合版出现了。
在这里插入图片描述
图:融合版的禅境花园

很多的植物作战有着让人嗨翻的特效,真的是让人喜欢到了极点。
在这里插入图片描述
然尔另一个问题也就出现了。

禅境花园的痛

有不少的究级,超级的武器的合成,都是靠4发的机枪射手来合成。而机枪豌豆射手又是要4个豌豆射手来合成。如果是上图的“图:融合版的禅境花园”上面的机枪射手每一个豌豆射手靠打游戏来一个个的获取,那么很有可能,那里面的豌豆射手需要打一年,甚至几年!

这里制做了有声版本放在了B站

植物大战僵尸融合版-修改用户数据

02:44
融合版游戏介绍
1.融合版特点:与原版相似,但增加了禅境花园等新内容。
2.禅境花园:玩家可以种植和养护各种植物,收集阳光和金币来解锁新的植物和道具。
3.阳光机枪小喷菇:是融合版中的明星植物,攻击力高且能产生阳光。
07:12
阳光机枪小喷菇合成方法
1.合成材料:寒冰机枪小喷菇(小喷菇+寒冰射手)+向日葵。
2.寒冰机枪射手:由寒冰射手和机枪射手合成。
3.机枪射手:由四个豌豆射手合成。
4.合成步骤:先合成机枪射手,再与小喷菇和向日葵合成阳光机枪小喷菇。

12:33
植物合成工具介绍
1.工具功能:用于修改植物大战僵尸中的植物数据。
2.使用方法:通过调整植物的type和stage等参数来实现植物的合成和修改。
3.参数说明:type表示植物类型,stage表示植物的生长阶段。

14:31
阳光机枪小喷菇实战应用
1.实战表现:阳光机枪小喷菇在游戏中表现出色,攻击力高且能产生阳光。
2.应用技巧:合理利用阳光机枪小喷菇的攻击力和阳光产生能力,可以有效抵御僵尸的进攻。

谁让我们是程序员了?

打开一下融合版的用户文件
我的目录是在

C:\Users\Administrator\AppData\LocalLow\LanPiaoPiao\PlantsVsZombiesRH
如果你的系统也是WIN10的话,那么有可能文件位置也一样的
在这里插入图片描述
然后,老程序员们估计有一些看到这里就乐了。
原来用的是JSON数据。

何为JSON?

这个东西说来话就长了。
这个的“根”其实是很多的高级的程序员要考《高级软件技术开发工程师》的下午卷的必考内容之##

SOA。

SOA/软件架构设计—面向服务的架构(SOA详细解释)
2019年3月6日是面向服务的架构,即企业的 IT 系统是由服务组成的,也即企业的各个应用系统是由许多标准的服务件“组装”起来的,组成应用系统中的各个服务之间是一种非常松耦合的关系。
在这里插入图片描述
其实,这个SOA还是目前流行的微服务的前身,至少在思想上其实是一致的。就是把一个大的系统拆分成N个小系统。微服务就是拆成更小的接口服务。

不同的系统间的交互

由于SOA问世相当的早,所以在不同的系统间的交互方案也是特别的多。
大致上就是分,

  1. 系统调用服务的方式
  2. 推给一个队列的方式(相当于给第三方)
    不能说哪个好哪个不好,只能说是不同的环境需要不同的做法。
    实时性高的,不太可能交给队列MQ , 早期是activeMQ , 后来出现了消息队列(RabbitMQ+RocketMQ+Kafka), 等等。
    而这些MQ的发展也是越来越快。甚至有一些MQ的处理并不会比直接调用服务慢多少了。
    而银行的业务,这种要求可靠性高。
    那基本上都是要交给MQ来处理。
    为什么?

详解MQ消息队列及四大主流MQ的优缺点
前言
近期有了想跳槽的打算,所以自己想巩固一下自己的技术,想了解一些面试比较容易加分的项,近期准备深入研究一下Redis和MQ这两样,这总体上都是为了解决服务器并发的原因,刚翻到了一篇有关于MQ的,觉得写得特别好,特此记录一下,也算是为了加深自己的印象。

面试题切入
1、为什么要使用MQ
2、消息队列有什么优点和缺点
3、kafka、ActiveMQ、RabbitMQ、RocketMQ有什么区别

首先,你们系统里面为什么要用MQ?

不少去面试的人,都知道自己以前项目里面用过MQ、Redis,但是为什么用这个,却不知道,这种人说白了就是为了用而用,又或者这个框架就是别人设计的,他自己都没了解过里面的东西,自然也不知道为什么要用。如果面试的时候面试官问你这种问题你答不上来,可能已经被pass百分之三十了,面试官通常对这种人印象很不好,他怕你进了公司只会埋头苦干,不懂得自己思考。
答:解耦、异步、削峰
其实面试官问你这个问题就是想知道,你们公司有个什么样的业务场景,这个业务场景有个什么技术挑战,如果不用MQ可能会比较麻烦,包括现在用了MQ以后有哪些好处等等。先说一下MQ常见的使用场景吧,MQ的使用场景有很多,但是比较核心的就是:解耦、异步、削峰。
这些的本质就是,不管多大的并发,消息不能丢,可以排队,但是不能出错。

越扯越远的系统跟JSON有啥关系?

不管是MQ,还是调用服务,现在都不再使用XML这样的格式,也不用文件流方式传输。甚至上都被JSON文件千秋万代,一统江湖了。
数据传输通常涉及以下几个步骤和格式也就是出现在学校里,或面试的习题当中了:

SOAP 和 RESTful Web 服务:

SOAP (Simple Object Access Protocol):一种基于 XML 的协议,用于在网络上交换结构化信息。在 Flex 中,你可以使用 HTTPService 或 WebService 组件来调用 SOAP 服务。

REST (Representational State Transfer):一种软件架构风格,用于网络系统设计。它使用标准的 HTTP 方法(如 GET、POST、PUT、DELETE)来处理资源。在 Flex 中,你可以使用 HTTPService 或 RemoteObject 组件来与 RESTful 服务交互。

AMF (Action Message Format):

AMF 是 Adobe 的二进制协议,用于在服务器和客户端之间高效地传输数据。它类似于 SOAP,但使用二进制格式而不是 XML,这通常意味着更快的传输速度和更小的数据包大小。Flex 支持 AMF 格式,特别是通过 RemoteObject 组件。

JSON 和 XML:

JSON (JavaScript Object Notation):一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在 Flex 中,你可以使用 HTTPService 组件来处理 JSON 数据。

XML:虽然现在 JSON 更受欢迎,但 XML 仍然被广泛使用,特别是在需要严格数据结构定义或已有 XML 基础设施的情况下。Flex 可以使用 HTTPService 或 WebService 组件来处理 XML 数据。

那现在就来比较一下。

XML

其实就现在的HTML就是XML的一种。

<student>
	<s>
    	<name>张三</name> <address>河南</address> <age>20</age>
    </s>
	<s>
    	<name>李四</name> <address>北京</address> <age>25</age>
    </s>
	<s>
    	<name>王五</name> <address>上海</address> <age>30</age>
    </s>
</student>

JSON

{"student":[
    {"name":"张三","address":"河南","age":20},
    {"name":"李四","address":"北京","age":25},
    {"name":"王五","address":"上海","age":30}
]}

不比不知道,这样一比JSON比XML强太多了。消息占字节少了,而且看着更清晰了。

JSON 工具

JSON格式流行多了,那么就自然而然的出现了各种的JSON工具,有在线的,也有做成EXE的。
在这里插入图片描述

我用的JSONedit(json编辑器)

《JSONedit(json编辑器) 0.9.30.0》是一款代码编辑软件,用户可以在这款软件上设计新的代码,软件内提供了许多案例,可以查看案例了解代码是如何形成的,还可以对当前编辑的代码格式化,功能非常丰富,是一款很不错的软件。体积小运行快。

用JSONedit处理植物大战僵尸记录

首先,当使用这个工具的时候,都是或多或少的打到了不少的植物花盆了。
可以看出来。这里的每一个节点都对应着一棵植物。
ROW与column 就是对应着在第几排,第几列。
page 就是花园的第几页。
thePlantType 就是哪一种植物。
在这里插入图片描述

步骤1 留单一的植物

先把一棵植物移到单的一页上面
在这里插入图片描述

步骤2 在文件里找到这一页。

把植物大战僵尸退出,是正常的退出
在这里插入图片描述

步骤3 找到用户文件的位置

在这里插入图片描述
在这里插入图片描述
这样就可以看出来,豌豆射手的thePlantType 值是0。

步骤4 把一整页的内容复制到这一页来

并修改page 为当前的 页值。我的这一页新的值是15.
比如我选中的目标是第10页。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
要注意的是,这一步必须要一气呵成
中间不能打开游戏,不然的话,那代码出错很有可能引起游戏的崩溃

见证奇迹的时刻

到第16页的那里,你发现,出现了跟10一模一样的植物了。
在这里插入图片描述
不停的操作上面的步骤。
那就得到了16页的你最多的那一页的东西。
中间你可以卖出你不需要的。(不过强烈建议不要卖掉在游戏里掉落的“原生植物”)

一秒长大

明白了这个数据的结构了,
那么,哪个植物的成长值低了,你就修改那个值为2
当然了,我这里的都长的比较大了。那我就都改成0就好。就是最开始的最小的那种状态。
在这里插入图片描述

当然了,这么改,有一些植物已经成最终的发光状态了,可能会引起BUG了。
不过,这也说明了,这个状态确实是能修改的。
把他们全改大了。
在这里插入图片描述
是吧,连钱都没有变化。
如果你愿意:甚至还可以…下面的两种植物要是通过游戏内合成,估计得打一年
在这里插入图片描述
在这里插入图片描述
不过我悄悄的告诉你,阳光机枪小喷茹才是爽到爆。那产生阳光的速度,感觉就像印钱机。
而且它在小的时候,很可爱,很像某种小动物。有木有?
在这里插入图片描述

总结

用JSON文件修改你的植物大战僵尸,是不是让你一下子感觉这个游戏实在是太棒了呢?
资源下载
修改好的各种植物的下载包,以及游戏本身的下载,游戏在很多网站上卖29元的哟。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

项目花园范德彪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值