好きな問題を漢文テクニカルクイズ風に出題するプログラムです。
SEGAが展開していたクイズゲーム"Answer×Answer"で一番好きだったルールが漢文テクニカルクイズなのですが、An×Anがサービス終了した今、演出上中々プレイし辛いルールなので、簡単にやりたくてとりかかりました。
macOSを使用している方は、面倒な環境構築をせずともアプリケーションで簡単に起動することができます。
windowsへの対応はもう少しお待ちください。
このページのapplication.zipリンクを押した後、飛んだ先のページのView RawリンクまたはDownloadボタンを押してください。zipファイルのダウンロードが開始されます。
解凍後のapplicationフォルダの中には4つのアイテムがあります
このうち、quiz.appファイルが起動用ファイルなので、このファイルを開いてゲームをアプリを起動してください。
このアプリの起動にはフォルダの場所がとても重要です。applicationフォルダ内のアイテムは最初の状態のように全て一つのフォルダにまとめた状態で、起動用ファイルを実行してください。
普通のアプリケーションと同様に、ウィンドウ左上のクローズボタンを押して終了してください。
macOSではAppStore以外から落としたソフトはセキュリティ上の観点から容易に開くことができない場合があります。この場合は、環境設定→セキュリティとプライバシー→一般の「ダウンロードしたアプリケーションの実行許可」から許可を与えてください。
また、macOSでは、解凍後そのままファイルを開こうとするとエラーが発生する場合があります。この場合は、一度quiz.appを一度他の場所(デスクトップなど)においた後、元のフォルダの中に戻して使用してください。
mainディレクトリを落としてください。appディレクトリはアプリケーション作成時の備忘録で、実行には一切必要ありません。
mainディレクトリ内には以下のアイテムがあります。
- quiz.py:プログラム本体です。
- question:問題を記述したcsvファイルを入れておくディレクトリです。ここに問題を記載したcsvファイルを置いておきます(執筆方法等は後述)。
- item:背景画像など、ソフトウェアに必要な画像を入れているディレクトリです。
本アプリケーションにはwxPythonを使用していますので、インストールしていない方は導入をお願いします。
pip install wxPython
あたりで簡単に導入できます。
その他のパッケージも、もし不足しているものがありましたら適宜導入してください。
quiz.py・questionディレクトリ・itemディレクトリが同一ディレクトリにある状態でpythonw quiz.py
で実行してください。
通常のpythonプログラムとは違いpython quiz.py
では実行できませんので、ご注意ください。
ウィンドウ左上からクローズするか、ターミナル上でCtrl+Cでプログラムを停止してください
起動すると、最初にこのような画面が立ち上がります。
まずは問題ファイルを選択します。画面中央下のプルダウンメニューからプレイしたいクイズファイルを選択し、loadボタンを押してください。
loadボタンを押し、問題の読み込みが成功すると画面最下部のnextボタンが有効化します。
nextボタンが進行用のボタンです。このボタンを押すとゲームが開始されます。
なお、問題ファイルはnextボタンを押すまで何度でも選び直せます。loadを押さないと反映されないので注意してください。
タイトル画面あるいは直前の問題の回答画面からnextボタンを押すと、まず漢文(問題文中の漢字だけを抽出した文字列)が表示されます。 回答者は、漢文から問題を推測し、答えを導きだします。
漢文出題画面からnextボタンを押すと、全文出題が開始されます。
回答者は、徐々に現れる問題文から、答えを導きだします。
全文出題中は、stopボタンまたはstartボタンが有効になります。これは問題文の表示を一時停止・再開するボタンです。
早押しクイズなどで第一回答者の回答中に問題を停止→誤答したら再開、といった状況で使用してください。
全文出題画面からnextボタンを押すと、回答が表示されます。 この状態でnextボタンを押すと、次の問題の漢文出題画面に移ります。
登録された問題数が終了した状態で回答画面からnextボタンを押すと、終了画面に移り、プレイした問題数が表示されます
この状態でnextボタンを押すと、タイトル画面に戻ります。
このソフトは現在、問題を出力する機能しか備えていないため、1人で遊ぶなどはできません。
出題者と回答者に分かれてプレイする形でご利用ください
クイズ問題を記述するファイルはcsv形式です。
各行には"問題番号","問題文","回答"を半角カンマ区切りで記載してください。
問題文と回答は基本的に全角で記述してください。また、半角カンマは区切り以外に絶対に使用しないでください(csvファイルのため、問題文中などにカンマを使われると読み取り時にエラーが発生します)。
例:1,「なぜ山に登るのか」という質問に対し「そこに山があるからだ」と答えたことで知られる登山家は誰でしょう?,ジョージ・マロリー
尚、問題文が長すぎると、適切に表示されない可能性があります。極端に長い文章は使用しないでください。
作成したファイルはquestionフォルダに保存してください。ファイル名は任意ですが、名前が同じcsvファイルを複数保存しないでください。
このプログラムの問題用csvファイルは全て文字コードにutf-8を使用します。
csvファイルなのでexcelでもひらけますが、文字コードをutf-8に認識してくれないため文字化けが発生します。ファイルが壊れているわけではないので安心してください。
編集を行いたい場合は、excel上でutf-8を開くか、その他テキスト編集ソフトを使って編集してください。macOSなら標準のテキストエディットでの編集を強くお勧めします。
自分で問題用csvファイルを作成した場合でも、文字コードはよく確認してください。
- プログラムを関数化して整理する
- UIをより美しくする
- 回答の記録機能をつける
- 画面最大化への対応
- 終了用メニューを作る
- 他のテクニカルクイズを作る(8or16分割テクニカル、スポットライトテクニカル)
- and so on...
- python:3.5.5
- wxPython:4.0.1
mac OS (ver:10.13.4)上で動作確認しています