我在第5行有错误,不确定错误是什么。该过程的整体效果将创建树木并在当前玩家lat lng的方形半径范围内建造。如果在此之后还有其他任何错误,我将非常感激,如果您也可以指出这些错误。
CREATE PROCEDURE PupulateLatLng(lat FLOAT(10,6), lng FLOAT(10,6), radius INT)
BEGIN
DECLARE mlat FLOAT(10,6);
SET mlat = 0.00084;
DECLARE mlng FLOAT(10,6);
SET mlng = 0.00118;
DECLARE scope FLOAT(10,6);
SET scope = Floor(radius/100);
DECLARE baselat FLOAT(10,6);
SET baselat = Floor(lat/mlat) * mlat;
DECLARE baselng FLOAT(10,6);
SET baselng = Floor(lng/mlng) * mlng;
DECLARE dlat FLOAT(10,6);
DECLARE dlng FLOAT(10,6);
DECLARE dlatunits INT;
SET dlatunits = -scope;
loop1: LOOP
SET dlatunits = dlatunits + 1;
DECLARE dlngunits INT;
SET dlngunits = -scope;
loop2: LOOP
SET dlngunits = dlngunits + 1;
dlat = dlatunits * mlat;
dlng = dlngunits * mlat;
DECLARE rand FLOAT(10,6);
SET rand = rand();
IF (rand <= 0.3) THEN
GenerateTree(Floor((lat + dlat)*1000000)/1000000, Floor((lng + dlng)*1000000)/1000000);
ELSEIF (rand <= 0.4) THEN
GenerateNPCBuilding(Floor((lat + dlat)*1000000)/1000000, Floor((lng + dlng)*1000000)/1000000);
IF dlngunits < scope THEN
ITERATE loop2;
END IF;
LEAVE loop2;
END LOOP loop2;
IF dlatunits < scope THEN
ITERATE loop1;
END IF;
LEAVE loop1;
END LOOP loop1;
END
答案 0 :(得分:0)
public static List<int> RemoveSmallest(List<int> numbers)
{
if(numbers == null) throw new ArgumentNullException("null argument");
if (numbers.Count < 1) return numbers;
var newList = new List<int>();
var lowest = numbers[0]; // treat this as the smallest
for (int i = 1; i < numbers.Count; i++)
{
if (numbers[i] < lowest) // compare it against other elements
{
lowest = numbers[i]; // update lowest
}
}
foreach (var num in numbers)
{
if (num != lowest) // dont add the lowest
{
newList.Add(num);
}
}
return newList;
}
语句必须在declare
- begin
块内的复合语句语法中before any other statement。由于您将end
与declare
混合在一起,因此会收到第二个set
的错误消息。
正确的语法是将所有声明放在顶部:
declare
或者,您可以使用 ...
DECLARE mlat FLOAT(10,6);
DECLARE mlng FLOAT(10,6);
DECLARE scope FLOAT(10,6);
DECLARE baselat FLOAT(10,6);
DECLARE baselng FLOAT(10,6);
DECLARE dlat FLOAT(10,6);
DECLARE dlng FLOAT(10,6);
DECLARE dlatunits INT;
SET mlat = 0.00084;
SET mlng = 0.00118;
SET scope = Floor(radius/100);
SET baselat = Floor(lat/mlat) * mlat;
SET baselng = Floor(lng/mlng) * mlng;
SET dlatunits = -scope;
...
语句的default
子句为变量分配默认值,而无需额外的declare
:
set