静岡理工科大学 総合情報学部 (by 菅沼) 菅沼ホーム

C_Game Ver.2( C/C++ 自学自習−ゲーム版−)

このページで学ぶ内容は,「 C/C++ 自学自習」とほぼ同じですが,多少範囲を限定しています.また,「 C/C++ 自学自習」との大きな違いは,学習方法にあります.「 C/C++ 自学自習」では,通常の教科書のように,”説明を読んでから演習問題を解く”といった方法で学習を進めますが,このページでは,PBL( Problem Based Learning )に基づいた方法で学習を進めます.つまり,”まず問題が与えられ,その問題を解くために必要な知識を学ぶ”といった方法です.

このページは,シューティングゲーム風に作成してあります.宇宙を放浪しながらターゲット(演習問題)を駆逐し,最終的には地球に戻ることができます.地球に戻るためには,かなりの時間と努力を要しますが,最後まで頑張ってみてください.なお,先のバージョンの C_Game を実行中の方にはご迷惑をおかけしますが,現時点におけるレベルから開始していただければ,ほぼ同じような状況で続行することが可能かと思います.

画面上には,5 種類のターゲットが現れます.各ターゲットは演習問題を表しており,緑及び黄緑のターゲットは既に学習した知識,黄色は学習中の知識,また,橙及び赤は将来学習する知識を対象とした演習問題に相当します.これらのターゲットを攻撃するとその演習問題を解くことになりますが,緑及び黄緑のターゲットだけは,攻撃しなくてもある確率で強制的に解かなければならないような設定になっています.

ターゲットに対する攻撃は,画面下にある砲台によって行います.砲台は,「 z 」キーによって左に,「 x 」キーによって右に移動します.また,シフトキーによって攻撃を行うことができます.ターゲットの動きが遅すぎたり速すぎたりした場合は,画面上部にある「 << 減速 」や「 増速 >> 」という文字の部分をクリックしてみてください.

基本的には,学習中の知識を対象とした演習問題を解き,一定数(レベルによって異なる)の問題を解くと,レベルが 1 ずつ上がっていきます(画面右側に,現在のレベルが表示されます).既に学習した知識を対象とした演習問題を解いても,(解いた問題の数が増えるといった意味で)潜在的能力は向上しますが,レベル自体は変化しません.逆に,解けなかった場合は,レベルが下がる場合もあります.また,将来学習する知識を対象とした演習問題を解いた場合は,レベルをその問題が対応するレベルまで引き上げるため,急速にゴールに近づくことが可能です.既にある程度の知識を持っている人は,この方法を採用するのが最も効率的です.なお,現在のレベル設定は,以下のようになっています.

  1. レベル 0: データ型
  2. レベル 1: 演算子(算術演算子と代入演算子)
  3. レベル 2: 簡単なプログラム(入出力を含む)
  4. レベル 3: その他の演算子(アドレス,比較,論理,ビットシフト)
  5. 制御文
    1. レベル 4: 条件分岐
    2. レベル 5: 繰り返し
  6. 配列とポインタ
    1. レベル 6: 配列とポインタ
    2. レベル 7: 多次元配列と new 演算子
  7. 関数
    1. レベル 8: 標準関数
    2. レベル 9: 簡単な関数と変数の有効範囲
    3. レベル 10: 関数とデータの引き渡し
    4. レベル 11: main 関数,関数名のオーバーロード
  8. レベル 12: 構造体
  9. クラス
    1. レベル 13: クラス宣言
    2. レベル 14: 演算子のオーバーロード
    3. レベル 15: テンプレート
    4. レベル 16: 派生クラス

では,開始レベルと学籍番号を入力して早速始めてみましょう.学籍番号によって,学習履歴を管理していますので,正確に入力してください.開始レベルの項に負の値を入力すると,データベースに記憶されている現在のレベル,つまり,前回の続きから開始されます(初めての場合は,レベル 0 から開始).なお,ゲームはいつでも終了でき,その際,現在のレベルや解答して正解した問題は保存されていますが,選択した問題を解いている状況は保存されません.

注1: 外部の方はメールアドレスを入力してください.入力されたメールアドレスは,学習履歴の管理以外には決して利用しません.実際に存在しないいい加減なメールアドレスを入力されても動作しますが,もしそれが他の人が入力されたものと一致した場合は,問題が発生する場合がありますので必ず正しいメールアドレスを入力してください.
注2: 各問題に表示される「解説」ボタンをクリックすると,その問題に関連する解説が表示されます.必ず,ポップアップブロックを解除しておいてください.なお,「解説」は,「 C/C++ と Java 」の一部にリンクを張ったものですので,「 C/C++ と Java 」を表示しながら実行するのも一つの方法かと思います.
注3: 回線速度やご使用のパソコンの能力によっては,反応がかなり遅い場合もありますがご容赦ください.
注4: 問題が間違っている,正常に動作しない,など,問題がありましたら是非お知らせください.また,ご使用された感想なども歓迎します.

開始レベル:  学籍番号: 

静岡理工科大学 総合情報学部 (by 菅沼) 菅沼ホーム