@haelp/teto
Version:
A typescript-based controllable TETR.IO client.
1 lines • 1.61 kB
Source Map (JSON)
{"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"}