Moin!
Habe in letzter Zeit ein wenig wieder in Java gearbeitet und wollte um es ein wenig weiter auszubauen gerne einen "kleinen Bot" schreiben. Will ich nicht zum cheaten oder so schreiben, sondern zum Üben vom Programmieren!
Der Bot soll sich auf einer Seite einloggen (funktioniert) dann auf "Spielen" klicken (funktioniert) und aus dem Hafen fahren (es handelt sich um das Spiel Piratestorm) und das aus dem Hafen fahren funktioniert ebenfalls schon. Doch nun fangen die Probleme an... Um die Karte nach Npcs abzusuchen muss der Bildschirminhalt irgendwie analysiert werden. Dazu mache ich erstmal einen Screenshot, doch ich habe nicht so wirklich eine Idee, wie ich auf diesem Screenshot so wirklich nach einem bestimmten Pixelmuster suchen soll. Ich könnte mir vorstellen, dass das mit einem Array funktioniert, doch eine wirkliche Idee, wie man es umsetzen könnte habe ich noch nicht. Hier übrigens den Code, den ich schon geschrieben habe:
Habe in letzter Zeit ein wenig wieder in Java gearbeitet und wollte um es ein wenig weiter auszubauen gerne einen "kleinen Bot" schreiben. Will ich nicht zum cheaten oder so schreiben, sondern zum Üben vom Programmieren!
Java:
//package robot;
/*
* RobotDemo.java
*/
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.*;
public class RobotDemo{
public static void main(String[] args) throws IOException, AWTException{
final Robot robot = new Robot();
robot.mouseMove(450, 1080);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(10000);
robot.mouseMove(550, 80);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(10000);
robot.mouseMove(850, 550);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(30000);
robot.mouseMove(650, 650);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(100);
robot.mouseMove(1480, 807);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(100);
for (int i=1; i<=2; i++)
{
BufferedImage image = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
Color pixelColor = new Robot().getPixelColor( i*100, i*50 );
new Thread(new Runnable(){
public void run() {
}
Hoffe ihr könnt mir mit dem wahrscheinlich simplen Problem helfen...
}).start();
JOptionPane.showMessageDialog(null, "Roboter ist fertig");
}
new Thread(new Runnable(){
public void run() {
}
}).start();
JOptionPane.showMessageDialog(null,"Robot Demo ist fertig.");
}
}