吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 21149|回复: 88
收起左侧

[其他原创] 教你巧妙过关吾爱沙雕游戏《圈小猫》

  [复制链接]
TLHorse 发表于 2020-3-28 19:42
本帖最后由 TLHorse 于 2020-3-28 19:53 编辑

前言

www.52pojie.cn
@TLHorse 原创首发,禁止转载
注:如果发错板块,恳请管理移动

我刚结识吾爱破解网站,就认识了网站的隐藏游戏《圈小猫》。我把《圈小猫》这个游戏吹爆——这个游戏确实好玩,但这是只有像我一样聪明的人才能玩得起的游戏。

因此,这篇文章将会教你如何篡改这个游戏,实现任何人,局局都能赢(如果说逆向这个游戏,未免有些太夸张了)。如果,你以前玩游戏的时候,小猫局局都逃掉,那么这一次你就可以痛打它了。

游戏介绍

如果你已经是《圈小猫》的忠实玩家,可以忽略这部分。

打开方式

这个游戏的打开方式都知道了吧!你只要在主站的URL后面随便输入一些可以让吾爱404的东西,就可以打开这个游戏。就像这样:

游戏规则

  • 点击小圆点,围住小猫;
  • 你点击一次,小猫走一次;
  • 直到你把小猫围住(赢),或者小猫走到边界并逃跑(输),游戏结束。

了解源码

你或许不知道,这个游戏不是吾爱破解编写的,而是GitHub上的一个开源项目:phaser-catch-the-cat,作者是glanvtech。游戏的思路和小猫的图片来源于 GameDesign,原来的游戏名叫 Chat Noir,原作者只是尝试用 JavaScript 重写一遍。

README

我们先进入仓库,看一下README(下文是节选):

部署

首先引入游戏框架 phaser.min.js

<script src="phaser.min.js"></script>

然后引入游戏代码 catch-the-cat.js

<script src="catch-the-cat.js"></script>

然后在指定的 div 中新建一个游戏的 canvas,并开始游戏:

<div id="catch-the-cat"></div>
<script>
    window.game = new CatchTheCatGame({
        w: 11,
        h: 11,
        r: 20,
        backgroundColor: 0xeeeeee,
        parent: 'catch-the-cat',
        statusBarAlign: 'center',
        credit: 'github.com/ganlvtech'
    });
</script>

CatchTheCatGame的参数列表如下:

参数 说明
w 11 横向格子数
h 11 竖向格子数
r 20 圆半径像素

非必选参数如下:

参数 默认值 说明
backgroundColor 0xeeeeee 背景颜色
parent catch-the-cat 父元素的 idDOM 对象
statusBarAlign center 状态栏左对齐 left 或居中 center
credit github.com/ganlvtech 右下角的备注信息

自定义算法

参考src/solvers/中提供的例子编写算法,并使用下列代码替换。

window.game.solver = yourSolver;

这个 solver 的返回值即为猫要往哪个方向走一步,如果撞墙,则算玩家获胜。

说明
-1 猫主动弃权
0
1 左上
2 右上
3
4 右下
5 左下

如果猫站在星号的位置,那么数字代表每个方向的编号:

 1 2
0 * 3
 5 4

下面的例子可以让猫的每一步都向左走,直到撞墙:

window.game.solver = function (blocksIsWall, i, j) {
    return 0;
};

编写代码

既然知道了《圈小猫》的代码结构与自定义算法的编写,那我们就可以上代码了!

首先,我们要引入游戏脚本。获取脚本有如下方式:

然后在文件中引入并且设置编码utf-8

<head>
         <meta charset="utf-8">
    <script src="phaser.min.js"></script>
    <script src="catch-the-cat.js"></script>
</head>

其次,写一个body,里面添加一个div和一组script标签:

<body>
    <div id="catch-the-cat"></div>
    <script>

    </script>
</body>

script里仿照吾爱源码的设置编写JavaScript

window.game = new CatchTheCatGame({
            w: 11,
            h: 11,
            r: 20,
            backgroundColor: 16777215,
            parent: 'catch-the-cat',
            statusBarAlign: 'center',
            credit: 'www.52pojie.cn'
});

最后,仿照README文件编写自定义走步算法。我把游戏的solver属性设置为-1,这样一上来猫会主动弃权:

window.game.solver = function (blocksIsWall, i, j) {
            return -1;
};

总的来说,你的代码应该长这样(注script引用有能力的也可替换为网址,我这不知为何引用不了网址):

<!DOCTYPE html>
<html>
<head>
         <meta charset="utf-8">
    <script src="phaser.min.js"></script>
    <script src="catch-the-cat.js"></script>
</head>
<body>
    <div id="catch-the-cat"></div>
    <script>
        window.game = new CatchTheCatGame({
            w: 11,
            h: 11,
            r: 20,
            backgroundColor: 16777215,
            parent: 'catch-the-cat',
            statusBarAlign: 'center',
            credit: 'www.52pojie.cn'
        });
        window.game.solver = function (blocksIsWall, i, j) {
            return -1;
        };
    </script>
</body>
</html>

之后,用浏览器打开,预览感受一下,猫咪不管身处何处,只要我在地图上随便点一个墙,猫咪就自动放弃了:


成功篡改

成功篡改

修改浏览器代码

我们先复制刚才编写的这段代码:

<script>
        window.game = new CatchTheCatGame({
            w: 11,
            h: 11,
            r: 20,
            backgroundColor: 16777215,
            parent: 'catch-the-cat',
            statusBarAlign: 'center',
            credit: 'www.52pojie.cn'
        });
        window.game.solver = function (blocksIsWall, i, j) {
            return -1;
        };
</script>

我们进入浏览器,开一局《圈小猫》,之后我们按下F12、Ctrl+Shift+I或Cmd+Option+I打开网页审查元素(就是所谓的控制台),然后定位到图中的位置:


替换代码

替换代码

然后双击这行代码,或者右键 > 编辑HTML,将我们刚刚复制的代码粘贴进去。之后,就享受痛打猫咪的感觉吧——
……怎么突然感觉游戏没意思了!?

免费评分

参与人数 19吾爱币 +21 热心值 +17 收起 理由
aztl437 + 1 + 1 我很赞同!
gammi + 1 + 1 看77楼~~~
Mobei + 1 用心讨论,共获提升!
城北徐公. + 1 谢谢@Thanks!
wushaominkk + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
superiver + 1 + 1 這是真正的程序員。
chaff + 1 + 1 热心回复!
Ausar + 1 + 1 我很赞同!
正己 + 1 + 1 最终还是对猫下了手
IITSUKI + 1 + 1 用心讨论,共获提升!
staty + 1 + 1 终于还是对小猫下手了!
Yoona1 + 1 生活还是对我这只小猫咪下了手。
xymngh + 1 + 1 爱钻研的大佬
www.52pojie.cn + 2 + 1 猫:我何德何能让你们天天研究对付我
小橘 + 1 用心讨论,共获提升!
或跃在渊09 + 1 用心讨论,共获提升!
Ziyuno + 1 用心讨论,共获提升!
太簇十七 + 1 用心讨论,共获提升!
宇宙小菜鸟 + 1 + 1 终于还是对猫咪下手了!!!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

五年级一班很好 发表于 2020-3-28 20:15
本帖最后由 五年级一班很好 于 2020-3-28 21:07 编辑

玩过英雄联盟剑圣就明白了,你手短想要打人就要超过对方,回头去砍。这游戏一个道理,划大圈,观察猫的走向,然后你的点要超过猫。知道猫的大概走向如果外边线太长可以用二分法。
搜狗截图20200328201322.png
搜狗截图20200328201130.png
搜狗截图20200328200847.png
搜狗截图20200328201322.png

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
zxy20014 + 1 + 1 是的,掌握技巧可言把把赢的~
万军 + 1 + 1 用心讨论,共获提升!
TLHorse + 1 + 1 谢谢啊,你的思路很正确,已经手动赢了2局!

查看全部评分

hlrlqy 发表于 2020-3-28 20:09
我曾经见过有人发真正的过关方式技术贴,那时候好像还是flash?
诛心 发表于 2020-3-28 19:46
说实话我感觉这个小猫还是比较好玩  虽然一次都没有赢  我想问一下  这个游戏能不能离线下来
xp9477 发表于 2020-3-28 20:14
图片1.png
手动过关从远处下点就能圈住它
 楼主| TLHorse 发表于 2020-3-28 19:48
诛心 发表于 2020-3-28 19:46
说实话我感觉这个小猫还是比较好玩  虽然一次都没有赢  我想问一下  这个游戏能不能离线下来

可以呀,本身就是离线的,你看看readme
mixi139 发表于 2020-3-28 19:48
我一次也没赢过  555555
诛心 发表于 2020-3-28 19:49
TLHorse 发表于 2020-3-28 19:48
可以呀,本身就是离线的,你看看readme

好的谢谢  我想问一下  你自己去玩  通关过吗  不借助工具
 楼主| TLHorse 发表于 2020-3-28 19:51
诛心 发表于 2020-3-28 19:49
好的谢谢  我想问一下  你自己去玩  通关过吗  不借助工具

说实话,一次都没有
wjb6666 发表于 2020-3-28 19:52
感谢分享~
诛心 发表于 2020-3-28 19:53
TLHorse 发表于 2020-3-28 19:51
说实话,一次都没有

我就知道  太难玩了   大佬直接改  谢谢大佬分享
Ziyuno 发表于 2020-3-28 19:54
这游戏被你这一弄倒是变复杂了。
 楼主| TLHorse 发表于 2020-3-28 19:57
Ziyuno 发表于 2020-3-28 19:54
这游戏被你这一弄倒是变复杂了。

哈哈哈……如果觉得复杂,你也可以写个snippet,然后只要你一打开游戏,就会自动执行我编写的作弊脚本
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表