見出し画像

なでしこさんでランダムなカタカナを4文字表示する

「ツアマス」「ナナニジ」「シンタス」「キタエリ」などなど……世の中には様々なカタカナ4文字があふれている。

今回やったこと

なでしこで、ランダムなカタカナ4文字を表示する。

何かキーを押すか、クリックをすると、また別のカタカナ4文字を表示する。

プログラム

ランダムなカタカナを4文字表示する (プログラム貯蔵庫)

ポイント

パラメータの設定

表示文字数は4。
不使用文字は「ァィゥェォャュョッ」。

何文字表示するかを決める。
また、小さい文字を用いると見た目が悪くなるので、除外する文字とする。

画面の構築

DOM親要素に{
  "行揃え": "中央",
  "文字サイズ": "500%",
}をDOMスタイル一括設定。
ラベルリストは空配列。
表示文字数回、繰り返す
  空のラベル作成してラベルリストに配列追加。
ここまで。

まず、文字を大きく中央に表示するようにする。
次に、文字を表示するためのラベル列を文字数分用意する。

表示する文字の候補の用意

文字選択肢は空配列。
文字候補は全角カナ一覧と全角カナ濁音一覧を連結。
除外文字は(文字候補を平仮名変換)と不使用文字を連結。
文字候補を反復
  もし、除外文字に対象が出現でなければ
    文字選択肢に対象を配列追加。
  ここまで。
ここまで。

全角カナ一覧」と「全角カナ濁音一覧」により、カタカナのリストを取得する。
しかし、ここには句読点などの記号も混ざっているので、「平仮名変換」を用い、変化しなかった文字を記号とみなして除外する。
さらに、最初に設定した除外する文字も除外する対象に加える。
最後に、最初に取得したカタカナ(と記号)のリストのうち、除外する対象でないものを候補リストに入れる。

文字の抽選

●抽選とは
  ラベルリストを反復
    対象に文字選択肢@(文字選択肢の要素数の乱数)をテキスト設定。
  ここまで。
ここまで。

抽選。
{関数}抽選でDOCUMENTをクリックした時。
{関数}抽選でDOCUMENTのキー押した時。

用意した各ラベルに、それぞれ候補リストの中から適当な文字を設定する。
これを、最初の起動時と、クリックされたりキーが押されたりした時に行う。

おわりに

ランダムに4文字表示させるだけだと、ほとんど意味がなさそうなのばかり出てくるなあ……。
だが、そこに無理やり意味をつけてみるのも一興……?


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

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
なでしこさんでランダムなカタカナを4文字表示する|みけ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