今燃えている育成ゲームウマ娘、の月一の対人戦チャンピオンズミーティング第2回カプリコーン杯(2022)に出たが、ゴールド(上から 2 番目にすごい)の称号をもらった話。
- 追込スイープ
- 先行エル
- 布陣差しシチー
- 勝率
- 決勝の動画
- 過去のチャンミの成績
古いDisplaySwitch.exeが必要です。
# [DisplaySwitch.exe only opens the menu, regardless of the arguments : windowsinsiders](https://www.reddit.com/r/windowsinsiders/comments/uurnqd/comment/ipeoq15/?utm_source=reddit&utm_medium=web2x&context=3) Add-Type -AssemblyName System.Windows.Forms $displayCount = [System.Windows.Forms.Screen]::AllScreens.Count # 接続中のディスプレイ数を入力 $maxDisplayCount = 4 if ($displayCount -eq $maxDisplayCount) { # 拡張→セカンドスクリーンのみ C:\Users\hogehoge\script\DisplaySwitch.exe /external } else { # セカンドスクリーンのみ→拡張 C:\Users\hogehoge\script\DisplaySwitch.exe /extend }
PS2EXEというソフトでEXE化した。
MScholtes/PS2EXE: Module to compile powershell scripts to executables
ps2exe .\トグルマルチディスプレイ.ps1 -noConsole
DisplaySwitch.exe only opens the menu, regardless of the arguments : windowsinsiders
DisplaySwitch.exe
はアップデートで機能が削減されて、オプションが効かなくなった。DisplaySwitch.exe
を手に入れよう。この記事を読んで実装しただけなので、この記事を読んだほうがいいです。
[PowerShell]再生デバイスの「既定のデバイス」をワンアクションでトグルする - Qiita
Indexまわりがハードコーディングです。
# [PowerShell]再生デバイスの「既定のデバイス」をワンアクションでトグルする - Qiita # https://qiita.com/heliojack/items/1cf3cc74f180374618ce#%E5%85%88%E4%BA%BA%E3%81%AE%E7%9F%A5%E6%81%B5powershell%E3%81%8C%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88 Set-Variable -Name forSound -Value 1; Set-Variable -Name forVoice -Value 2; $before = (Get-AudioDevice -Playback).Index; $after = $forSound; switch ($before) { $forSound { $after = $forVoice; } $forVoice { $after = $forSound; } } $null = Set-AudioDevice -Index $after;
PS2EXEというソフトでEXE化した。
MScholtes/PS2EXE: Module to compile powershell scripts to executables
ps2exe .\再生デバイスのトグル.ps1 -noConsole
後述の拡張機能を使うため、まずブックマークをVivaldiとChrome間で同期する。
ブックマークを同期する拡張機能、Floccus bookmark syncを使った。 設定はこれ。
ブックマーク同期拡張機能はVivaldiに対応しているものを選ぼう。
Apple公式の拡張機能で、Windows ChromeとiCloud間でブックマークを同期する。 ちなみにMacBookではできないので困る。
そのままiCloudとSafari間で同期する。iPadも同様なので割愛。
Vivaldiの標準機能で、Vivaldi間でブックマークを同期する。
最近はVivaldiのブックマーク機能が不調で、ブックマークを編集しても画面に反映されない。 とりあえずVivaldiを再起動すると治ることがあった。
https://twitter.com/hotarunx/status/1609444176168640512?s=46&t=c5Ld3yLp6J6BEZld434AFw
問題名の右に問題、解説、コードの3つのリンクが追加される。 押すとE8さんの問題ツイート、解説ツイート、GitHubのコードに飛ぶ。
余分にatcoder-difficulty-displayを入れているので難易度表示が出ている。
TypeScriptのファイル分割を覚えて、メインの実装を32行に収めてみた。
実装だが、コンテストページから問題ツイートのリンク一覧、Problemsから問題情報一覧をあらかじめ取ってソースコードに埋め込んでおいて、 問題ID→問題の順番の数字(ex: 0,1,2,3,...,89)→問題ツイートのリンクと変換した。
最後の問題は解説ツイートが複数あるのだが、最初のツイートを指すようにした。複数ボタンが出るように特別に処理するのは面倒だった。
import { codes, editorials, problems, problemsApi } from "./utils"; import { taskID } from "./utils/parser"; /** * 最初に実行される部分 */ (() => { const h2 = document.getElementsByClassName("h2")[0] as HTMLElement; if (!h2) return; const index = Number(problemsApi.find((e) => e.id === taskID)?.problem_index) - 1; h2.insertAdjacentHTML( "beforeend", `<a class="btn btn-info btn-sm" href="${ problems[index] ?? "https://atcoder.jp/contests/typical90" }" target="_blank">問題</a>` ); h2.insertAdjacentHTML( "beforeend", `<a class="btn btn-info btn-sm" href="${ editorials[index] ?? "https://atcoder.jp/contests/typical90" }" target="_blank">解説</a>` ); h2.insertAdjacentHTML( "beforeend", `<a class="btn btn-info btn-sm" href="${ codes[index] ?? "https://atcoder.jp/contests/typical90" }" target="_blank">コード</a>` ); })();