Hallo
kurze Frage:
Ich progg nen Bot für so ein Spiel, bei dem man mit der Maus nen Weg langlaufen muss.
mein Algorithmus funktioniert!
Das Problem ist, dass bei höherem Level das Spiel zu schnell scrollt und der Robot ein Tick
zu langsam ist.
Ich würde gerne irgendwo etwas Zeit einsparen wollen und hab aber leider keinen Plan mehr, was ich noch versuchen soll!
Kann mir da einer helfen? (evt. beim Screenshot oder pixelauswertung eine Idee, wie es schneller geht?)
x,y sind Koordinaten, wobei x so gut wie nie verändert werden soll;
frei, weg,ziel und weg2 etc sind integer und bekommen einen Farbwert in int-form
also wie gesagt, ich will nur Zeit einsparen, denn der Algorithmus funktioniert (und ich bin mir bewusst, dass die Namen nicht optimal sind)
vielen Dank schonmal im vorraus!
Terry
kurze Frage:
Ich progg nen Bot für so ein Spiel, bei dem man mit der Maus nen Weg langlaufen muss.
mein Algorithmus funktioniert!
Das Problem ist, dass bei höherem Level das Spiel zu schnell scrollt und der Robot ein Tick
zu langsam ist.
Ich würde gerne irgendwo etwas Zeit einsparen wollen und hab aber leider keinen Plan mehr, was ich noch versuchen soll!
Kann mir da einer helfen? (evt. beim Screenshot oder pixelauswertung eine Idee, wie es schneller geht?)
x,y sind Koordinaten, wobei x so gut wie nie verändert werden soll;
frei, weg,ziel und weg2 etc sind integer und bekommen einen Farbwert in int-form
also wie gesagt, ich will nur Zeit einsparen, denn der Algorithmus funktioniert (und ich bin mir bewusst, dass die Namen nicht optimal sind)
vielen Dank schonmal im vorraus!
Terry
Java:
public static void Lvl() {
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.mouseMove(100,560);
int x =100;
int y =560;
boolean laufen = true;
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRect = new Rectangle(dim);
BufferedImage bimage = robot.createScreenCapture(screenRect);
while (laufen) {
dim = Toolkit.getDefaultToolkit().getScreenSize();
screenRect = new Rectangle(dim);
bimage = robot.createScreenCapture(screenRect);
int weg2 = bimage.getRGB(x+29,y);
int freiH = bimage.getRGB(x,y-30);
int freiU = bimage.getRGB(x,y+30);
if (weg2 != weg) {
System.out.println(weg2+ " "+frei);
if (freiU==frei) {
while (freiH != frei) {
y-=30;
freiH = bimage.getRGB(x,y-30);
}
}
else
if (freiH==frei) {
while (freiU!= frei) {
y+=30;
freiU = bimage.getRGB(x,y+30);
}
}
robot.mouseMove(x,y);
if (weg2==ziel) {
laufen=false;
}
}
}
robot.mouseMove(x+80,y);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
Lvl();
}