| 授業計画 | 
		
			| 回数 | 学習目標 | 学習項目 | 
		
			| 1 | 二次元配列を使ったマップの表示が出来る。 | 二重ループ、二次元配列、マップチップのタイリング。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 2 | キャラクタのマス単位の移動が出来る。
キャラクタの移動判定が出来る。
二次元配列マップを外部ファイルから読み込む事が出来る。 | マス単位移動判定、テキストファイルからのデータ読み込み。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 3 | SP迷路ゲームを作る事が出来る。 | ワープや扉とカギ、ゴールなどを取り入れてゲーム化する。
迷路の壁の自動連結(見た目の連結)のアルゴリズム。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 4 | マウスを使って二次元配列マップを編集可能なプログラムが出来る。
配列外のメモリを参照する事(バッファオーバーラン)の問題が確認できる。 | マウスカーソルの座標をマス単位に変換する方法と注意点、バッファオーバーランの問題点。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 5 | SP○×ゲーム(三目並べ)を作る事が出来る。 | 石を置く処理、手番の入れ替え、勝敗判定 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 6 | 二次元配列マップと矩形の重なり判定が出来る。(ドット単位あたり判定)
二次元配列マップ上のめり込まない移動が出来る。 | 矩形とマップの接触判定の仕組み、矩形をマス単位に変換する方法と注意点、マップ外に出ていた時の対処法、めり込まない移動判定の仕組み。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 7 | ジャンプから着地までの一連の仕組みを作る事が出来る。 | 足元の接触判定・またそれを応用した各種状況判断の方法、ジャンプする条件、重力加速、ゲームの世界の時間と重力。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 8 | SPジャンプアクションゲームを作る事が出来る。 | 10ステージ構成の2Dアクションゲームを作る。 ゴール判定・ステージ遷移・ゲームオーバー判定等組み込みゲームとして一連の形を作る。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 9 | タスクシステムを使用したプログラムを作る事が出来る。 | タスクシステムの特徴と利点、タスクの作り方。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 10 | 旧学習内容をタスクシステムに移植出来る。 | 二次元配列マップとプレイヤキャラクタに関する一連の処理をタスク化する。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 11 | ドット単位スクロールが実現出来る。 | ドット単位スクロールを実現する仕組み、マップ外を表示しない方法。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断 | 
		
			| 12 | タスクシステム上で弾の制御が出来る。 | 弾のタスク化、タスクの列挙方法。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 13 | タスクの効率化により速度向上が出来る。 | 複数同時に存在するタスクと、それに対するリソースクラスの挙動、タスクの検出可不可の設定とその効果。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 14 | 汎用キャラクタクラスを取り入れる事でプログラムを効率化出来る。 | 汎用キャラクタクラス(基底クラス)の概念と、それを利用する事の利点、プログラムへの組み込み方。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 | 
		
			| 15 | マインスイーパーが作成出来る。 | パズルゲーム・マインスイーパーのルールと遊び方、その実装方法。 再帰関数。 | 
		
			| 【理解度確認】実習結果(課題提出状況)により判断する。 |