Rename screw tubes to screw conveyors (t44)
Player text says Screw conveyor; code uses screw (BP_SCREW, piece id screw, screwIntake...). No compatibility code for old saves or blueprints. Suite outputs match before and after apart from names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// Throughput of belts and screw tubes: grains delivered per second. Whatever lands
|
||||
// Throughput of belts and screw conveyors: grains delivered per second. Whatever lands
|
||||
// past the outlet is taken away, so the output pile never backs up into the line.
|
||||
const { load, flatWorld, rect, ticks, count } = require('../../test/harness');
|
||||
const { run } = load();
|
||||
@@ -11,18 +11,18 @@ function rate(x0, x1, y0, y1) {
|
||||
for (let k = 0; k < 300; k++) run(`simTick(); ${sink}`);
|
||||
return run('__got') / 5;
|
||||
}
|
||||
// sideways tube fed by a walled hopper sitting on its first two blocks
|
||||
// sideways screw fed by a walled hopper sitting on its first two blocks
|
||||
fresh();
|
||||
run('for (let bx = 20; bx < 30; bx++) placeBlock(BP_TUBE, 1, bx, 20, true);');
|
||||
run('for (let bx = 20; bx < 30; bx++) placeBlock(BP_SCREW, 1, bx, 20, true);');
|
||||
run('for (let y = 0; y < 80; y++) { setCell(y*W+79, STONE, AMB[y], 0); setCell(y*W+96, STONE, AMB[y], 0); }');
|
||||
rect(run, 80, 0, 95, 79, run('SAND'));
|
||||
res.tubeSideways = rate(120, 319, 84, 119);
|
||||
res.tubeLanes = run('(() => { const s = new Set(); for (let y = 80; y < 84; y++) for (let x = 100; x < 120; x++) if (mat[y*W+x] === SAND) s.add(y); return s.size; })()');
|
||||
// lift: a column of up-tubes in a pit of sand, turned sideways at the top
|
||||
res.screwSideways = rate(120, 319, 84, 119);
|
||||
res.screwLanes = run('(() => { const s = new Set(); for (let y = 80; y < 84; y++) for (let x = 100; x < 120; x++) if (mat[y*W+x] === SAND) s.add(y); return s.size; })()');
|
||||
// lift: a column of up-screws in a pit of sand, turned sideways at the top
|
||||
fresh();
|
||||
run('for (let y = 120; y < 196; y++) for (let x = 90; x < 130; x++) setCell(y*W+x, EMPTY, AMB[y], 0)');
|
||||
rect(run, 90, 130, 129, 195, run('SAND'));
|
||||
run('for (let by = 20; by <= 37; by++) placeBlock(BP_TUBE, 0, 26, by, true); for (let bx = 26; bx <= 40; bx++) placeBlock(BP_TUBE, 1, bx, 19, true);');
|
||||
run('for (let by = 20; by <= 37; by++) placeBlock(BP_SCREW, 0, 26, by, true); for (let bx = 26; bx <= 40; bx++) placeBlock(BP_SCREW, 1, bx, 19, true);');
|
||||
res.lift = rate(164, 319, 80, 119);
|
||||
res.liftLanes = run('(() => { const s = new Set(); for (let y = 76; y < 80; y++) for (let x = 120; x < 160; x++) if (mat[y*W+x] === SAND) s.add(y); return s.size; })()');
|
||||
// belt: 12 blocks, a pile dropped on its back end
|
||||
|
||||
@@ -8,8 +8,8 @@ for (let x = (bx - 3) * BS; x < (bx + 27) * BS; x++) surfY[x] = (by + 4) * BS;
|
||||
const mo = addMold('ingot', bx, by - 4, RSTONE, true);
|
||||
const beltY = Math.ceil((mo.y + mo.h) / BS) + 1;
|
||||
for (let x = bx; x < bx + 9; x++) placeBlock(BP_BELT, 1, x, beltY, true);
|
||||
for (let y = by - 11; y < beltY; y++) placeBlock(BP_TUBE, 0, bx + 9, y, true);
|
||||
for (let x = bx + 9; x < bx + 16; x++) placeBlock(BP_TUBE, 1, x, by - 12, true);
|
||||
for (let y = by - 11; y < beltY; y++) placeBlock(BP_SCREW, 0, bx + 9, y, true);
|
||||
for (let x = bx + 9; x < bx + 16; x++) placeBlock(BP_SCREW, 1, x, by - 12, true);
|
||||
for (let x = bx + 16; x < bx + 25; x++) placeBlock(BP_BELT, 1, x, by - 11, true);
|
||||
placeBlock(BP_WALL, RSTONE, bx + 25, by - 12, true);
|
||||
mo.cavs[0].forEach(i => setCell(i, MCU, 1090, 0));
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// python3 tools/shot.py /tmp/belt-heap.png --setup tools/scenes/clear-sky.js --js "$(cat tools/scenes/belt-heap.js)" --ticks 240 --zoom 7
|
||||
const bx = BX + 6, by = BY;
|
||||
for (let x = bx; x < bx + 12; x++) placeBlock(BP_BELT, 1, x, by, true);
|
||||
for (let y = by - 10; y <= by; y++) placeBlock(BP_TUBE, 0, bx + 12, y, true);
|
||||
for (let y = by - 10; y <= by; y++) placeBlock(BP_SCREW, 0, bx + 12, y, true);
|
||||
for (let y = by * 4 - 30; y < by * 4; y++) for (let x = (bx + 2) * 4; x < (bx + 10) * 4; x++)
|
||||
setCell(y * W + x, y >= by * 4 - 6 ? SAND : CUORE, AMB[y], 0);
|
||||
window.CAM = [(bx + 7) * 4, (by - 5) * 4];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Run after clear-sky.js: a belt takes sand from a pile, up a diagonal screw to an upper belt.
|
||||
const tx = BX + 12, ty = BY - 1;
|
||||
for (let x = BX + 3; x < tx; x++) placeBlock(BP_BELT, 1, x, BY, true);
|
||||
for (let k = 0; k < 10; k++) placeBlock(BP_TUBE, 4, tx + k, ty - k, true);
|
||||
for (let k = 0; k < 10; k++) placeBlock(BP_SCREW, 4, tx + k, ty - k, true);
|
||||
for (let x = tx + 10; x < tx + 18; x++) placeBlock(BP_BELT, 1, x, ty - 9, true);
|
||||
for (let y = BY * 4 - 22; y < BY * 4; y++) for (let x = (BX + 4) * 4; x < (BX + 11) * 4; x++) setCell(y * W + x, SAND, 20, 0);
|
||||
window.CAM = [(tx + 4) * 4, (ty - 4) * 4];
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
// Run after clear-sky.js. Paused, empty pipes make casing, flights and mouths easy to inspect.
|
||||
const jx = BX + 5, jy = BY - 3;
|
||||
for (let k = 1; k <= 4; k++) placeBlock(BP_TUBE, 0, jx, jy + k, true);
|
||||
for (let k = 0; k < 6; k++) placeBlock(BP_TUBE, 4, jx + k, jy - k, true);
|
||||
for (let k = 1; k <= 4; k++) placeBlock(BP_TUBE, 0, jx + 5, jy - 5 - k, true);
|
||||
for (let k = 1; k <= 4; k++) placeBlock(BP_SCREW, 0, jx, jy + k, true);
|
||||
for (let k = 0; k < 6; k++) placeBlock(BP_SCREW, 4, jx + k, jy - k, true);
|
||||
for (let k = 1; k <= 4; k++) placeBlock(BP_SCREW, 0, jx + 5, jy - 5 - k, true);
|
||||
const hx = BX + 21, hy = BY - 3;
|
||||
for (let k = 1; k <= 4; k++) placeBlock(BP_BELT, 1, hx - k, hy, true);
|
||||
for (let k = 0; k < 6; k++) placeBlock(BP_TUBE, 4, hx + k, hy - k, true);
|
||||
for (let k = 0; k < 6; k++) placeBlock(BP_SCREW, 4, hx + k, hy - k, true);
|
||||
for (let k = 1; k <= 4; k++) placeBlock(BP_BELT, 1, hx + 5 + k, hy - 5, true);
|
||||
for (let k = 0; k < 4; k++) placeBlock(BP_TUBE, 5, BX + 32 + k, BY - 10 + k, true);
|
||||
for (let k = 0; k < 4; k++) placeBlock(BP_SCREW, 5, BX + 32 + k, BY - 10 + k, true);
|
||||
window.JOINTS = {
|
||||
verticalIn: [jx * 4 + 2, jy * 4 + 4],
|
||||
verticalOut: [(jx + 5) * 4 + 2, (jy - 5) * 4],
|
||||
|
||||
Reference in New Issue
Block a user