private static void searchRight(GridCell location, byte movement) {
		// DEBUG
		// System.out.println("searchRight (" + location.x + "," + location.y +
		// "," + movement + ")");
		Logic.iterations++;
		// System.out.println("Iterations: " + Logic.iterations);
		if (location.x < Logic.map.length - 1) { // Not on the right border of
													// the map
			// If the unit can transverse the gridCell to the left
			if (Logic.map[location.x + 1][location.y].terrain
					.getCanTransverse(Logic.unit1MovementType)) {

				// If it is the original GridCell, from where the unit is
				// standing
				if (Logic.map[location.x + 1][location.y]
						.equals(Logic.unit1.location)) {
					// Add nothing, as source GridCell can't be a destiny
					return;
				}
				// If there is an enemy or friend unit on the destination
				if (Logic.map[location.x + 1][location.y].unit != null) {
					// If the unit is not an ally one
					if (Logic.map[location.x + 1][location.y].unit.player.team != Logic.unit1.player.team) {
						// Add nothing and return, as this GridCell is not
						// transversable
						return;
					}
				}
				// If the unit can transverse the right gridCell
				if (map[location.x + 1][location.y].terrain
						.getCanTransverse(Logic.unit1MovementType)) {
					// Calculate if the unit has enough movement points to
					// transverse the upper gridCell
					if (movement
							- Logic.map[location.x + 1][location.y].terrain
									.getMovementCost(Logic.unit1MovementType) >= 0) {
						// DEBUG
						// System.out.println("La diferencia es: " + (movement
						// - Logic.map[location.x +
						// 1][location.y].terrain.getMovementCost(Logic.unit1MovementType)));

						// System.out.println("Movement still is: " + movement);
						// System.out.println("Adding new (" + (location.x + 1)
						// + "," + location.y + ")");
						Logic.movementRadius
								.add(Logic.map[location.x + 1][location.y]);
					}
					// If the unit can move after transversing the upper
					// gridCell
					if (movement > 0) {
						calculateOnGridCell(
								Logic.map[location.x + 1][location.y],
								(byte) (movement - Logic.map[location.x + 1][location.y].terrain
										.getMovementCost(Logic.unit1MovementType)),
								RIGHT_ROOT);
					}
				}
			}
		}
	}