
Untitled
By: a guest on
May 8th, 2012 | syntax:
None | size: 1.49 KB | hits: 14 | expires: Never
package org.Runebot.methods;
import java.awt.Point;
import java.util.ArrayList;
import org.Runebot.bot.Methods;
import org.Runebot.wrappers.RSTile;
public class Walking {
Methods me;
public Walking(Methods m) {
this.me = m;
}
public RSTile[] generateStraightPath(RSTile target) {
ArrayList<RSTile> path = new ArrayList<RSTile>();
RSTile myTile = this.me.character.getPos();
int distance = myTile.distanceTo(target);
if (distance <= 15
|| !this.me.calculations.tileToMinimap(target).equals(
new Point(-1, -1)))
return new RSTile[] { target };
int points = (int) Math.ceil((distance / 15) + 0.4999);
int xDist = (target.x > myTile.x ? target.x - myTile.x : myTile.x
- target.x);
int yDist = (target.y > myTile.y ? target.y - myTile.y : myTile.y
- target.y);
int xStep = xDist / points;
int yStep = yDist / points;
for (int i = 1; i <= points; i++) {
int x = (target.x > myTile.x ? myTile.x + (xStep * i) : myTile.x
- (xStep * i));
int y = (target.y > myTile.y ? myTile.y + (yStep * i) : myTile.y
- (yStep * i));
path.add(new RSTile(x, y));
}
return path.toArray(new RSTile[path.size()]);
}
public RSTile[] randomizePath(RSTile[] path, int xDist, int yDist) {
RSTile[] newPath = new RSTile[path.length];
for (int i = 0; i < path.length; i++) {
newPath[i] = new RSTile(path[i].x + this.me.random(-xDist, xDist),
path[i].y + this.me.random(-yDist, yDist));
}
return newPath;
}
}