見出し画像

なでしこさんでフロンティアスピリット打てるか判定

結局、アレを書かないままソレが始まってしまった。
そして、クソ致命的に頭がクソ悪い俺は、今週もアレを書くための作業を怠り、日曜日にあった使える時間もクソ寝倒してしまう始末……
というわけで、今週もアレは書けず……
とりあえず、今日も元気に雑プログラムで繋ぐか……

今回やったこと

以下の投稿で、「フロスピ」「AZKi」「エール」の各カードがアーカイブにあるかどうかによってフロンティアスピリットを打てるかを決める表が紹介されている。
さらに、「覚えておきましょう!」という主張がある。

しかし、覚えておくのは大変そうで、間違えてしまうリスクもある。
そこで、コンピューターに覚えさせることにした。
そして、なでしこで、アーカイブに各カードがあるかを入力するとフロンティアスピリット打てるかを表示するプログラムを作成した。

プログラム

フロンティアスピリット打てるか判定 (プログラム貯蔵庫)

ポイント

UIの用意

「アーカイブに……」のラベル作成。
改行作成。
フロスピチェックは『「フロスピ」カードがある』のチェックボックス作成。
改行作成。
AZKiチェックは『「AZKi」カードがある』のチェックボックス作成。
改行作成。
エールチェックは『「エール」カードがある』のチェックボックス作成。
改行作成。
改行作成。
「このとき、フロンティアスピリットを」のラベル作成。
改行作成。
結果ラベルは空のラベル作成。
それの「文字サイズ」に「350%」をDOMスタイル設定。

各カードがアーカイブにあるかの入力用のチェックボックスと、フロンティアスピリット打てるかを表示するラベルを用意する。

フロンティアスピリット打てるかの判定

フロンティアスピリット打てるか表は{
  "フロスピ×・AZKi×・エール×": "打てない",
  "フロスピ×・AZKi○・エール×": "打てる",
  "フロスピ×・AZKi×・エール○": "打てない",
  "フロスピ×・AZKi○・エール○": "打てる",
  "フロスピ○・AZKi×・エール×": "打てない",
  "フロスピ○・AZKi○・エール×": "打てる",
  "フロスピ○・AZKi×・エール○": "打てる",
  "フロスピ○・AZKi○・エール○": "打てる",
}。

投稿に基づき、アーカイブのカードのありかとフロンティアスピリット打てるかの関係を埋め込む。

チェックボックス群は{
  "フロスピ": フロスピチェック,
  "AZKi": AZKiチェック,
  "エール": エールチェック,
}。

用意したチェックボックスと対応するカードの名前のリストを用意する。

●(Cに)カードあるかとは
  もし、C$選択状態ならば
    「○」を戻す。
  違えば
    「×」を戻す。
  ここまで。
ここまで。

チェックボックスのチェックの状態を、○×に変換して返す。

●フロンティアスピリット打てるか判定とは
  定数の状況配列は空配列。
  チェックボックス群を反復
    状況配列に「{対象キー}{対象にカードあるか}」を配列追加。
  ここまで。
  定数の状況は状況配列を「・」で配列結合。
  定数の判定結果はフロンティアスピリット打てるか表@状況。
  結果ラベルに判定結果をテキスト設定。
ここまで。

まず、各チェックボックスからチェックの状態を取得し、打てるかの表のキーを作成する。
そのキーを用いて関係表を引き、結果を表示する。

判定をさせる

チェックボックス群を反復
  {関数}フロンティアスピリット打てるか判定で対象の変更時。
ここまで。
フロンティアスピリット打てるか判定。

用意した判定関数を用いて起動時に判定を行うとともに、チェックの状態の変化時にも判定を行うようにする。

おわりに

投稿に基づき、アーカイブに「フロスピ」「AZKi」「エール」があるかを入力するとフロンティアスピリット打てるかを表示するなでしこのプログラムを作成した。
なお、今回のプログラムはあくまで投稿に基づいて判定を行うものであり、実際のホロカのルールに沿っている保証はしない。

特に、エールの送り先となる「自分の〈AZKi〉」が1人も居なかったら……?

あと、試合中の電子機器の使用が禁止されているタイプの試合ではこれ使えないね……

いいなと思ったら応援しよう!

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
なでしこさんでフロンティアスピリット打てるか判定|みけCAT
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1