淘宝AR捉猫猫攻略

0x00 前言

无聊的游戏,但是我有收集控啊。

0.1 什么游戏

淘宝里面的AR游戏,《捉猫猫》CATCH YOO!
目前在安卓客户端内测,IOS要再等等。入口在淘宝→我的→顶部栏有个猫猫图标。

0x01 一些经验

1.1 关于扔盒子

普通的小猫,只要扔出盒子就行了,但具体的判断应该是,盒子应该打到猫猫,或者盒子向上升起,要可以将屏幕内的猫猫收进去。
具体意思是说,当遇到高星级的怪物时,比如灰烬和撒斯姆,它们左跳右跳跳太快了,如果当它们在屏幕内时扔出盒子,它们就会跳出屏幕,捕捉失败,应该在往左或右跳出屏幕时扔出盒子,刚好可以在它们跳回来时收住。虽然我至今见过3次撒斯姆,一次没抓住……

1.2 关于刷经验

当然是刷1星的啦,有的猫猫90%多的捕捉概率,而且还送一个普通魔盒,而且还有可能送经验药水,简直不能再好。
1.2.1 各等级经验值
1星 20
2星 30
3星 45
4星 45(娜亚)
1.2.2 推荐刷经验的猫猫
2星浅浅,唯一爆高级麻盒的2星猫猫,其他的都是4星才爆。还爆20级时装碎片。
1星花狸,爆中级魔盒,10级碎片。
1星呼噜噜,20级时装碎片。

1.3 关于时装

见表格,当然应该是都有可能爆,只不过列出的猫猫可能概率高一些。
10级时装只有花狸;
20级时装有1星呼噜噜、2星大飞哥、2星浅浅;
30级时装有2星独眼、2星轻音、3星火狼;
40级时装只有3星肥仔。
其中大飞哥和轻音是小boss,所以一般就刷1.2中推荐的3个。

0x02 猫猫的属性表

2.1 抓取猫猫介绍

截图完成之后,我想把猫猫的详细介绍也给抓出来。

猫猫属性表.png

2.2 抓包

失败,使用Fiddler2,先设置再打开,就提示SSl错误。
先打开游戏,再打开fiddler抓包,有请求,但是只有定位的请求,没有抓到别的数据。

2.3 OCR

既然有了图,我们应该可以使用OCR将文字识别出来。
使用了汉王,识别。

2.3.1 改文件扩展名

汉王支持jpg格式的图片,但是我的截图却是png的。一开始想下载一个批量命名软件,后来

    def action1(self):
        file_path=r'C:\Users\Admin\Desktop\ar\jpg'
        for root,dirs,files in os.walk(file_path):
            print(root)
            for file in files:
                old_path=root+'\\'+file
                new_path=old_path.replace('.png','.jpg')
                os.rename(old_path,new_path)
                print(new_path)
        pass

2.3.2 加深字体颜色

用汉王识别的时候,发现详细介绍的字体颜色偏浅,不能很好的识别,于是用ps进行加深,果然可以正常识别。
在ps中录制动作
注意如果要录制选区命令,要先去掉选中再重新选。
录制完之后,点文件→自动→批处理,成功。
设置前景色(b3b3b3)
→选择色彩范围(选择取样颜色,颜色容差50)
→设置背景色(000000)
→填充(使用背景色)
→填充(使用背景色)
→填充(使用背景色)
→存储
→关闭
然后打开全部文件,每个执行一遍动作,就自动处理、保存、关闭,继续下一个。

2.3.3 识别

在汉王中添加全部文件,点击选择全部文件,开始识别

2.3.4 导入识别结果

识别以后,虽然也可以用汉王的导出功能,但是因为有一些不重要的信息,所以还是自己来。


    def action2(self):
        folder_path = r'C:\Users\Admin\Desktop\ar\jpg2'
        save_file_path = r'C:\Users\Admin\Desktop\ar\识别结果.txt'
        for root, dirs, files in os.walk(folder_path):
            for file in files:
                old_path = root + '\\' + file
                extension = os.path.splitext(old_path)[1]
                if extension.lower() == '.txt':
                    self.read_and_write_info(old_path, save_file_path)
                    print(old_path)
        pass

    def read_and_write_info(self, file_path, save_file_path):
        if file_path:
            index = os.path.basename(file_path)[:3]
            info = self.read_info_from_file(file_path, index)
            file = open(save_file_path, mode='a')
            write_info = info + '\n'
            file.write(write_info)
            print(write_info)
        pass

    def read_info_from_file(self, file_path, index):
        if file_path:
            file = open(file_path)
            all_text = file.read()
            # 第一行,名字
            first_line_position = all_text.find('\n')
            name = all_text[:first_line_position]

            # 盒子名字
            box_position = all_text.find('魔盒\n')
            box = all_text[box_position - 2:box_position + 2]

            # 介绍
            start_position = all_text.find('推荐使用\n')
            end_position = all_text.find('可能掉落\n')
            intro = all_text[start_position + len('推荐使用\n'):end_position]
            intro = intro.replace('\n', '').replace(' ', '')

            # 掉落
            drops = all_text[end_position + len("可能掉落\n"):]
            drops = drops.replace('\n', ',').replace('    ', ',').replace(' ',',')

            file.close()
            return '|%s|星|%s|%s|%s|%s|' % (index, name, box, intro,drops)
        return ''
        pass


0x03 各星猫猫

1星猫猫

1星猫猫

2星猫猫

2星猫猫

3星猫猫

3星猫猫

4星猫猫

4星猫猫

5星猫猫

5星猫猫

0x04 各猫猫详情

001.png

002.png

003.png

004.png

005.png

006.png

007.png

008.png

009.png

010.png

011.png

012.png

013.png

014.png

015.png

016.png

017.png

018.png

019.png

020.png

021.png

022.png

023.png

024.png

025.png

026.png

027.png

028.png

029.png

030.png

031.png

032.png

033.png

034.png

035.png

036.png

037.png

038.png

039.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容