"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > n X Multiplicador de probabilidad

n X Multiplicador de probabilidad

Publicado el 2024-08-01
Navegar:704

n X Probability Multiplier

Estoy intentando crear un sistema de probabilidad de 1 en X, pero por alguna razón el multiplicador no funciona. Me di un multiplicador alto y todavía obtengo bloques comunes.

const blocks_rng = [
  { name: "Dirt Block", item: "dirt", chance: 2 },
  { name: "Farmland", item: "farmland", chance: 3 },
  { name: "Oak Log", item: "oak_log", chance: 4 },
  { name: "Andesite", item: "andesite", chance: 6 },
  { name: "Granite", item: "granite", chance: 9 },
  { name: "Diorite", item: "diorite", chance: 12 },
  { name: "§9Stone", item: "stone", chance: 16 },
  { name: "§9Amethyst", item: "amethyst_block", chance: 32 },
  { name: "§9Magma", item: "magma", chance: 64 },
  { name: "§9Enchanting Table", item: "enchanting_table", chance: 128 },
  { name: "§9Mob Spawner", item: "mob_spawner", chance: 250 },
  { name: "§9Obsidian", item: "obsidian", chance: 512 },
  { name: "§dCrying Obsidian", item: "crying_obsidian", chance: 1024 },
  { name: "§dBeacon", item: "beacon", chance: 8024 },
  { name: "§dEnd Frame", item: "end_portal_frame", chance: 2500 },
  { name: "§dBedrock", item: "bedrock", chance: 5000 },
  { name: "§5Command Block", item: "command_block", chance: 10000 },
  { name: "§5Chain Command Block", item: "chain_command_block", chance: 25000 },
  { name: "§5Repeating Command Block", item: "repeating_command_block", chance: 30000 },
  { name: "§4§l§k!§4§l???§r§4§l§k!", item: "stone", chance: 999999999 }
];

function getRandomBlock() {
  const mult = 20;
  const scaledChances = blocks_rng.map(block => mult / block.chance);
  const totalScaledChance = scaledChances.reduce((sum, scaledChance) => sum   scaledChance, 0);

  let random = Math.random() * totalScaledChance;
  for (let i = 0; i 




          

            
        
Declaración de liberación Este artículo se reproduce en: https://dev.to/vyse/1-in-x-probability-multiplier-1c85?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3