以前打LOL的时候,每个不熟悉的英雄都先拿来打自定义人机练手,拿到五杀就算合格了,并截图留念--。经过一年的屠杀,我已经有了125张五杀截图并给每个都命名了,如图:
那么现在问题来了,一共有132个英雄,还有哪7个英雄没拿过五杀呢?
手动查找真的要累死啊.....
那么我想到的就是编程来实现自动查找,把不存在的英雄输出。
我先是手打了英雄的集合的文本,中间以空格分开。
input.txt:
卡特 狐狸 赛恩 露露 奶妈 狮子狗 拉克丝 乌迪尔 凤凰 冰女 猪女 男刀 刀妹 卡牌 发条 加里奥 娜美 狼人 奥巴马 波比 莫甘娜 滑板鞋 火男 大头 扇子妈 天使 寒冰 寡妇 岩雀 巨魔 布隆 劫 盖伦 奎因 皇子 赵信 小丑 韦鲁斯 烬 人马 潘森 轮子妈 大树 龙龟 掘墓 ez 瑞雯 剑姬 剑圣 时光 艾克 巴德 vn 阿卡丽 剑魔 辛德拉 慎 克烈 金克斯 日女 杰斯 末日 三只手 兰博 武器 死歌 阿木木 蝎子 梦魇 千珏 狗头 沙皇 蛤蟆 男枪 俄洛伊 船长 泰坦 大嘴 小鱼 炼金 石头人 炸弹人 牛头 奥拉夫 凯南 豹女 吸血鬼 琴女 宝石 扎克 亚索 老鼠 皎月 女警 蔚 盲僧 蒙多 瑞兹 乌鸦 飞机 婕拉 鳄鱼 德莱文 机器人 维克兹 蚂蚱 大虫子 螳螂 卡萨丁 挖掘机
数据并不全,但已经包含了所有我没拿到过五杀的英雄。
接下来是程序:
import java.io.File; import java.io.FileReader; public class Main { static String path = "D:\\英雄联盟\\Game\\Screenshots\\人机五杀!"; static String heroString = readFile().trim(); static String[] heroes = heroString.split(" "); public static void ScanFile(String path) { File dir = new File(path); String[] fileList = dir.list(); for (int i = 0; i < heroes.length; i++) { boolean isExist = false; for (int j = 0; j < fileList.length; j++) { if (fileList[j].contains(heroes[i])) { isExist = true; break; } } if (!isExist) System.out.println(heroes[i]); } // 判断是否中间有断开的序号 // for (int i = 1; i <= 125; i++) { // boolean isExist = false; // for (int j = 0; j < fileList.length; j++) { // if (fileList[j].contains(String.valueOf(i))){ // isExist = true; // break; // } // } // if(!isExist) // System.out.println(heroes[i]); // } } public static String readFile() { File file = new File(path + "\\input.txt"); try { FileReader fileReader = new FileReader(file); String s = null; char[] c = new char[5000]; fileReader.read(c); // System.out.println(c); return String.valueOf(c); } catch (Exception e) { e.printStackTrace(); return null; } } public static void main(String[] args) { ScanFile(path); // System.out.println(readFile().trim()); } }
最终成功找出来了我没拿到过五杀的英雄:
时间: 2024-09-27 04:34:29