【发布时间】:2017-04-21 12:03:26
【问题描述】:
我在第 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
【问题讨论】:
-
请不要将答案编辑到问题中,因为此后问题将没有任何意义。