@haelp/teto
Version:
A typescript-based controllable TETR.IO client.
1 lines • 6.28 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/classes/game/utils.ts"],"sourcesContent":["import { Queue } from \"../../engine\";\nimport type { Game } from \"../../types\";\n\nexport const getFullFrame = (\n options: Game.ReadyOptions\n): Game.Replay.Frames.Full & { frame: number } => ({\n type: \"full\",\n frame: 0,\n data: {\n game: {\n board: Array.from({ length: options.boardheight + 20 }, () =>\n Array.from({ length: options.boardwidth }, () => null)\n ),\n bag: new Queue({\n type: options.bagtype,\n minLength: 7,\n seed: options.seed\n }).value as Game.Mino[],\n hold: {\n piece: null,\n locked: false\n },\n g: options.g,\n controlling: {\n lShift: {\n held: false,\n arr: 0,\n das: 0,\n dir: -1\n },\n rShift: {\n held: false,\n arr: 0,\n das: 0,\n dir: 1\n },\n lastshift: -1,\n inputSoftdrop: false\n },\n falling: {\n type: \"i\",\n x: 0,\n y: 0,\n r: 0,\n hy: 0,\n irs: 0,\n kick: 0,\n keys: 0,\n flags: 0,\n safelock: 0,\n locking: 0,\n lockresets: 0,\n rotresets: 0,\n skip: []\n },\n handling: options.handling,\n playing: true\n },\n stats: {\n lines: 0,\n level_lines: 0,\n level_lines_needed: 1,\n inputs: 0,\n holds: 0,\n score: 0,\n zenlevel: 1,\n zenprogress: 0,\n level: 1,\n combo: 0,\n topcombo: 0,\n combopower: 0,\n btb: 0,\n topbtb: 0,\n btbpower: 0,\n tspins: 0,\n piecesplaced: 0,\n clears: {\n singles: 0,\n doubles: 0,\n triples: 0,\n quads: 0,\n pentas: 0,\n realtspins: 0,\n minitspins: 0,\n minitspinsingles: 0,\n tspinsingles: 0,\n minitspindoubles: 0,\n tspindoubles: 0,\n minitspintriples: 0,\n tspintriples: 0,\n minitspinquads: 0,\n tspinquads: 0,\n tspinpentas: 0,\n allclear: 0\n },\n garbage: {\n sent: 0,\n sent_nomult: 0,\n maxspike: 0,\n maxspike_nomult: 0,\n received: 0,\n attack: 0,\n cleared: 0\n },\n kills: 0,\n finesse: {\n combo: 0,\n faults: 0,\n perfectpieces: 0\n },\n zenith: {\n altitude: 0,\n rank: 1,\n peakrank: 1,\n avgrankpts: 0,\n floor: 0,\n targetingfactor: 3,\n targetinggrace: 0,\n totalbonus: 0,\n revives: 0,\n revivesTotal: 0,\n revivesMaxOfBoth: 0,\n speedrun: false,\n speedrun_seen: false,\n splits: [0, 0, 0, 0, 0, 0, 0, 0, 0]\n }\n },\n diyusi: 0\n }\n});\n\n/** round frame */\nexport const rf = (frame: number) => Math.round(frame * 10) / 10;\n/** split frame */\nexport const sf = (frame: number) => [\n Math.floor(frame),\n Math.round((frame % 1) * 10) / 10\n];\n"],"names":["Queue","getFullFrame","options","type","frame","data","game","board","Array","from","length","boardheight","boardwidth","bag","bagtype","minLength","seed","value","hold","piece","locked","g","controlling","lShift","held","arr","das","dir","rShift","lastshift","inputSoftdrop","falling","x","y","r","hy","irs","kick","keys","flags","safelock","locking","lockresets","rotresets","skip","handling","playing","stats","lines","level_lines","level_lines_needed","inputs","holds","score","zenlevel","zenprogress","level","combo","topcombo","combopower","btb","topbtb","btbpower","tspins","piecesplaced","clears","singles","doubles","triples","quads","pentas","realtspins","minitspins","minitspinsingles","tspinsingles","minitspindoubles","tspindoubles","minitspintriples","tspintriples","minitspinquads","tspinquads","tspinpentas","allclear","garbage","sent","sent_nomult","maxspike","maxspike_nomult","received","attack","cleared","kills","finesse","faults","perfectpieces","zenith","altitude","rank","peakrank","avgrankpts","floor","targetingfactor","targetinggrace","totalbonus","revives","revivesTotal","revivesMaxOfBoth","speedrun","speedrun_seen","splits","diyusi","rf","Math","round","sf"],"mappings":"AAAA,SAASA,KAAK,QAAQ,eAAe;AAGrC,OAAO,MAAMC,eAAe,CAC1BC,UACiD,CAAA;QACjDC,MAAM;QACNC,OAAO;QACPC,MAAM;YACJC,MAAM;gBACJC,OAAOC,MAAMC,IAAI,CAAC;oBAAEC,QAAQR,QAAQS,WAAW,GAAG;gBAAG,GAAG,IACtDH,MAAMC,IAAI,CAAC;wBAAEC,QAAQR,QAAQU,UAAU;oBAAC,GAAG,IAAM;gBAEnDC,KAAK,IAAIb,MAAM;oBACbG,MAAMD,QAAQY,OAAO;oBACrBC,WAAW;oBACXC,MAAMd,QAAQc,IAAI;gBACpB,GAAGC,KAAK;gBACRC,MAAM;oBACJC,OAAO;oBACPC,QAAQ;gBACV;gBACAC,GAAGnB,QAAQmB,CAAC;gBACZC,aAAa;oBACXC,QAAQ;wBACNC,MAAM;wBACNC,KAAK;wBACLC,KAAK;wBACLC,KAAK,CAAC;oBACR;oBACAC,QAAQ;wBACNJ,MAAM;wBACNC,KAAK;wBACLC,KAAK;wBACLC,KAAK;oBACP;oBACAE,WAAW,CAAC;oBACZC,eAAe;gBACjB;gBACAC,SAAS;oBACP5B,MAAM;oBACN6B,GAAG;oBACHC,GAAG;oBACHC,GAAG;oBACHC,IAAI;oBACJC,KAAK;oBACLC,MAAM;oBACNC,MAAM;oBACNC,OAAO;oBACPC,UAAU;oBACVC,SAAS;oBACTC,YAAY;oBACZC,WAAW;oBACXC,MAAM,EAAE;gBACV;gBACAC,UAAU3C,QAAQ2C,QAAQ;gBAC1BC,SAAS;YACX;YACAC,OAAO;gBACLC,OAAO;gBACPC,aAAa;gBACbC,oBAAoB;gBACpBC,QAAQ;gBACRC,OAAO;gBACPC,OAAO;gBACPC,UAAU;gBACVC,aAAa;gBACbC,OAAO;gBACPC,OAAO;gBACPC,UAAU;gBACVC,YAAY;gBACZC,KAAK;gBACLC,QAAQ;gBACRC,UAAU;gBACVC,QAAQ;gBACRC,cAAc;gBACdC,QAAQ;oBACNC,SAAS;oBACTC,SAAS;oBACTC,SAAS;oBACTC,OAAO;oBACPC,QAAQ;oBACRC,YAAY;oBACZC,YAAY;oBACZC,kBAAkB;oBAClBC,cAAc;oBACdC,kBAAkB;oBAClBC,cAAc;oBACdC,kBAAkB;oBAClBC,cAAc;oBACdC,gBAAgB;oBAChBC,YAAY;oBACZC,aAAa;oBACbC,UAAU;gBACZ;gBACAC,SAAS;oBACPC,MAAM;oBACNC,aAAa;oBACbC,UAAU;oBACVC,iBAAiB;oBACjBC,UAAU;oBACVC,QAAQ;oBACRC,SAAS;gBACX;gBACAC,OAAO;gBACPC,SAAS;oBACPnC,OAAO;oBACPoC,QAAQ;oBACRC,eAAe;gBACjB;gBACAC,QAAQ;oBACNC,UAAU;oBACVC,MAAM;oBACNC,UAAU;oBACVC,YAAY;oBACZC,OAAO;oBACPC,iBAAiB;oBACjBC,gBAAgB;oBAChBC,YAAY;oBACZC,SAAS;oBACTC,cAAc;oBACdC,kBAAkB;oBAClBC,UAAU;oBACVC,eAAe;oBACfC,QAAQ;wBAAC;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;qBAAE;gBACrC;YACF;YACAC,QAAQ;QACV;IACF,CAAA,EAAG;AAEH,gBAAgB,GAChB,OAAO,MAAMC,KAAK,CAAC3G,QAAkB4G,KAAKC,KAAK,CAAC7G,QAAQ,MAAM,GAAG;AACjE,gBAAgB,GAChB,OAAO,MAAM8G,KAAK,CAAC9G,QAAkB;QACnC4G,KAAKZ,KAAK,CAAChG;QACX4G,KAAKC,KAAK,CAAC,AAAC7G,QAAQ,IAAK,MAAM;KAChC,CAAC"}