private void step(int actualSpeed, int x, int y) {

	if (map[x][y].isWalkable() && buildings[x][y]==null) { 			//can only walk if no building or walkable
	    int newSpeed = (int) (actualSpeed - map[x][y].getGroundFactor());   //Hotfix by Simi, because I changed groundFactor to double

	    if (newSpeed >= 1) {

		tempRange[x][y] = true;
		step(newSpeed, x - 1, y);
		step(newSpeed, x + 1, y);
		step(newSpeed, x, y + 1);
		step(newSpeed, x, y - 1);
	    } else if (newSpeed > 0) {
		tempRange[x][y] = true;
		step(1, x - 1, y);
		step(1, x + 1, y);
		step(1, x, y + 1);
		step(1, x, y - 1);
	    } else { // Movement-points used -> field not accessible

	    }

	} else { // Field not walkable

	}

    }