1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

色読み脳トレをなでしこで作ろう!

Last updated at Posted at 2021-12-17

高齢者の脳活性化のために「脳トレ」が推奨されていますね。なでしこで脳トレのためのプログラムを作るのも一つの「脳トレ」かと思います。ここで作りたいのは、「色読み脳トレ」です。

例えば、以下のような色と漢字がバラバラで配置されます。これを何秒で読み上げできるかを競うゲームです。

スクリーンショット 2021-12-10 21.05.32.png

色と漢字がちぐはぐなので、気をつけないと間違えてしまいます。
いろいろな自治体がサンプルデータを配布しています。例えば、こちらです。

これをなでしこで作成しましょう!

色と漢字をどのように持たせるか

ゲームを作る時、もっとも大切なのが、ゲーム内のデータをどのようにプログラム内で扱うかという点です。

今回のゲームでは、利用する漢字のデータと、表示したい色のデータを配列変数に入れて利用すると便利ですね。

ゲームデータ.nako3
# 定数を指定
漢字群=["赤","青","緑","橙","黒"]
色番号=["red","blue","green","orange","black"]

# 空の器を用意
漢字群器=[]
色番号器=[]

そして、変数「漢字群器」が空だったとき(初期状態のとき)、変数「漢字群」を複製して、シャッフルして利用するようにします。以下のような関数を作ると良いでしょう。

シャッフル.nako3
●シャッフル取得とは
  もし(漢字群器の要素数)=0ならば
      漢字群器=漢字群を配列複製。
      色番号器=色番号を配列複製。
      漢字群器を配列シャッフル。
      色番号器を配列シャッフル。
  ここまで。
  [(漢字群器から配列ポップ), (色番号器から配列ポップ)]を戻す。
ここまで。

さらに、「繰り返し」文を使って、繰り返し上記で定義した「シャッフル取得」関数を呼び描画すべき文字と色を取得して、キャンバスへ描画します。

●色読み脳トレ描画とは
  全描画クリア。
  Yを0から(Y文字数-1)まで繰り返す
      YY=(1+Y)*YW
      Xを0から(X文字数-1)まで繰り返す
          XX=(1+X)*XW
          色々=シャッフル取得。
          色々[1]に塗色設定。 # 漢字の色を設定
          [XX,YY]に色々[0]を文字描画。 # 漢字を描画
        ここまで。
    ここまで。
ここまで。

一つずつ、何をしたら目的の動作が得られるかを考えていくとプログラムを組み立てることができます。

まとめ

上記で作った脳トレは、以下で実際に遊ぶことができます。

スクリーンショット 2021-12-10 20.53.00.png

ゲーム作成の参考にしてみてください!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?