public class WobblyLine
extends java.lang.Object
ArrayList
of Coord
, where Coords that are adjacent in the ArrayList are
guaranteed to be orthogonally adjacent, but the path as a whole is not guaranteed to have all unique Coords (that is,
the line may cross over its previous path). If you don't want the line to cross itself, you can use
TwistedLine
, though the API is different.
Modifier and Type | Method and Description |
---|---|
static java.util.ArrayList<Coord> |
line(Coord start,
Coord end,
int width,
int height)
Draws a line from start to end using the Drunkard's Walk algorithm.
|
static java.util.ArrayList<Coord> |
line(int startX,
int startY,
int endX,
int endY,
int width,
int height)
Draws a line from (startX, startY) to (endX, endY) using the Drunkard's Walk algorithm.
|
static java.util.ArrayList<Coord> |
line(int startX,
int startY,
int endX,
int endY,
int width,
int height,
double weight,
IRNG rng)
Draws a line from (startX, startY) to (endX, endY) using the Drunkard's Walk algorithm.
|
public static java.util.ArrayList<Coord> line(int startX, int startY, int endX, int endY, int width, int height)
line(startX, startY, endX, endY, width, height, 0.75, new RNG())
.startX
- x of starting pointstartY
- y of starting pointendX
- x of ending pointendY
- y of ending pointwidth
- maximum map widthheight
- maximum map heightpublic static java.util.ArrayList<Coord> line(int startX, int startY, int endX, int endY, int width, int height, double weight, IRNG rng)
startX
- x of starting pointstartY
- y of starting pointendX
- x of ending pointendY
- y of ending pointwidth
- maximum map widthheight
- maximum map heightweight
- between 0.5 and 1.0, usually. 0.6 makes very random walks, 0.9 is almost a straight line.rng
- the random number generator to usepublic static java.util.ArrayList<Coord> line(Coord start, Coord end, int width, int height)
start
- starting pointend
- ending pointwidth
- maximum map widthheight
- maximum map heightCopyright © Eben Howard 2012–2022. All rights reserved.