「たった今入力された」を判定する汎用的に使えるよう関数として40節に新しく作りました。キーがどれ位押されたかを監視する関数をご覧下さい。関数ポインタ基本シューティングゲーム等は、敵の攻撃によって様々な関数で計算して玉を発射します。その時間や状況によって使う関数が変わるのです。大量の関数名が出てきますね。if(1回目の攻撃なら)ShotType1();if(2回目の攻撃なら)ShotType2();if(3回目の攻撃なら)ShotType3();if(4回目の攻撃なら)ShotType4();と書いてもいいですけど、なんだかちょっと賢くない書きかたのような気がしますね。これをあらかじめ、「関数のポインタを配列でまとめて」おいて、配列要素番号を変更する事でどの関数に処理を渡すか決定できれば随分スムーズにプログラムが書けるんじゃないでしょうか。if(攻撃モード変更したら)i++;ShotType[i]();こんな風に書けば随分スマートですね。関数をポインタを使って配列にまとめてみるプログラムをかいて見ましょう。サンプルプログラムではShotType1();ShotType2();ShotType3();という関数をShotFunctionで纏めています。以後、ShotFunctionを使用する事で、任意のショットタイプ関数へ処理を渡す事が出来ます。//2,1,3の順番で処理される。DrawString(200,200,"タイプ1ショット発射中。DrawString(200,200,"タイプ2ショット発射中。DrawString(200,200,"タイプ3ショット発射中。