diff --git a/DivaBot/.classpath b/DivaBot/.classpath index 997f2ab..29d3daa 100644 --- a/DivaBot/.classpath +++ b/DivaBot/.classpath @@ -2,7 +2,6 @@ - diff --git a/DivaBot/pom.xml b/DivaBot/pom.xml index 5b8129a..6d1147d 100644 --- a/DivaBot/pom.xml +++ b/DivaBot/pom.xml @@ -29,5 +29,10 @@ httpclient 4.5.12 + + org.apache.httpcomponents + httpmime + 4.5.12 + \ No newline at end of file diff --git a/DivaBot/src/sig/DrawCanvas.java b/DivaBot/src/sig/DrawCanvas.java index fc24480..c3cd0d0 100644 --- a/DivaBot/src/sig/DrawCanvas.java +++ b/DivaBot/src/sig/DrawCanvas.java @@ -110,7 +110,7 @@ public class DrawCanvas extends JPanel{ artist = obj.getString("artist"); obj = FileUtils.readJsonFromUrl("http://45.33.13.215:4501/bestplay/sigonasr2/"+URLEncoder.encode(MyRobot.p.songname, StandardCharsets.UTF_8.toString()).replaceAll("\\+", "%20")+"/"+difficulty); if (obj.has("cool")) { - bestPlay = new Result(MyRobot.p.songname,difficulty,obj.getInt("cool"),obj.getInt("fine"),obj.getInt("safe"),obj.getInt("sad"),obj.getInt("worst"),(float)obj.getDouble("percent")); + bestPlay = new Result(MyRobot.p.songname,difficulty,obj.getInt("cool"),obj.getInt("fine"),obj.getInt("safe"),obj.getInt("sad"),obj.getInt("worst"),(float)obj.getDouble("percent"),null); } else { bestPlay = null; } diff --git a/DivaBot/src/sig/MyRobot.java b/DivaBot/src/sig/MyRobot.java index a5f21a1..11f39d9 100644 --- a/DivaBot/src/sig/MyRobot.java +++ b/DivaBot/src/sig/MyRobot.java @@ -64,6 +64,7 @@ import org.json.JSONObject; import sig.utils.FileUtils; import sig.utils.ImageUtils; import sig.utils.SoundUtils; +import sig.utils.WebUtils; public class MyRobot{ static Robot MYROBOT; @@ -107,7 +108,7 @@ public class MyRobot{ long lastSongSelectTime = System.currentTimeMillis(); static TypeFace typeface1,typeface2; - + static Thread t = null; String prevSongTitle = ""; String prevDifficulty = ""; @@ -242,6 +243,7 @@ public class MyRobot{ int playId = songFolderFiles.length; File playFolder = new File(selectedSong.title+"/"+difficulty+"/"+playId); playFolder.mkdir(); + File f = new File(playFolder,selectedSong.title+"_"+difficulty+"play_"+cool+"_"+fine+"_"+safe+"_"+sad+"_"+worst+"_"+percent+".png"); try { /*FileUtils.copyFileDir(new File(tmp,"cool"), new File(playFolder,"cool")); FileUtils.copyFileDir(new File(tmp,"fine"), new File(playFolder,"fine")); @@ -250,21 +252,20 @@ public class MyRobot{ FileUtils.copyFileDir(new File(tmp,"worst"), new File(playFolder,"worst")); FileUtils.copyFileDir(new File(tmp,"percent"), new File(playFolder,"percent"));*/ //FileUtils.deleteFile(tmp); - ImageIO.write(MYROBOT.createScreenCapture(new Rectangle(418,204,1227,690)),"png",new File(playFolder,selectedSong.title+"_"+difficulty+"play_"+cool+"_"+fine+"_"+safe+"_"+sad+"_"+worst+"_"+percent+".png")); + ImageIO.write(MYROBOT.createScreenCapture(new Rectangle(418,204,1227,690)),"png",f); + recordedResults=true; + lastcool=cool; + lastfine=fine; + lastsafe=safe; + lastsad=sad; + lastworst=worst; + lastpercent=percent; + lastfail=fail; + + results.add(new Result(selectedSong.title,difficulty,cool,fine,safe,sad,worst,percent,fail,f)); } catch (IOException e) { e.printStackTrace(); } - recordedResults=true; - lastcool=cool; - lastfine=fine; - lastsafe=safe; - lastsad=sad; - lastworst=worst; - lastpercent=percent; - lastfail=fail; - - results.add(new Result(selectedSong.title,difficulty,cool,fine,safe,sad,worst,percent,fail)); - SoundUtils.playSound("collect_item.wav"); gotoxy(800,64); click(); MYROBOT.setAutoDelay(0); @@ -279,60 +280,27 @@ public class MyRobot{ if (results.size()>0) { recordingResults=true; for (Result r : results) { - r.songName=r.songName.equalsIgnoreCase("PIANOGIRL")?"PIANO*GIRL":(r.songName.equalsIgnoreCase("16 -out of the gravity-"))?"1/6 -out of the gravity-":r.songName; - HttpClient httpclient = HttpClients.createDefault(); - HttpPost httppost = new HttpPost("http://45.33.13.215:4501/submit"); - - // Request parameters and other properties. - List params = new ArrayList(); - params.add(new BasicNameValuePair("song", r.songName)); - params.add(new BasicNameValuePair("username", "sigonasr2")); - params.add(new BasicNameValuePair("authentication_token", "sig")); - params.add(new BasicNameValuePair("difficulty", r.difficulty)); - params.add(new BasicNameValuePair("cool", Integer.toString(r.cool))); - params.add(new BasicNameValuePair("fine", Integer.toString(r.fine))); - params.add(new BasicNameValuePair("safe", Integer.toString(r.safe))); - params.add(new BasicNameValuePair("sad", Integer.toString(r.sad))); - params.add(new BasicNameValuePair("worst", Integer.toString(r.worst))); - params.add(new BasicNameValuePair("percent", Float.toString(r.percent))); - params.add(new BasicNameValuePair("fail", Boolean.toString(r.fail))); - try { - httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - - //Execute and get the response. - HttpResponse response = null; - try { - response = httpclient.execute(httppost); - } catch (IOException e) { - e.printStackTrace(); - } - HttpEntity entity = response.getEntity(); + new Thread() { + public void run() { + HashMap s = new HashMap<>(); + s.put("username","sigonasr2"); + s.put("authentication_token","sig"); + WebUtils.POSTimage("http://projectdivar.com/upload", r.f, s); + SoundUtils.playSound("collect_item.wav"); - if (entity != null) { - try (InputStream instream = entity.getContent()) { - Scanner s = new Scanner(instream).useDelimiter("\\A"); - String result = s.hasNext() ? s.next() : ""; - System.out.println(result); - instream.close(); - } catch (UnsupportedOperationException | IOException e) { - e.printStackTrace(); + try { + JSONObject obj = FileUtils.readJsonFromUrl("http://45.33.13.215:4501/rating/sigonasr2"); + p.lastRating = p.overallrating; + p.overallrating = (int)obj.getDouble("rating"); + if (p.lastRating