Otsuhachi’s diary

プログラミングのことや覚書などその他いろいろ

当ブログの内容を使用したり参考にした場合に生じた問題の責任は負いかねます。

Pythonで定型文コピーの補助ツールを作った

最近、近々リメイク版と新作が出るとか出ないとかの某恐竜クラフトサバイバルなゲームを楽しんでいる。
しかしこのゲーム、バグなのか仕様なのか定期的にセーブデータが爆破されてしまうことに悩まされていた。
はじめのうちは序盤の緊張感を再びとか楽しんでいたのだが、あまりに頻発するのでチートコマンドのようなものに手を出すことを決意する。
このゲームでは幸い、欲しいアイテムやキャラを入手できたり、空中浮遊やすり抜けを行えるようにするなど、多くのことができるシステムが搭載されている。

ソロローカルなので一度使うと歯止めが利かなくなる恐れはあったが、セーブ爆破で心折られるよりはマシと割り切ることにした。(そもそも便利系MODを入れてたりでぬるい設定ではあったが)

タイトル見てこのページを開いてくれた人はなんのこっちゃねんとお思いかもしれない。
帰る前にもう数行読んでほしい。

このゲームの入手系コマンドはやたら長いのである!
当然間違えると何も起こらない。
つまり、コードを登録して何度も使いまわせるアプリケーションが欲しくなった...ので作ったという経緯説明をしたかったのだ。

というわけで本題...なのだが実は既に公開している。
珍しくReadmeまで用意している...のでここで書くことはほぼない。
のだが、せっかくなので紹介したい。

Table.jsonというファイルを編集することでコピーする文字列を登録することができる。

例えば、以下のようなファイル構造にすると

{
    "乙 八千男": "乙 八千男",
    "読み": "Otsu Hachio",
    "性別": "",
    "年齢": "28"
}

このようなGUIが表示できるようになる。

選択ボックスに反映されたキーを選んでコピーボタンをクリックすると、対応する値がクリップボードにセットされるというシンプルな仕組みである。
つまり読みを選択した状態でコピーするとOtsu Hachioがセットされる。

さらに以下のようなファイル構造にすることもできる。

{
    "乙 八千男": {
        "名前": "乙 八千男",
        "読み": "Otsu Hachio",
        "性別": "",
        "年齢": "28"
    },
    "乙女 八千代": {
        "名前": "乙女 八千代",
        "読み": "Otome Yachiyo",
        "性別": "",
        "年齢": "25",
        "趣味": "音楽"
    }
}

上の選択ボックスで人物を選び、下の選択ボックスでキーに対応する情報をコピーできる。

最後に以下のような構造にすることもできる。

{
    "乙 八千男": {
        "ソシャゲ1": {
            "id": "sg_id1",
            "password": "sg_password1"
        },
        "ソシャゲ2": {
            "id": "sg_id2",
            "password": "sg_password2"
        }
    },
    "乙女 八千代": {
        "フリマ": {
            "id": "frema_id",
            "password": "frema_password"
        }
    }
}

人物タブを選び、分類を選び、キーに対応する値をコピーすることができる。

ちなみに作成者自身は最後の構造を利用して バニラ|MOD_A|MOD_B|...のようなタブを作り、さらに 建材入手系|キャラ入手系|その他のような分類を作ってコマンドを登録している。

もし興味を持ったらGithub - OtsuTableClipperで表示されている手順を見て使ってみてほしい。
Readmeのここがわからんとかあったら教えてもらえると大変うれしい。ナルベクカイゼンスル...とオモウヨウナキガスル。