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
Little Alchemy 游戏 - 扒答案。。 Java相关推荐
- Java 游戏开发:关于Java面向对象的知识(一)
Java 游戏开发:关于Java面向对象的知识(一) 软件的生命周期(了解即可) 由于我们是大专生 这里的生命周期是之前软件工程的笔记,你们了解就可以了 什么是软件的生命周期 一个软件从被开发到被正式 ...
- Java毕设项目藏宝阁游戏交易系统(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目藏宝阁游戏交易系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(We ...
- 怒江java培训班_智慧树知到答案Java项目实战(黑龙江联盟)查题公众号
智慧树知到答案Java项目实战(黑龙江联盟)查题公众号 更多相关问题 读长沙小丽的东南亚"新马泰"旅游日记,结合地图,回答问题.(8分)(3)小丽在马来西亚观光,随处可见()A.油 ...
- 复习Java小球游戏代码分享Java面试题MySQL中常用的锁生活【记录一个咸鱼大学生三个月的奋进生活】021
记录一个咸鱼大学生三个月的奋进生活021 复习Java小球游戏 游戏界面的代码 小球运动线程的代码 运行游戏的代码 运行结果 代码分享 学习Java面试题(MySQL中常用的锁) 照片分享 复习Jav ...
- java数组游戏_基于java的挖地雷游戏
项目简介: 模拟windows系统中的挖地雷游戏,采用Java开发类似的游戏. 游戏包含的行为: 1. 基本的游戏功能1(优先级高): 通过鼠标点击按钮,完成图片的显示: Case1: 如果 ...
- java oj题及答案_华为OJ答案(java版)题目2
华为OJ&答案(java版) 1. 功能:等差数列 2,5,8,11,14.... 输入:正整数N >0 输出:求等差数列前N项和 返回:转换成功返回 0 ,非法输入与异常返回-1 pu ...
- 游戏开发总结-java篇
游戏开发总结-java篇 前言 网络通信 数据存储 逻辑开发 逻辑开发一般遇到的问题有: Java游戏服务器方面的开发要掌握的技术: java服务器目前主流框架技术 前言 Java语言,由于学习成本低 ...
- Java 游戏开发:关于Java面向对象的知识( 四)
这是上期教程:Go To It! 新年过去了,鸽了几天的教程,今天我们开始继续学习(新年快乐~) 游戏人物类的实现 对于一个游戏人物而言,我们可以想到以下的字段: 最大血量 当前血量 名称 装备数组( ...
- 头歌实践教学平台答案(Java实训作业答案)
搜集整理了一份最新最全的头歌(EduCoder)Java实训作业答案,分享给大家.(EduCoder)是信息技术类实践教学平台.(EduCoder)涵盖了计算机.大数据.云计算.人工智能.软件工程.物 ...
最新文章
- return与exit()
- 中国充换电行业产销需求预测与转型升级战略分析报告2022-2028年版
- Error establishing a database connection!
- c .net ajax,Asp.net mvc 2中使用Ajax的三种方式
- libevent源码深度剖析一
- linux 标准函数注释,Linux 驱动程序中相关函数注释汇总(跟新中)
- 探索JavaScript中Null和Undefined的深渊
- 三、synchronized同步锁
- Decide what you want,and go after it with everything you got!
- DDR3 MIG IP核仿真与学习
- 为什么在计算机里打开U盘会闪退,U盘闪退怎么办?
- win10打开蓝牙_联想笔记本win10无法连接蓝牙音箱的解决方法
- JAVA-计算两篇文章的相似度
- html制作网页文字颜色代码,html网页设计教程关于html字体颜色设置方法是什么?...
- 幂数加密(云影加密)
- 北京房租大涨?6个维度,数万条数据帮你揭穿(附详情代码)
- raspberry pi到手,折腾成web服务器,加小小鄙视下网通
- 人脸跟踪:Detect to Track and Track to Detect
- 文件上传并展示上传文件
- 二进制转换成十进制然后输出 学堂在线第二章作业2-2
热门文章
- 利用 Linux tap/tun 虚拟设备写一个 ICMP echo 程序
- Linux : shell基础(慕课网Linux达人养成计划课程笔记)
- ROS机器人程序设计(原书第2版)2.3 理解ROS开源社区级
- 什么是H标签?H1,H2,H3标签?以及和strong标签使用的方法及重要性
- jBPM4工作流开发实战 之 第五部分 其他知识
- Mina学习之搭建项目工程目录
- String.getBytes(Unicode)的疑问 以及 SHIFT-JIS编码范围
- 业务系统里面常见的方法接口设计
- linux 共享移动硬盘,随时登陆上QQ 自带Linux移动硬盘实战
- double 二进制 java_C#中将double值变成二进制然后写入文件,Java中载入该文件读取此二进制double值时不正确...