プログラミング

たくさん機能を追加!百人一首ver.2

こんにちは、チズチズです!

今日の朝から百人一首練習ソフトのコードを書いていました。

早速完成したGUIを見てみましょう。

色々と変えてみました。変更点は下で話します。

入力ボックスに下の句を入れてEnterかボタンを押すことで、入力ができます。合ってたら赤で「正解!!!」間違ってたら「不正解…」と表示されるようになっています。

画面説明

  1. 何問目かがわかります。
  2. (正解数)/(解いた問題数)です。どれくらい正解しているかがわかります。
  3. 問題(上の句の決まり字
  4. 入力ボックス(下の句の決まり字
  5. 入力ボタン
  6. 前の問題の答え表示(ランダムでやってるからこのときは前の問題と被った
  7. 正解か不正解か表示
  8. 終了ボタン

単純で説明しなくてもわかりやすいGUIだと思います。(主観

あまりごちゃごちゃしていてもわかりづらいのでね…(そもそも作業量が少なかっただけ

コード

GitHub

コード行数が一気に170行になり、さすがに載せるわけにはいかないのでGitHubに公開されているコードを見てください…

コメントの数を適度に増やしたため、見やすいコードになったと思います。(多分

更新内容

変数名変更

最初の頃は問題の上の句をue下の句をsitaとしていましたが、upとunderに変更しました。いつまでも日本語はよくなさそうです。

正解、不正解ラベル

正解時

不正解時

これ、正解と不正解で文字色違うから別々のラベルにしなきゃいけないんです。

じゃあどうするかというと、この前使った「StringVar()」を有効に活用させるんです。

このように””にしちゃえば何も表示されなくなるので、正解のときは正解のラベルだけ不正解のときは不正解のラベルだけ表示されるようになります。

セーブ機能

前のセーブの関数とほぼ変わりありません。

終了ボタン

今まではendを入力したら終わるというようなコードでしたが、さすがにendと入力するよりも終了ボタンの方がわかりやすいため終了ボタンを付けました。

終了ボタンを押すとまずこのような画面が表示されます。

いいえ を押したら元の画面に戻り、はい を押すと

記録をセーブするか問われます。

はい を押したらセーブ関数に飛び、いいえ を押したらそのまま終了です。

本当は二度手間なので1つの画面に3つのボタンを付けたかったですが、メッセージボックスには3つのボックスのものがなく、2回ボタンを押すことになりました。

言っちゃえば自分でウィンドウ作って、ボタン配置すればいい話だけどね…


終了についてはこのコードを使います。

問題数、正解数

question関数(新規問題作成)で、ある変数に1を足し続けてラベルに表示させます。

特に難しいことはありません。

カウントさせてラベルの更新を1問ずつ行うだけです。

目標

  • 新年迎えるまでに50番までは暗記する。
  • 分析画面を設ける(時間かかりそう
  • モード追加
  • ランキングとか…
  • タイピング要素を含める

例えば、3分間で1~100までの問題を何問解けたか。もちろん間違えた数だけスコアは下がるけど… っていうのも面白そうです。

それをランキング化させたりタイプウェルみたいにメールで送信させてブログのどっかのページにランキング載せるとかっていうのも楽しそうです。

タイピングと百人一首の暗記を絡めて、一石二鳥のような感じになるかもしれないです。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です