((outline)) !!!第1回(4/19(金)) :班決めが主な内容 :プロジェクトのイメージの決定と共有 ::現時点では暗記と記録が可能な勉強系のソフト :テーマ決め ::FireBaseが学んでいく際の肝となる !!!第2回(4/26(金)) :ゲームの概要 ::・英単語の4択ゲーム → 目的としてはTOEICの勉強に役立ててもらいたい :主な内容 ::・Gitlabの作成と簡易企画書の作成を主に行う :ゲームの内容と決まった詳細 ::・4択方式にして制限時間を設けてモードをクリアする感じにしたい ::・正解の○☓の表示とポイント制で今のところは考え中 ::・可能ならばモードの難易度を3段階に分けたい(easy, normal, hard) ::・模倣するゲームとしては「漢字でGO!」の英語バージョン的なものを目指したい :課題と今後の展望 ::・正解数を個人で記録する方式を考えていたが、Firebaseの使用が禁止なので、CSVファイルを用いる方式に変更(時間的に可能ならば入れたい) ::・問題を考えて取り込む組・画面切り替えや背景設定の組と2手に分かれて取り組むことが望ましいと思う。 → ただ偏りが出てしまう場合を踏まえて、負担が均等になるようにお互いに協力し合うことが大切。 !!!第3回(5/1(水)) :主な内容 ::・ゲームの[もの]と[操作]の洗い出し① ::・javascriptの基本 :ゲームの内容と決まった詳細 :[内容での新たな決定事項] ::・難易度選択(普通 < 難しい < 無理)で考え中 ::・モードは「10問プレイ」or「エンドレス」(=正解するまで繰り返し、間違えたら強制終了) ::・問題はランダム表示(50問程度問題を作成して、その中から10問プレイでやる) ::・問題に対しての解説を入れる、復習で不正解の問題を表示する ::これらは実現性やプログラムの難易度を見て柔軟に判断、できれば入れたい… :[もの] ::・各画面に切り替えるボタン(戻る、リタイア、スキップ) ::・背景(問題にいくまでは統一したい、クイズ問題になったら正答に応じて変える予定で考え中) ::・正答率ごとに表示するグラフ ::・回答時間用のタイマー(10秒設定) :[操作] ::・全体的に画面の該当ボタンをクリックすると、次の画面に切り替わる形式 ::・正しい解答をクリックすると○、間違った解答をクリックすると×が表示されて次の問題へ行く仕組み ::・時間切れやスキップになると次の問題へ遷移、最終問題では結果画面へ遷移 :課題と今後の展望 ::・モード選択は時間があれば作成、イメージ的に大変そう… → モードごとの変数を作成して対処する案、問題の作成は構造体? ::・大まかな流れはできているので、各状態内における詳細、どんな変数が必要かをモジュールとともにピックアップする。 ::・プログラム全体をまとめる指揮的な存在を1人おいておく。また、各担当ごとに内容の共有を忘れないで行う。 :: →「gitlabの使い方に慣れておいたほうがよい」とTAの方から助言があった。 ::・解説の表示が問題。すべて問題が終了したあとに表示した問題の解説を表示するか、それとも全単語まとめて解説ページを作成するか未定。 ::・クイズ問題を通じて勉強してもらい、正答率の記録を踏まえて取り組んでもらうことを一環としたい。 !!!第4回(5/10(金)) :主な内容 ::・ゲームの[もの]と[操作]の洗い出し② ::・javascriptの応用編の学習 ::・大まかなモジュールの作成 :ゲームの詳細や変更点に関して ::・画面遷移が生じるものを1括りにして1つのモジュールとして作成 ::・タイトル画面、難易度選択、モード選択(通常、ミス問)、クリックでゲームスタート画面、問題画面、結果画面、記録画面で、大規模なものだと計7つのモジュールを作成。画面の大枠でhtml、ボタンの文字表示や遷移でjavascript、背景設定でcssを使用する予定。 ::・難易度選択は、当初時間が余ったら作成の予定だったが、画面遷移の都合上、作成する前提で考えることにした。 ::→もし時間が足りなければ、総合モードorノーマルモードのみ的な感じにして削る予定。 ::・記録に関してだが、結果画面になった段階で記録画面に遷移するようにして、その後タイトル画面に戻るようにループ形式で作成することにした。 ::・記録するデータ保存ファイルを複数個作成して、それを選ぶことで累計の正解数を積立する方式に変更(イメージはゲームソフトのユーザーのデータ保存、桃鉄みたいな感じ)。日付ごとで管理するかは時間に余裕があったら作成。 ::・スキップは作成、リトライは作成しないことに変更。4択問題方式の観点から、時間制限の意味があまりないのではという話になったが、ゲーム感を出せるという案もあったため、こちらも時間に余裕があったら作成予定。 ::・間違えたときに正解の選択肢を明確にしたほうが良いということから、正しい選択肢を緑に光らせて表示する案が出た。ゲーム内に取り込む予定。 :課題と今後の展望 ::・htmlとcss、javascriptのそれぞれの言語の特徴を理解したい。htmlは大枠の土台を作成するもの、javascriptは詳細な制御、cssは画面デザインに向いているため、全てを組み合わせて見やすい画面にしていきたい。 ::・画面のデザインを考える担当の決定の必須と、ランダムで選択肢・問題の順番の入れ替えをする際の乱数の仕様の理解が必要だと、TAの方からご指摘をいただいた。これらは知識勝負の側面が強いため、調べ学習を大切にしながら行っていきたい。 ::・データの受け渡しに関しての注意事項を把握する。その際に失われるデータや情報があることに気をつけたい。 ::・ゲームの詳細なモジュール分けと、記録での登録ファイルの名前変更をどうするか、問題の解説表示を入れるならばどこに設定するかなど、未決定事項もあるため、次回以降班員の意見を踏まえて決めていきたい。 !!!第5回(5/17(金)) :主な内容 ::・モジュール分けの続きとインターフェース作成 ::・HTML応用編 ::・Gitlabの使用方法の確認 :ゲームの内容の詳細・進捗予定やプログラム上の懸念 ::・中間発表までに画面切り替えのベースの部分までは作成したい。CSSの記述は最低限にして、まずは画面ボタンをクリックして次の画面へ正しく遷移することを確実に行う。 ::・問題解説は結果画面で出力して確認できるようにする。プログラム的には問題番号を格納する配列、あるいはそれを記憶・保存しておく変数(もしくは配列)と解説との照らし合わせが必要になるので、難易度が高いかもしれない。 ::・担当は、各画面で基本的に1人で行う。画面の形式をそろえる必要性があるため、Gitlabを用いた共有を毎週忘れずに行う。問題作成と、質問・解答の雛形は大変な作業になるため、足りない部門は適宜補い合って作成する。 ::・問題は各レベル毎に15問ずつまずは作成することになった。時間があれば問題数をもう少し盛り込む予定。 :課題と今後の展望 ::・プログラム上での自分が作成したい事柄を明確にする。無理に一気にやるより1個ずつ問題を分けて考えるようにして、着実に解決へ導いた方が良い気がする。 ::・プログラム的に難易度が高いのは、4択問題の作成と関連した多様な表示の演出、問題数のデータ保存を含めた記録部分だと予想できる。基本的に多くの条件文と配列、構造体が伴う場所だと思うので、関連分野を復習して不明な点は調べるように心がけることが大事。 ::・問題の作成ができないことには先に進まないので、作問をダミーの選択肢と含めて優先的に行う。目的はTOEICの勉強を兼ねていることもあり、問題のクオリティも充実したものにしつつ、それ以上に動作が正常に行える作品にすることが前提である意識を忘れずに持ちたい。 ::・Gitlabの使い方に苦労したイメージが今日見受けられたので、必要なコマンドとエラーの対処方法を身につけておき、データが共有できないなどの問題を作成前の現段階でできるだけなくしたい。 ::・次回以降は軽い作成段階に入ることが目標。プロトタイプはまだ未決定であるので、洗い出しながら班員全員で検討していきたい。 !!!第6回(5/24(金)) :主な内容 ::・インターフェース作成とプロトタイプ作成 ::・enchant.jsの紹介 :ゲームの内容の詳細・進捗予定やプログラム上の懸念 ::・ゲームの選択肢・解答群・次の問題へ遷移など、担当の田中くんが相当手こずっていたので、助けられる部分は協力し合いたい。実装部分でタイマーで時間制限アリにすると、プログラムが難しめかもしれないので、最悪カット。 ::・問題作成は次回までに頑張って私山﨑が作成してくる。班員からの意見をもらい、難易度に不備があったら構成を考え直すことも視野に入れる。 ::・中間発表までの進捗を見てだが、理想とする予定は変えずに行きたい。 ::・問題のモジュールは詳細含めれば、更にありそうな予感がするので、作成時で必要なものが出てき次第、書き込みを加える予定。 :課題と今後の展望 ::・enchant.jsのキャラの動きは、興味深かったが、我々の班では不要かもしれないと感じた。 ::・問題作成段階で、次の問題での遷移がうまく行かないことに対して、解答欄のボタンクリックでボタン制御を試してみるといいと、TAの方からご指摘をいただいた。画面遷移はやはりこのゲームで中心的な操作になるので、確実な画面に遷移できるようにする。 ::・中間発表の準備のために、その前の週はプロトタイプの作成が困難になることが予想される。空き時間を見つけて取り組みたいが、無理のない範囲で行いたい。次回の進捗が勝負になるので、1つでも成果が得られるような実りある時間にしていきたい。 !!!第7回(5/31(金)) :主な内容 ::・デバッグの説明 ::・プロトタイプの作成 :ゲームの内容の詳細・進捗予定やプログラム上の懸念 ::・画面遷移に関して、自分で複数の画面の流れを作成する場合はいいが、他の班員が作成したものと組み合わせるときには注意が必要。onclick = "history.back()"などの表現で対応できる。これは確実にチェック。 ::・画面の表示・遷移は1人で作成する場合は簡単な印象を受ける。遷移や表示のベースができたら、cssを用いて見やすい画面にする。ボタンを中央に配置する、各画面の背景に統一感が出るようにする、文字を適切な大きさで見やすくするなどする。 ::・問題のプロトタイプは苦戦が続いている模様...各モードに分かれている上、問題文や選択肢を含めた配列の形式と表示との対応関係が最終的には上手くいったが、時間を要してしまった... ::・画面前段階での簡単なゲームと問題形式の説明のhtmlを加えることにした。ゲーム全体のcssデザインが出来上がったら、該当の画像を挿入して見やすくする予定。 ::・問題作成にも、別の次元で時間と労力が意外とかかることが判明したので、6月中旬頃にすべての問題を作成して 焦らずに行いたい。1人だとやはり大変なので、班員にもアイデアをもらう。 :課題と今後の展望 ::・問題出題に関しては、仮問題を用意して、中間発表時点で対応する。問題ループ(エンドレス)や制限時間、選択肢・問題をランダムに入れ替えるなどの時間がかかる部分は、中間後に班員で意見を出し合い、TAの方にも援助を受けながら解決する。 ::・結果画面で正答数を出力、該当する問題の解説を表示するなどが含まれる結果画面が第2の問題点...問題画面の担当者のコードを見ながらだが、解説が正しく出力されるような仕組みを整える。 ::・前半部分のベースは出来上がっているので、次回は後半部分の結果・記録画面のベースの作成とcssでのデザインの深堀り、必要に応じて今回学習したデバックの修正も行っていきたい。 !!!第8回(6/7(金)) :主な内容 ::・プロトタイプの作成 ::・中間発表に向けての準備 :ゲームの内容の詳細・進捗予定やプログラム上の懸念 ::・結果画面と記録画面が中間発表時点で未実装になりそう...単純に時間がかかるのと、プロトタイプ作成が難しいため。班員全員でアイデアを出す。 ::・問題のクリックと画面遷移に関しては、問題を実際に入れて試すところまでいかずだが、クリック+簡単な正解・不正解の表示までは辿り着いた形。 ::・今回は分担を分けて、班長の前田君は中間発表に向けてのwikiの作成、問題画面担当者はその続き、私山﨑と大和君は画面の詳細な部分とcssのデザインを考える方向であった。私が調べるの中心的になってしまい、実装も上手くいかず、詰まってしまい、進捗としては芳しくなかった。 ::・問題作成は私山﨑が各レベル10問までは頑張って作成を目指したが、解説までいっていないので、どこかで問題作成の時間に半分程度あてたい。中間発表はひとまず仮問題で代用。 :課題と今後の展望 ::・中間発表では可能な範囲でできたところまでで発表する。授業以外での時間がなかなかとれなくて進捗が私山﨑の技術的問題もあるが、あまり芳しくない... ::・中間終了後は、結果画面と記録画面の遷移ループを確実にすることがまず目標。その後、実際に問題を入れてみての実装、細かい写真や画像をいれてのユニークさ、問題の入れ替えなど、詳細な部分を詰めて見やすくしたい。 ::・結果と記録は問題とのデータの照らし合わせが重要。問題画面担当者のお2人の知恵もお借りしながら、プロトタイプ作成に入りたい。 !!!第9回(6/14(金)) :主な内容 ::・中間発表 :他の班の進捗やゲーム内容を聞いてみて ::・どの班も独創性のあるゲームやシステムを作成しており、興味深かった。 ::・画面遷移を確実にして、今後、cssなどのデザインや詳細設定やを詰めていく班が多かったように感じる。 :課題と今後の展望 ::・最終発表に向けて完成していない記録画面の制作に取り掛かろうと思う。また、他にもデザインを改善したりゲーム画面における機能を増やしたい。正誤判定をもっとわかりやすくするとか音をつけるとかである。 ::・再び担当を決めてプログラム制作を行いたい。cssのデザイン関連は1人でやったほうが構成も統一されて、いいのではという話になった。 ::・問題を作るにあたって、文法問題が「word momories」のタイトルの趣旨から少しそれているという意見が出た。だが、せっかく練った問題なので「文法問題モード」を作成して、そちらから出題することに変更する案が挙がった。その方向で検討していきたい。