private void randomWalk(Vec p, Dir d, int steps, int baseScore, int noRepeatScore, int noBackTrackScore, int noTurnScore) {
set(p);
for (int i = 0; i < steps; i++) {
int[] pSpotsScores = new int[4];
for (int j = 0; j < 4; j++) {
Dir pd = d.turn(Turn.values()[j]);
Vec pHallSpot = p.InDirection(pd);
Vec pSpot = pHallSpot.InDirection(pd);
if (pSpot.distanceTo(world.midpoint) >= world.width / 2) {
//Debug.log(pSpot+" " + j+ " is out of bounds! ");