1.5
This commit is contained in:
parent
c9dd7182aa
commit
acf93ec6df
22 changed files with 320 additions and 261 deletions
|
|
@ -336,18 +336,38 @@ const RESET_PRESETS = Object.freeze({
|
|||
addPresetItemsScattered(worldRef, "ball", presetCount(field, 6, 3, 10), center, { pad: 88, reason: "preset-happy-ball" });
|
||||
}
|
||||
|
||||
function addDefaultPresetRobotCleaner(worldRef, presetId = "default") {
|
||||
if (!worldRef || normalizeResetPresetId(presetId) === "empty") return;
|
||||
if ((worldRef.items || []).some(item => item && !item.dead && item.type === "robot_cleaner")) return;
|
||||
const center = { x0: worldRef.w * 0.16, x1: worldRef.w * 0.84, y0: worldRef.h * 0.16, y1: worldRef.h * 0.84 };
|
||||
addPresetItemsScattered(worldRef, "robot_cleaner", 1, center, {
|
||||
pad: 112,
|
||||
reason: `preset-${normalizeResetPresetId(presetId)}-default-robot-cleaner`,
|
||||
avoidOverlap: true,
|
||||
avoidAllObstacles: true,
|
||||
attempts: 140,
|
||||
maxRadius: 260,
|
||||
});
|
||||
if ((worldRef.items || []).some(item => item && !item.dead && item.type === "robot_cleaner")) return;
|
||||
const p = randPoint(worldRef, 88, center);
|
||||
addPresetItem(worldRef, "robot_cleaner", p.x, p.y, { reason: `preset-${normalizeResetPresetId(presetId)}-default-robot-cleaner` });
|
||||
}
|
||||
|
||||
function generatePresetWorld(worldRef, field, presetId, seedPopulation) {
|
||||
switch (normalizeResetPresetId(presetId)) {
|
||||
const preset = normalizeResetPresetId(presetId);
|
||||
switch (preset) {
|
||||
case "empty": return;
|
||||
case "athletic": return generateAthleticPreset(worldRef, field);
|
||||
case "crowded": return generateCrowdedPreset(worldRef, field);
|
||||
case "family": return generateFamilyPreset(worldRef, field);
|
||||
case "war": return generateWarPreset(worldRef, field);
|
||||
case "happy": return generateHappyPreset(worldRef, field);
|
||||
case "athletic": generateAthleticPreset(worldRef, field); break;
|
||||
case "crowded": generateCrowdedPreset(worldRef, field); break;
|
||||
case "family": generateFamilyPreset(worldRef, field); break;
|
||||
case "war": generateWarPreset(worldRef, field); break;
|
||||
case "happy": generateHappyPreset(worldRef, field); break;
|
||||
case "default":
|
||||
default:
|
||||
return generateDefaultPreset(worldRef, field, seedPopulation);
|
||||
generateDefaultPreset(worldRef, field, seedPopulation);
|
||||
break;
|
||||
}
|
||||
addDefaultPresetRobotCleaner(worldRef, preset);
|
||||
}
|
||||
|
||||
function groundForResetPreset(presetId = "default") {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue