[ING]時間制限付き4択クイズのサンプルアプリ
古くからよく言い伝えられている「食べ合わせ」に関する4択クイズを5問1セットで回答してその結果を履歴 or グラフで結果表示をするサンプルアプリになります。
- 2017.05.05更新:
Swift最新版へのコンバートとチャート部分のロジックの変更を行いました。※解説Qiitaも追記しています。
↓masterブランチでのゲーム結果画面は下記のようになっています。
また、クイズ画面の設計としましては、下記のような流れになっています。
- ランダムで問題を取得して(重複して問題を出さないようにソートした問題を配列に一旦格納しています)その問題の解答を選択肢 1. 〜 4. の中から選択するという仕様になっています。
- 選択肢 1. 〜 4. のボタンが押されたら、正解か不正解の判定をして、5問未満の場合は「計算結果」と「かかった時間」を加算して次の問題を表示させます。
- もし10秒が経過してしまった場合には、強制的に「かかった時間に10秒を加算」して不正解扱いとして次の問題を表示させます。
- 5問の解答が終了したらゲームの結果を保存し、これまでの履歴と直近5回の結果の推移をグラフにて表示させます。
※グラフ表示に関しては現在は、棒グラフに変更しています(Swift2.3ブランチ「feature/swift2.3」に関しては折れ線グラフのままです)
データ永続化部分に関してはRealmを使い、直近5回の結果の推移をグラフに表示する部分にはios-chartsを利用しています。 このサンプルのコンセプトとしては、「基本的なアプリにアレンジや拡張を加えてより完成度を上げる」ような形を目指して作成してみました。
詳細な解説&実装のポイントになる部分はこちらに掲載しておりますので、是非とも実機などがおありの場合はインストールをして挙動や振る舞いをご確認いただければと思います。
(Qiita) http://qiita.com/fumiyasac@github/items/18ae522885b5aa507ca3