{"version":3,"sources":["../../../../src/engine/queue/rng/bag7-x.ts"],"sourcesContent":["import { RNG } from \"../../utils\";\nimport { Mino } from \"../types\";\n\nexport const bag7_X = (seed: number): (() => Mino[]) => {\n  const gen = new RNG(seed);\n  const extraPieceCount = [3, 2, 1, 1];\n  let bagid = 0;\n  let extraBag: Mino[] = [];\n  return () => {\n    const extra = extraPieceCount[bagid++] ?? 0;\n    if (extraBag.length < extra)\n      extraBag = gen.shuffleArray([\n        Mino.Z,\n        Mino.L,\n        Mino.O,\n        Mino.S,\n        Mino.I,\n        Mino.J,\n        Mino.T\n      ] as const);\n    return gen.shuffleArray([\n      Mino.Z,\n      Mino.L,\n      Mino.O,\n      Mino.S,\n      Mino.I,\n      Mino.J,\n      Mino.T,\n      ...extraBag.splice(0, extra)\n    ] as const);\n  };\n};\n"],"names":["RNG","Mino","bag7_X","seed","gen","extraPieceCount","bagid","extraBag","extra","length","shuffleArray","Z","L","O","S","I","J","T","splice"],"mappings":"AAAA,SAASA,GAAG,QAAQ,cAAc;AAClC,SAASC,IAAI,QAAQ,WAAW;AAEhC,OAAO,MAAMC,SAAS,CAACC;IACrB,MAAMC,MAAM,IAAIJ,IAAIG;IACpB,MAAME,kBAAkB;QAAC;QAAG;QAAG;QAAG;KAAE;IACpC,IAAIC,QAAQ;IACZ,IAAIC,WAAmB,EAAE;IACzB,OAAO;QACL,MAAMC,QAAQH,eAAe,CAACC,QAAQ,IAAI;QAC1C,IAAIC,SAASE,MAAM,GAAGD,OACpBD,WAAWH,IAAIM,YAAY,CAAC;YAC1BT,KAAKU,CAAC;YACNV,KAAKW,CAAC;YACNX,KAAKY,CAAC;YACNZ,KAAKa,CAAC;YACNb,KAAKc,CAAC;YACNd,KAAKe,CAAC;YACNf,KAAKgB,CAAC;SACP;QACH,OAAOb,IAAIM,YAAY,CAAC;YACtBT,KAAKU,CAAC;YACNV,KAAKW,CAAC;YACNX,KAAKY,CAAC;YACNZ,KAAKa,CAAC;YACNb,KAAKc,CAAC;YACNd,KAAKe,CAAC;YACNf,KAAKgB,CAAC;eACHV,SAASW,MAAM,CAAC,GAAGV;SACvB;IACH;AACF,EAAE"}