見出し画像

なでしこさんで、かわいいみけねこスイッチ (キーボード版)

かわいい!みけ!ねこ!三拍子揃った、かわいいみけねこ!

やったこと

なでしこで、「かわいい」「みけ」「ねこ」という文字列それぞれの表示/非表示をキー操作で切り替えられるプログラムを作った。

プログラム

かわいいみけねこスイッチ (キーボード版) (プログラム貯蔵庫)

操作方法

  • 1:「かわいい」の表示/非表示を切り替える

  • 2:「みけ」の表示/非表示を切り替える

  • 3:「ねこ」の表示/非表示を切り替える

ポイント

データの用意

パーツリストは["かわいい", "みけ", "ねこ"]。

表示する文字列のパーツを、配列の形で用意する。

画面表示の用意

DOM親要素に{
  "行揃え": "中央",
  "文字サイズ": "400%",
}をDOMスタイル一括設定。
ラベルリストは空配列。
可視リストは空配列。
パーツリストを反復
  対象のラベル作成してラベルリストに配列追加。
  可視リストにオンを配列追加。
ここまで。

用意したパーツを、「反復」を用いて、ラベルにして画面に置く。
そのラベルを配列に格納しておくとともに、あとで切り替えやすいよう、表示しているかのフラグを格納する配列も用意する。

操作の受付

DOCUMENTのキータイピングした時には
  定数のキー番号は押されたキーを整数変換して1を引く。
  もし、キー番号をNAN判定ならば、空を戻す。
  もし、キー番号が0未満ならば、空を戻す。
  もし、キー番号が(ラベルリストの要素数)以上ならば、空を戻す。
  可視リスト@キー番号は可視リスト@キー番号の論理NOT。
  ラベルリスト@キー番号に可視リスト@キー番号をDOM可視設定。
ここまで。

キータイピング時」を用いて、キー入力を受け付ける。

まず、入力された文字を数値に変換し、表示状態を切り替える対象を取得する。
入力された文字が数値を表さなかったり、パーツに対応しなかったりした場合は、何もせず処理を終了する。
(NaN から 1 を引いても NaN なので、「NAN判定」を行う前に1を引いてよい)

有効な対象が指定されたら、その表示状態のフラグを「論理NOT」で反転し、「DOM可視設定」で表示状態を更新する。

なお、「DOM可視取得」という命令もあるが、これはDOM部品の可視状態を論理値で取得する命令ではない。

おわりに

かわいいみけねこは、かわいいし、みけだし、ねこ!


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

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
なでしこさんで、かわいいみけねこスイッチ (キーボード版)|みけ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