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 抓取猫猫介绍
截图完成之后,我想把猫猫的详细介绍也给抓出来。
猫猫属性表.png2.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.png002.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
网友评论