皆伝に向けてモチベ維持したいので週末コーディングした
皆伝曲の最小ミスカンをグラフ化できるようにしてみた。
なんか今日、灼熱と冥のミスカン減ったからちゃんと記録していこうと思ってコード書きました。
適当に書いたコードなので好きに使ってください。
成果物
まず、Reflux で日々、全曲のプレイ状況を tsv で取得してます。
これらを利用して皆伝課題曲だけ抽出して以下のような csv にできました。
DATE,G59,灼熱Beach_Side_Bunny,卑弥呼,冥 20220123,138,205,376,329 20220125,138,205,376,329 20220126,138,205,376,329 20220127,138,205,376,309 20220130,138,205,376,309 20220131,138,205,376,309 20220204,138,205,376,309 20220205,138,205,376,309 20220206,138,205,376,309 20220208,138,205,376,309 20220209,138,205,376,309 20220211,138,205,376,309 20220213,138,205,376,309 20220214,138,205,376,309 20220223,138,205,376,273 20220314,138,205,376,246 20220318,138,205,376,246 20220329,138,205,376,207 20220413,138,205,376,207 20220416,138,205,376,207 20220417,138,181,376,197
このデータを Google スプレッドシートにぶち込むと、こんな感じでグラフを作れます。
これでなんとなく、記録しておけば、皆伝合格までの最小ミスカン推移が分かるって寸法です。
コード置いとくので使い方が分かる方はご利用ください。
const fs = require("fs"); const tsv = require('tsv'); const _ = require('lodash'); const os = require('os'); const KAIDEN = [ "G59", "灼熱Beach Side Bunny", "卑弥呼", "冥" ]; // csv のヘッダー // 灼熱はスペース区切りを_区切りに変更 let resultCsv = "DATE," + KAIDEN[0] + "," + KAIDEN[1].replace(/\s/g, "_") + "," + KAIDEN[2] + "," + KAIDEN[3]; // ファイルのパス指定 const baseFilePath = "D:\\workspace\\Reflux\\Reflux\\bin\\Release\\netcoreapp3.1\\"; // tsv だけを抽出 const filenames = fs.readdirSync(baseFilePath); const files = _.filter(filenames, function(filename) { return filename.match(/^tracker.*\.tsv$/); }); // あとから使うので日付だけ抽出しとく const dates = []; _.forEach(files, function (file){ dates.push(file.substr(7 , 8)); }); let tsvAsObj; // ファイルの数だけ回して tsv をロードする _.forEach(dates, function (date) { const tsvPath = baseFilePath + "tracker" + date + ".tsv"; resultCsv = resultCsv + os.EOL + date; try { const buff = fs.readFileSync(tsvPath, "utf8"); tsvAsObj = tsv.parse(buff); } catch (e) { console.log(e); } // 皆伝の楽曲のミスカン取得して csv に書き出し _.forEach(KAIDEN, function (KAIDEN_SONG) { const kadai = _.filter(tsvAsObj, ["title", KAIDEN_SONG]); resultCsv = resultCsv + "," + kadai[0]["SPA Miss Count"] }); }); // アウトプット console.log(resultCsv); fs.writeFileSync('./kaiden.csv', resultCsv);
関係ない話
共鳴遊戯の華をイージークリアしました!
マジで嬉しすぎます。ついに地力 S にランプ点灯です。
共鳴遊戯の華イージーまじ?wwwwwwwwwwww💪💪💪💪💪💪💪🎉🎉🎉🎉🎉🎉🎉🎉🥳🥳🥳🥳🥳🥳🥳✨✨✨✨✨✨✨✨✨✨✨🎉🎉🎉🎉🎉🥳🥳🥳🥳🥳🥳 pic.twitter.com/WpCyauuVPq
— Shuichi Murata (@shuichi60) 2022年4月17日