fogón

← City3D assetfogon/cajero-automatico

Cajero automático

by fogonCC016637 blocks
Cajero automáticoDrag to turn it
// «Cajero automático» · gpt-6-sol (medium)
// A free-standing ATM: a tall grey and dark blue metal cabinet with a small hood on top, a screen glowing blue, a keypad, a card slot and a cash slot on the front (-y), and a green sign on top with a coin symbol.

// A chunky, free-standing city ATM. Front faces -y.
const navy = "#243b58";
const deepNavy = "#172b43";
const steel = "#aab9c2";
const lightSteel = "#cad4d8";
const shadowSteel = "#81949f";
const green = "#207a59";
const darkGreen = "#15583f";

// Solid cabinet and raised metal base.
box(14, 17, 2, 34, 32, 32, navy);
box(13, 16, 0, 35, 33, 2, deepNavy);
box(14, 17, 2, 34, 32, 3, shadowSteel);
box(15, 17, 4, 33, 17, 31, steel);
box(14, 18, 4, 14, 31, 31, shadowSteel);
box(34, 18, 4, 34, 31, 31, lightSteel);
box(15, 32, 4, 33, 32, 31, shadowSteel);

// Subtle variation on the broad painted front.
for (let x = 15; x <= 33; x++) {
  for (let z = 4; z <= 31; z++) {
    if (rand() < 0.055) set(x, 17, z, rand() < 0.5 ? "#b5c2c9" : "#9eafb8");
  }
}

// Recessed navy operating panel, with a bright toy-like border.
box(16, 15, 5, 32, 16, 30, lightSteel);
box(17, 14, 6, 31, 14, 29, deepNavy);
box(17, 13, 29, 31, 13, 29, "#dfa947");
box(17, 13, 6, 17, 13, 28, shadowSteel);
box(31, 13, 6, 31, 13, 28, shadowSteel);

// Blue-lit display and its thick bezel.
box(18, 12, 21, 30, 13, 28, "#536b79");
box(19, 11, 22, 29, 11, 27, "#2379b7");
box(20, 10, 25, 28, 10, 26, "#5bc8ee");
box(20, 10, 23, 25, 10, 23, "#b9f4f4");
box(20, 10, 22, 26, 10, 22, "#399bc9");
set(28, 10, 22, "#b9f4f4");

// Three little screen-side buttons.
for (const z of [23, 25, 27]) {
  set(30, 11, z, "#dce8e6");
}

// Keypad: raised keys on a dark plate.
box(18, 12, 12, 26, 13, 19, "#596d7a");
box(19, 11, 13, 25, 11, 18, deepNavy);
for (let row = 0; row < 3; row++) {
  for (let col = 0; col < 3; col++) {
    set(19 + col * 3, 10, 17 - row * 2,
        row === 2 && col === 2 ? "#e3ba52" : "#e2e8e6");
  }
}
set(22, 10, 11, "#e2e8e6");

// Card reader at the right, with a colored insertion cue.
box(27, 12, 16, 30, 12, 19, shadowSteel);
box(28, 11, 17, 30, 11, 17, "#071d2e");
box(28, 11, 19, 29, 11, 19, "#53d4ab");
set(27, 11, 17, "#eac14d");

// Wide cash dispenser below the controls.
box(18, 12, 6, 30, 13, 10, shadowSteel);
box(19, 11, 8, 29, 11, 9, "#102438");
box(20, 10, 7, 28, 10, 7, lightSteel);
box(19, 11, 10, 29, 11, 10, "#d6e0dc");

// Small side accents in the city's green-and-gold palette.
box(14, 15, 6, 15, 15, 28, darkGreen);
box(33, 15, 6, 34, 15, 28, darkGreen);
set(15, 14, 29, "#e6b44e");
set(33, 14, 29, "#e6b44e");

// Overhanging hood with a dark underside.
box(13, 13, 31, 35, 33, 33, deepNavy);
box(12, 11, 33, 36, 34, 34, shadowSteel);
box(12, 11, 34, 36, 34, 34, lightSteel);
box(12, 11, 32, 36, 11, 32, navy);

// Tall green sign, framed like enamel street furniture.
box(13, 13, 35, 35, 19, 42, darkGreen);
box(14, 12, 36, 34, 12, 41, green);
box(13, 12, 42, 35, 19, 43, "#329771");
box(13, 11, 35, 35, 11, 35, "#e3b64e");

// Chunky gold coin symbol on the sign.
for (let x = 16; x <= 21; x++) {
  for (let z = 36; z <= 41; z++) {
    const dx = x - 18.5, dz = z - 38.5;
    const d = dx * dx + dz * dz;
    if (d >= 4 && d <= 9) set(x, 11, z, "#f3ca62");
  }
}
box(18, 11, 38, 19, 11, 39, "#ffe59a");
set(18, 10, 38, "#e2aa39");

// Crisp pixel lettering: ATM.
const letters = [
  ["010", "101", "111", "101", "101"],
  ["111", "010", "010", "010", "010"],
  ["101", "111", "111", "101", "101"]
];
for (let letter = 0; letter < 3; letter++) {
  for (let row = 0; row < 5; row++) {
    for (let col = 0; col < 3; col++) {
      if (letters[letter][row][col] === "1") {
        set(24 + letter * 4 + col, 11, 40 - row, "#e5f5dc");
      }
    }
  }
}