Little Alchemy 游戏 - 扒答案。。 Java

Little Alchemy 是个用四个基本元素组合生成的小游戏。。。连Excalibur都可以有

写的代码是从这个游戏的hint页面得到答案的

 

  1 import java.io.*;
  2 import java.net.URL;
  3 import java.util.*;
  4 
  5 public class Main {
  6 
  7     public static void main(String[] args) {
  8         String urlStr = "https://littlealchemy.com/cheats/?element=";
  9         String mark = "<a href=\"?element=";
 10 
 11         Map<String, Integer> map = new HashMap<String, Integer>();
 12         String[][] c = new String[600][3];
 13 
 14 
 15         try{
 16             int cnt = 0;
 17             String curr = "christmas stocking";
 18             URL url = new URL(urlStr + curr.replaceAll(" ", "%20"));
 19 
 20             Scanner in = new Scanner(new File("result.txt"));
 21             while(in.hasNext()){
 22                 String line;
 23                 line = in.nextLine();
 24                 String[] ss = line.split(" [=\\+] ");
 25                 map.put(ss[0], cnt);
 26                 c[cnt][0] = ss[0];
 27                 c[cnt][1] = ss[1];
 28                 c[cnt][2] = ss[2];
 29                 cnt++;
 30             }
 31             in.close();
 32 
 33 //            550-4
 34             int maxn = 525;//找到maxn个条目就停止
 35             int times = 0;
 36             while(map.size() < maxn) {
 37                 ++times;
 38                 if(times % 100 == 0){
 39                     System.out.println(times);
 40                 }
 41                 BufferedInputStream stream = new BufferedInputStream(url.openStream());
 42                 byte[] data = new byte[10000];
 43                 stream.read(data);
 44                 stream.close();
 45 
 46                 String str = new String(data);
 47                 int start = str.indexOf(mark) + mark.length();
 48                 int end = str.indexOf("\" class=\"randomButtonTop\">try random element</a>");
 49                 if(start > 0 && end > 0) {
 50 
 51                     int e1s = str.indexOf(mark, start);
 52                     int e1e = str.indexOf("\"><img class=\"elementImg\"", e1s>0?e1s:0);
 53                     e1s += mark.length();
 54 
 55                     int e2s = str.indexOf(mark, e1e);
 56                     int e2e = str.indexOf("\"><img class=\"elementImg\"", e2s>0?e2s:0);
 57                     e2s += mark.length();
 58 
 59 
 60 //                    if(!map.containsKey(curr)){
 61 //                        System.out.println(curr);
 62 //                    }
 63 //                    if(e1s>start && e1e>e1s && !map.containsKey(str.substring(e1s, e1e))){
 64 //                        System.out.println(str.substring(e1s, e1e));
 65 //                    }
 66 //                    if(e2s>e1e && e2e>e2s && !map.containsKey(str.substring(e2s, e2e))){
 67 //                        System.out.println(str.substring(e2s, e2e));
 68 //                    }
 69 
 70                     if(!map.containsKey(curr) && e1s>start && e1e>e1s && e2s>e1e && e2e>e2s){
 71                         map.put(curr, cnt);
 72                         c[cnt][0] = curr;
 73                         c[cnt][1] = str.substring(e1s, e1e);
 74                         c[cnt][2] = str.substring(e2s, e2e);
 75                         cnt++;
 76                         System.out.println(cnt+". "+curr+" = "+str.substring(e1s, e1e)+" + "+str.substring(e2s, e2e));
 77                     }
 78 
 79                     String next = str.substring(start, end);
 80                     url = new URL(urlStr + next.replaceAll(" ", "%20"));
 81                     curr = next;
 82                 }
 83                 else {
 84 //                    System.out.println("\tWAITING...");
 85                     Thread.sleep(2000);
 86                 }
 87             }
 88 
 89             Arrays.sort(c, 0, cnt, new Comparator<String[]>() {
 90                 @Override
 91                 public int compare(String[] o1, String[] o2) {
 92                     return o1[0].compareTo(o2[0]);
 93                 }
 94             });
 95             PrintWriter out = new PrintWriter("result.txt");
 96             for(int i = 0; i < cnt; ++i){
 97                 out.printf("%s = %s + %s\n", c[i][0], c[i][1], c[i][2]);
 98 //                System.out.printf("%d. %s = %s + %s\n", i+1, c[i][0], c[i][1], c[i][2]);
 99             }
100             out.close();
101         }
102         catch (Exception e){
103             e.printStackTrace();
104         }
105     }
106 }

 

转载于:https://www.cnblogs.com/heiqi2piao/p/5113539.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471205.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优酷路由宝无线服务器,优酷路由宝一站式刷潘多拉!!!整理版

本帖最后由 louis000 于 2015-11-3 14:57 编辑优酷路由宝L1W刷潘多拉固件-整理优化版准备工作&#xff1a;使用有线连接路由宝和电脑&#xff1b;电脑网络连接设置为手动获取IP地址。---------------------------------------------------------------------------------------…

LeetCode 2166. 设计位集(Bitset)

文章目录1. 题目2. 解题1. 题目 位集 Bitset 是一种能以紧凑形式存储位的数据结构。 请你实现 Bitset 类。 Bitset(int size) 用 size 个位初始化 Bitset &#xff0c;所有位都是 0 。void fix(int idx) 将下标为 idx 的位上的值更新为 1 。如果值已经是 1 &#xff0c;则不…

Web框架——Flask系列之Flask简介(一)

一、Web应用程序作用 Web(World Wide Web)诞生最初的目的,是为了利用互联网交流工作文档 二、关于Web框架 &#xff08;一&#xff09;什么是Web框架&#xff1f; 已经封装好了一段代码,协助程序快速开发,相当于项目半成品开发者只需要按照框架约定要求,在指定位置写上自己…

服务器系统网卡驱动装不上,网卡驱动装不上去怎么办?

满意答案hgtn1q6xvv52014.09.28采纳率&#xff1a;58% 等级&#xff1a;13已帮助&#xff1a;9534人现提示原: SP2更考虑安全问题IP设置自获取其实DHCP服务器获取IP及相关参数程能由于某种原没完. SP1代种情况操作系统防止脱网(微软写)自作主张网卡设置169.x.x.x保留IP作任何…

moco-globalsettings

1.单个json文件 &#xff08;1&#xff09;目录配置 &#xff08;2&#xff09;新建foo.json 在project文件夹中新建foo.json [{"request" : {"uri" : "/foo"},"response" : {"text" : "foo"}} ] &#xff08;3&a…

十三、MySQL存储过程相关知识总结 + 案例讲解(强化)

一、存储过程VS函数 存储过程和函数&#xff1a;类似于java中的方法 好处&#xff1a; 1、提高代码的重用性 2、简化操作 二、存储过程 含义&#xff1a;一组预先编译好的SQL语句的集合&#xff0c;理解成批处理语句 1、提高代码的重用性 2、简化操作 3、减少了编译次数并且…

LeetCode 2169. 得到 0 的操作数

文章目录1. 题目2. 解题1. 题目 给你两个 非负 整数 num1 和 num2 。 每一步 操作 中&#xff0c;如果 num1 > num2 &#xff0c;你必须用 num1 减 num2 &#xff1b; 否则&#xff0c;你必须用 num2 减 num1 。 例如&#xff0c;num1 5 且 num2 4 &#xff0c;应该用 …

阿里云 腾讯云 服务器挂载数据盘

在默认拥有的腾讯云服务器是没有额外的数据盘的&#xff0c;默认Linux只有8GB系统盘&#xff0c;一般的网站也足够使用&#xff0c;如果额外购买的数据盘安装系统之后根据不同的面板、系统的路径问题可能不会自动加载到指定的数据盘目录&#xff0c;需要我们手工进行加载数据盘…

LeetCode 2171. 拿出最少数目的魔法豆(排序)

文章目录1. 题目2. 解题1. 题目 给你一个 正 整数数组 beans &#xff0c;其中每个整数表示一个袋子里装的魔法豆的数目。 请你从每个袋子中 拿出 一些豆子&#xff08;也可以 不拿出&#xff09;&#xff0c;使得剩下的 非空 袋子中&#xff08;即 至少 还有 一颗 魔法豆的袋…

十四、MySQL函数相关知识总结(简单易懂)

函数 含义&#xff1a;一组预先编译好的SQL语句的集合&#xff0c;理解成批处理语句 提高代码的重用性简化操作减少了编译次数并且减少了和数据库服务器的连接次数&#xff0c;提高了效率 区别&#xff1a; 存储过程&#xff1a;可以有0个返回&#xff0c;也可以有多个返回…

linux tar order

http://blog.csdn.net/imyang2007/article/details/7634470 把常用的tar解压命令总结下&#xff0c;当作备忘&#xff1a; tar -c: 建立压缩档案-x&#xff1a;解压-t&#xff1a;查看内容-r&#xff1a;向压缩归档文件末尾追加文件-u&#xff1a;更新原压缩包中的文件 这五个是…

LeetCode 2176. 统计数组中相等且可以被整除的数对

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 k &#xff0c;请你返回满足 0 < i < j < n &#xff0c;nums[i] nums[j] 且 (i * j) 能被 k 整除的数对 (i, j) 的 数目 。 示例 1&#xff1a; 输入&#xff1a;nums …

Web框架——Flask系列之Jinja2模板引擎(二)

Jinja2模板引擎简介 一、Jinja2模板概述 用来展示数据的html页面,这个过程也通常称为渲染,属于Jinja2的功能 使用模板的好处&#xff1a; 视图函数只负责业务逻辑和数据处理(业务逻辑方面)而模板则取到视图函数的数据结果进行展示(视图展示方面)代码结构清晰&#xff0c;耦合…

LeetCode 2177. 找到和为给定整数的三个连续整数

文章目录1. 题目2. 解题1. 题目 给你一个整数 num &#xff0c;请你返回三个连续的整数&#xff0c;它们的 和 为 num 。 如果 num 无法被表示成三个连续整数的和&#xff0c;请你返回一个 空 数组。 示例 1&#xff1a; 输入&#xff1a;num 33 输出&#xff1a;[10,11,12]…

final个人阅读作业

一、软件工程M1/M2总结 1、M1阶段总结&#xff1a; 我们团队的软件工程开发是按照前后端来分别开发的&#xff0c;我是负责后端的。我们的项目是做一个北航的社团平台&#xff0c;是一个网站。在后端我们使用的是ruby on rails。一开始对于ruby是没有什么经验的&#xff0c;因为…

Web框架——Flask系列之Jinja2自带过滤器(三)

一.过滤器概述 过滤器的本质就是函数。有时候我们不仅仅只是需要输出变量的值&#xff0c;我们还需要修改变量的显示&#xff0c;甚至格式化、运算等等&#xff0c;而在模板中是不能直接调用 Python 中的某些方法&#xff0c;那么这就用到了过滤器。 二.两种过滤器 2.1字符串…

LeetCode 2178. 拆分成最多数目的偶整数之和(等差数列求和)

文章目录1. 题目2. 解题1. 题目 给你一个整数 finalSum 。请你将它拆分成若干个 互不相同 的偶整数之和&#xff0c;且拆分出来的偶整数数目 最多 。 比方说&#xff0c;给你 finalSum 12 &#xff0c;那么这些拆分是 符合要求 的&#xff08;互不相同的偶整数且和为 finalS…

Web框架——Flask系列之CSRFToken详解(四)

CSRF(理解) 一. 什么是CSRFToken? CSRF全拼为Cross Site Request Forgery&#xff0c;译为跨站请求伪造。CSRF指攻击者盗用了你的身份&#xff0c;以你的名义发送恶意请求。 包括&#xff1a;以你名义发送邮件&#xff0c;发消息&#xff0c;盗取你的账号&#xff0c;甚至于…

apache ab test使用 单独安装ab和htpasswd

apache ab test使用 apache ab test使用 单独安装ab和htpasswd 转载自&#xff1a; http://www.cnblogs.com/super-d2/p/3831155.html#top http://blog.chinaunix.net/uid-20382003-id-3032167.html 注意&#xff1a;ab test是不支持长连接压测的&#xff0c;只支持短连接压测 …

LeetCode 2180. 统计各位数字之和为偶数的整数个数

文章目录1. 题目2. 解题1. 题目 给你一个正整数 num &#xff0c;请你统计并返回 小于或等于 num 且各位数字之和为 偶数 的正整数的数目。 正整数的 各位数字之和 是其所有位上的对应数字相加的结果。 示例 1&#xff1a; 输入&#xff1a;num 4 输出&#xff1a;2 解释&a…