(57)【特許請求の範囲】
【請求項１】
入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置のオブジェクト制御プログラムであって、
前記情報処理装置のプロセサに、
前記入力手段によって入力された座標を検出する検出ステップ、
前記検出ステップによる検出結果に基づいて第１条件が満たされたか否かを判定する第１判定ステップ、
前記第１判定ステップによって前記第１条件が満たされたと判定されたときの前記検出ステップによる検出座標をオブジェクト発生座標に決定する発生座標決定ステップ、
前記発生座標決定ステップによって決定された前記オブジェクト発生座標に前記オブジェクトを発生させるオブジェクト発生ステップ、および
前記オブジェクト発生座標に続く前記検出ステップによる連続的な検出結果に基づいて前記オブジェクトの移動を制御するオブジェクト制御ステップを実行させる、オブジェクト制御プログラム。
【請求項２】
前記第１判定ステップによって前記第１条件が満たされたと判定された後、前記検出ステップにより連続的に検出される座標の少なくとも１つに基づいて第２条件が満たされたか否かを判定する第２判定ステップをさらに前記プロセサに実行させ、
前記オブジェクト制御ステップは、前記第２判定ステップによって前記第２条件が満たされたと判定されたときに、前記オブジェクト発生ステップによって発生された前記オブジェクトの移動を開始する、請求項１記載のオブジェクト制御プログラム。
【請求項３】
前記オブジェクト制御ステップは、前記連続的な検出の後前記検出ステップによる検出がなくなったときに、前記オブジェクト発生ステップによって発生された前記オブジェクトの移動を開始する、請求項２記載のオブジェクト制御プログラム。
【請求項４】
前記オブジェクト制御ステップは、前記検出ステップによって連続的に検出された前記座標のうちの少なくとも１つの座標に基づいて、前記オブジェクトの移動のパラメータを決定する、請求項１ないし３のいずれかに記載のオブジェクト制御プログラム。
【請求項５】
前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間に検出される前記座標が第３条件を満たすことを判定する第３条件判定ステップをさらに前記プロセサに実行させ、
前記オブジェクト制御ステップは、前記第３条件判定ステップによって前記第３条件を満たすことが判定されることを条件として、前記オブジェクトの移動を制御する、請求項２または３に記載のオブジェクト制御プログラム。
【請求項６】
前記第３条件判定ステップは、前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間に検出される前記座標が、前記オブジェクト発生座標から所定距離だけ離れたことを判定する、請求項５記載のオブジェクト制御プログラム。
【請求項７】
前記オブジェクト制御ステップは、前記オブジェクト発生座標に続く前記検出ステップによる連続的な検出結果が前記第２条件を満たすとき、前記オブジェクト発生ステップによって発生された前記オブジェクトを一定方向に移動させる、請求項２ないし６のいずれかに記載のオブジェクト制御プログラム。
【請求項８】
前記第２判定ステップは、前記第２条件を満たし、かつ、前記第１判定ステップによって前記第１条件が満たされたと判定された後に前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間に検出される座標が、前記オブジェクト発生座標から前記一定方向の同じ方向または反対方向を中心とした所定の範囲の方向に存在することを判定する、請求項７記載のオブジェクト制御プログラム。
【請求項９】
前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間において前記検出ステップによって検出される前記座標が第４条件を満たすことを判定する第４条件判定ステップ、および
前記第４条件判定ステップによって前記第４条件を満たすことが判定されたときに、前記オブジェクト発生ステップによって発生された前記オブジェクトを消滅させるオブジェクト消滅ステップをさらに前記プロセサに実行させる、請求項１ないし８のいずれかに記載のオブジェクト制御プログラム。
【請求項１０】
前記第４条件判定ステップは、前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間において前記検出ステップによって検出される前記座標が、前記オブジェクト発生座標を基準とする第２領域より外になる前に、前記検出ステップによる検出がなくなったことを、前記第４条件として判定する、請求項９に記載のオブジェクト制御プログラム。
【請求項１１】
前記第４条件判定ステップは、前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間において前記検出ステップによって検出される前記座標が、前記オブジェクト発生座標を基準とする第３領域より外になったことを、前記第４条件として判定する、請求項９に記載のオブジェクト制御プログラム。
【請求項１２】
前記オブジェクト制御ステップは、前記連続的な検出の後前記検出ステップによる検出がなくなった場合に、当該検出がなくなる直前に前記検出ステップによって検出された前記座標が、前記第３領域と異なる前記オブジェクト発生座標を基準とする第４領域内であるときに、前記オブジェクト発生ステップによって発生された前記オブジェクトの移動を開始する、請求項１１に記載のオブジェクト制御プログラム。
【請求項１３】
前記第３領域は、前記オブジェクト発生座標の全方向に存在する領域であり、前記第４領域は、前記オブジェクト発生座標の所定方向にのみ存在する領域である、請求項１２に記載のオブジェクト制御プログラム。
【請求項１４】
前記第２条件は、前記オブジェクト発生座標と前記オブジェクト発生座標に続いて前記検出ステップによって連続的に検出される座標のうちの少なくとも１つの座標とに基づく入力方向が所定の方向であることを含み、
前記オブジェクト制御ステップは、前記第２判定ステップによって前記第２条件が満たされたと判定されるとき、前記オブジェクトを移動させる、請求項２ないし１３のいずれかに記載のオブジェクト制御プログラム。
【請求項１５】
前記入力手段は前記表示手段に対する座標を検出するためのものであり、
前記第２条件における前記所定の方向と、前記オブジェクト制御ステップにおける前記オブジェクトの移動方向とは、同じ方向または反対の方向である、
請求項１４記載のオブジェクト制御プログラム。
【請求項１６】
前記所定の方向は第１の方向の正成分を持つ方向であり、
前記オブジェクトの移動方向は前記第１の方向と反対の方向である、請求項１５記載のオブジェクト制御プログラム。
【請求項１７】
前記所定の方向は第１の方向を基準として左右に９０度未満の範囲内の方向であり、前記オブジェクトの移動方向は前記第１の方向と反対の方向である、請求項１５記載のオブジェクト制御プログラム。
【請求項１８】
前記オブジェクト制御ステップは、
前記オブジェクト発生座標と前記オブジェクト発生座標に続いて前記検出ステップによって連続的に検出される座標のうちの少なくとも１つの座標とに基づいて、前記入力手段による入力方向を決定する入力方向決定ステップ、および
前記入力方向決定ステップによって決定された前記入力方向に基づいて、前記オブジェクトの移動方向を決定する移動方向決定ステップをさらに含み、
前記第２判定ステップによって前記第２条件が満たされたと判定されるとき、前記移動方向決定ステップによって決定された前記移動方向に前記オブジェクトを移動させる、請求項２ないし１４のいずれかに記載のオブジェクト制御プログラム。
【請求項１９】
前記入力方向決定ステップは、前記オブジェクト発生座標と前記第２判定ステップによって前記第２条件を満たすと判定されたときの前記検出ステップによる検出座標とを結ぶ方向を前記入力方向に決定する、請求項１８記載のオブジェクト制御プログラム。
【請求項２０】
前記移動方向決定ステップは、前記入力方向を反転して前記オブジェクトの移動方向とする、請求項１８または１９に記載のオブジェクト制御プログラム。
【請求項２１】
前記入力方向決定ステップは、前記第１判定ステップによって前記第１条件を満たすと判定されてから前記第２判定ステップによって前記第２条件を満たすと判定されるまでの期間における前記検出ステップによる検出座標に基づいて、当該期間ごとの前記入力方向を決定し、
前記移動方向決定ステップは、前記期間ごとの前記入力方向に基づいて、前記期間ごとの前記オブジェクトの移動方向を決定し、
前記オブジェクト発生ステップは、前記期間ごとに異なる前記オブジェクトを、当該期間に対応する前記オブジェクト発生座標に発生させ、
前記オブジェクト制御ステップは、前記期間ごとの前記移動方向に当該オブジェクトを移動させる、請求項１８ないし２０のいずれかに記載のオブジェクト制御プログラム。
【請求項２２】
前記オブジェクト発生ステップは、前記発生座標決定ステップによる決定ごとに異なる前記オブジェクトを発生させる、請求項１ないし２１のいずれかに記載のオブジェクト制御プログラム。
【請求項２３】
前記オブジェクト発生ステップは、前記第２判定ステップによって前記第２条件を満たすと判定されたときに前記オブジェクトを発生させる、請求項２ないし２２のいずれかに記載のオブジェクト制御プログラム。
【請求項２４】
前記オブジェクト発生ステップは、前記第１判定ステップによって前記第１条件を満たすと判定されてから前記第２判定ステップによって前記第２条件を満たすと判定されるまでの間に、さらに、前記第１判定ステップによって前記第１条件を満たすと判定された場合には、前記第１条件を満たすと先に判定されたときの前記オブジェクト発生座標に第１のオブジェクトを発生させ、前記第１条件を満たすと後に判定されたときの前記オブジェクト発生座標に前記第１のオブジェクトとは異なる第２のオブジェクトを発生させる、請求項２ないし２３のいずれかに記載のオブジェクト制御プログラム。
【請求項２５】
前記プロセサに、前記第１判定ステップによって前記第１条件を満たすと判定された後、前記検出ステップによる検出座標が前記オブジェクト発生座標から所定の領域内で連続している時間を計測する時間計測ステップをさらに実行させ、
前記オブジェクト制御ステップは、前記時間計測ステップによって計測される時間に応じて、前記オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第１特性設定ステップを含む、請求項１ないし２４のいずれかに記載のオブジェクト制御プログラム。
【請求項２６】
前記プロセサに、前記オブジェクト発生座標と前記第２判定ステップによって前記第２条件を満たすと判定されたときの前記検出ステップによる検出座標との距離を計算する距離計算ステップをさらに実行させ、
前記オブジェクト制御ステップは、前記距離計算ステップによって計算される距離に応じて、前記オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第２特性設定ステップを含む、請求項２ないし２５のいずれかに記載のオブジェクト制御プログラム。
【請求項２７】
前記オブジェクト制御ステップは、前記発生座標決定ステップによって決定された前記オブジェクト発生座標に応じて、前記オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第３特性設定ステップを含む、請求項１ないし２６のいずれかに記載のオブジェクト制御プログラム。
【請求項２８】
前記プロセサに、
射撃対象オブジェクトの発生および移動を制御する射撃対象制御ステップ、
前記オブジェクトと前記射撃対象オブジェクトとの衝突判定をおこなう衝突判定ステップ、および
前記衝突判定ステップによって前記オブジェクトと前記射撃対象オブジェクトとが衝突したと判定されたときに、前記射撃対象オブジェクトを消滅させる衝突ステップをさらに実行させる、請求項１ないし２７のいずれかに記載のオブジェクト制御プログラム。
【請求項２９】
前記射撃対象制御ステップは、前記射撃対象オブジェクトごとに耐久力データを設定する耐久力設定ステップを含み、
前記衝突ステップは、前記衝突判定ステップによって前記オブジェクトと前記射撃対象オブジェクトとが衝突したと判定されたときに、当該射撃対象オブジェクトの前記耐久力データの示す耐久力を減算する減算ステップを含み、前記減算ステップによる減算後の当該耐久力が所定の閾値以下になったときに当該射撃対象オブジェクトを消滅させる、請求項２８記載のオブジェクト制御プログラム。
【請求項３０】
前記第１判定ステップによって前記第１条件を満たすと判定された後、前記検出ステップによる検出座標が前記オブジェクト発生座標から所定の領域内で連続している時間を前記オブジェクトごとに計測する時間計測ステップを含み、
前記衝突ステップは、前記射撃対象オブジェクトに衝突した前記オブジェクトに対応する前記時間計測ステップによって計測された前記時間が長いほど、当該射撃対象オブジェクトの前記耐久力データから減算する値を大きくする、請求項２９記載のオブジェクト制御プログラム。
【請求項３１】
前記オブジェクト発生座標と、前記第２判定ステップによって前記第２条件を満たすと判定されたときの前記検出ステップによる検出座標との距離を前記オブジェクトごとに計算する距離計算ステップを含み、
前記衝突ステップは、前記射撃対象オブジェクトに衝突した前記オブジェクトに対応する前記距離計算ステップによって計算された前記距離が長いほど、当該射撃対象オブジェクトの前記耐久力データから減算する値を大きくする、請求項２９または３０記載のオブジェクト制御プログラム。
【請求項３２】
前記衝突ステップは、前記射撃対象オブジェクトに衝突した前記オブジェクトに対応する前記オブジェクト発生座標に応じて、当該射撃対象オブジェクトの前記耐久力データから減算する値を変化させる、請求項２９ないし３１のいずれかに記載のオブジェクト制御プログラム。
【請求項３３】
前記入力手段は、前記表示手段の表示画面上に設置されたタッチパネルである、請求項１ないし３２のいずれかに記載のオブジェクト制御プログラム。
【請求項３４】
入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置のオブジェクト制御プログラムであって、
前記情報処理装置のプロセサに、
前記入力手段によって入力された座標を検出する検出ステップ、
前記検出ステップによる検出結果に基づいて第１条件が満たされたか否かを判定する第１判定ステップ、
前記第１判定ステップによって前記第１条件が満たされたと判定されたときの前記検出ステップによる検出座標をオブジェクト発生座標に決定する発生座標決定ステップ、
前記発生座標決定ステップによって決定された前記オブジェクト発生座標に前記オブジェクトを発生させるオブジェクト発生ステップ、
前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間において前記検出ステップによって検出される前記座標が、前記オブジェクト発生座標を基準とする第１領域より外になったか否かを判定する領域外判定ステップ、
前記領域外判定ステップによって前記連続的な検出における前記座標が前記第１領域から外になったことが判定された後に、前記検出ステップによる検出がなくなったときに、前記オブジェクト発生ステップによって発生された前記オブジェクトの移動を開始させるオブジェクト制御ステップ、および
前記領域外判定ステップによって前記連続的な検出における前記座標が前記第１領域から外になったことが判定される前に、前記検出ステップによる検出がなくなったときに、前記オブジェクト発生ステップによって発生された前記オブジェクトを消滅させるオブジェクト消滅ステップを実行させる、オブジェクト制御プログラム。
【請求項３５】
入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置であって、
前記入力手段によって入力された座標を検出する検出手段、
前記検出手段による検出結果に基づいて第１条件が満たされたか否かを判定する第１判定手段、
前記第１判定手段によって前記第１条件が満たされたと判定されたときの前記検出手段による検出座標をオブジェクト発生座標に決定する発生座標決定手段、
前記発生座標決定手段によって決定された前記オブジェクト発生座標に前記オブジェクトを発生させるオブジェクト発生手段、および
前記オブジェクト発生座標に続く前記検出手段による連続的な検出結果に基づいて前記オブジェクトの移動を制御するオブジェクト制御手段を備える、情報処理装置。
【請求項３６】
入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置であって、
前記入力手段によって入力された座標を検出する検出手段、
前記検出手段による検出結果に基づいて第１条件が満たされたか否かを判定する第１判定手段、
前記第１判定手段によって前記第１条件が満たされたと判定されたときの前記検出手段による検出座標をオブジェクト発生座標に決定する発生座標決定手段、
前記発生座標決定手段によって決定された前記オブジェクト発生座標に前記オブジェクトを発生させるオブジェクト発生手段、
前記オブジェクト発生座標に続いて前記検出手段によって連続的な検出がされている間において前記検出手段によって検出される前記座標が、前記オブジェクト発生座標を基準とする第１領域より外になったか否かを判定する領域外判定手段、
前記領域外判定手段によって前記連続的な検出における前記座標が前記第１領域から外になったことが判定された後に、前記検出手段による検出がなくなったときに、前記オブジェクト発生手段によって発生された前記オブジェクトの移動を開始させるオブジェクト制御手段、および
前記領域外判定手段によって前記連続的な検出における前記座標が前記第１領域から外になったことが判定される前に、前記検出手段による検出がなくなったときに、前記オブジェクト発生手段によって発生された前記オブジェクトを消滅させるオブジェクト消滅手段を備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、オブジェクト制御プログラムおよび情報処理装置に関し、特にたとえば、入力手段の入力に応じてオブジェクトを発生させて移動させる、オブジェクト制御プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
たとえばタッチパネル上に表示されたオブジェクトを操作する技術の一例が特許文献１に開示されている。具体的には、タッチパネル上に予め表示されているオブジェクトを指でタッチして指の位置に合わせて移動（ドラッグ移動）させたり、指で弾いて指の移動した方向に慣性移動させたりする技術が記載されている。
【０００３】
また、非特許文献１には、タッチパネル上の所定位置に表示されたパチンコの弾をドラッグ移動させることによって飛ばすミニゲームが記載されている。
【特許文献１】特許第２８２７６１２号公報
【非特許文献１】ニンテンドーＤＳ用ゲームソフト「スーパーマリオ６４ＤＳ」の取扱説明書、３１ページ、２００４年１２月発売
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１および非特許文献１では、固定された位置に既に存在しているオブジェクトをタッチした後に、移動させたい方向を見据えてその方向にまたはその反対方向にドラッグ操作をする必要がある。このため、オブジェクトを操作しようとする度にオブジェクトの位置を確認しなければならないので、操作が面倒である。さらに、パチンコ弾を連続的に撃つような操作も困難であり、爽快感が得難く、操作性が良くない。
【０００５】
それゆえに、この発明の主たる目的は、新規な、オブジェクト制御プログラムおよび情報処理装置を提供することである。
【０００６】
この発明の他の目的は、簡単に任意の位置にオブジェクトを発生させて移動させることができる、オブジェクト制御プログラムおよび情報処理装置を提供することである。
【０００７】
この発明のさらに他の目的は、簡単で直感的な操作によってオブジェクトを発生させて移動させることができる、オブジェクト制御プログラムおよび情報処理装置を提供することである。
【０００８】
この発明のその他の目的は、簡単に複数のオブジェクトを連続して発生させて移動させることができる、オブジェクト制御プログラムおよび情報処理装置を提供することである。
【課題を解決するための手段】
【０００９】
第１の発明（請求項１の発明）は、入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置のオブジェクト制御プログラムである。このオブジェクト制御プログラムは、情報処理装置のプロセサに、検出ステップ、第１判定ステップ、発生座標決定ステップ、オブジェクト発生ステップ、およびオブジェクト制御ステップを実行させる。検出ステップは、入力手段によって入力された座標を検出する。第１判定ステップは、検出ステップによる検出結果に基づいて第１条件が満たされたか否かを判定する。発生座標決定ステップは、第１判定ステップによって第１条件が満たされたと判定されたときの検出ステップによる検出座標をオブジェクト発生座標に決定する。オブジェクト発生ステップは、発生座標決定ステップによって決定されたオブジェクト発生座標にオブジェクトを発生させる。オブジェクト制御ステップは、オブジェクト発生座標に続く検出ステップによる連続的な検出結果に基づいてオブジェクトの移動を制御する。
【００１０】
請求項１の発明では、オブジェクト制御プログラムは、情報処理装置（１０：後述する実施例で相当する参照符号。以下同じ。）のプロセサ（４２）に以下に説明するような各ステップを実行させる。情報処理装置は、入力手段（２２）の入力に応じて発生および移動されるオブジェクト（７２）を表示手段（１２、１４）に表示する。検出ステップ（Ｓ３、Ｓ５、Ｓ１５、Ｓ１７、Ｓ３５、Ｓ３７）は、入力手段によって入力された座標を検出する。第１判定ステップ（Ｓ３、Ｓ１２１、Ｓ１５１−Ｓ１５７、Ｓ１７１、Ｓ１７３）は、検出ステップによる検出結果に基づいて第１条件が満たされたか否かを判定する。第１条件とは、検出ステップにおいて検出がない状態から検出がある状態に変化したことや、検出がある状態が継続しているときに、検出される座標の変化量が閾値より小さい（または大きい）こと（すなわち、入力座標の移動速度が閾値より小さいまたは大きいこと）、または、検出される座標が所定時間の間変化しないこと(すなわち、入力座標が所定時間停止していること）などが考えられる。発生座標決定ステップ（Ｓ７、Ｓ１８１）は、第１条件が満たされたと判定されたときの検出座標をオブジェクト発生座標に決定する。オブジェクト発生ステップ（Ｓ９）は、決定されたオブジェクト発生座標にオブジェクトを発生させる。オブジェクト発生ステップは、たとえば、オブジェクト画像データに基づいて、オブジェクト発生座標にオブジェクト画像を表示する。また、オブジェクト発生ステップは、オブジェクト発生座標決定ステップによってオブジェクト発生座標が決定したときに、当該決定した座標にオブジェクト画像を表示してもよいし、その後適切なタイミングで（たとえばオブジェクトが移動開始するタイミングで）、当該決定した座標にオブジェクト画像を表示してもよい。オブジェクト制御ステップ（Ｓ４３、Ｓ６１、Ｓ６５、Ｓ９３、Ｓ９５、Ｓ９９）は、オブジェクト発生座標に続く検出ステップによる連続的な検出結果に基づいてオブジェクトの移動を制御する。たとえば、オブジェクト制御ステップは、オブジェクト発生座標が検出された後、検出手段によって連続的に検出される結果に基づいて、オブジェクト発生座標に表示されるオブジェクトの移動を制御する。ここで、連続的に検出されるとは、オブジェクト発生座標が検出された後、検出がない状態とならずに、検出がある状態が継続している状態である。なお、検出がなくなった場合でも、一定期間が経過するまでに検出が有る状態となったときには、連続的な検出とみなすようにしてもよい。このようにして、入力の検出結果が第１条件を満たすと判定されたときの入力座標にオブジェクトが発生され、発生座標に続く連続的な入力の検出結果に基づいて当該オブジェクトの移動が制御される。したがって、第１条件を満足する入力とこれに続く一連の入力に応じて、簡単に任意の位置にオブジェクトを発生させて、当該発生座標を起点としてオブジェクトを移動させることができる。
【００１１】
請求項２の発明は、請求項１の発明に従属し、第１判定ステップによって第１条件が満たされたと判定された後、検出ステップにより連続的に検出される座標の少なくとも１つに基づいて第２条件が満たされたか否かを判定する第２判定ステップをさらにプロセサに実行させる。オブジェクト制御ステップは、第２判定ステップによって第２条件が満たされたと判定されたときに、オブジェクト発生ステップによって発生されたオブジェクトの移動を開始する。
【００１２】
請求項２の発明では、第２判定ステップ（Ｓ２１、Ｓ２９、Ｓ３５、Ｓ４１）は、第１条件が満足されたと判定された後に連続的に検出された座標の少なくとも１つに基づいて、つまり、オブジェクト発生座標に続く連続的な検出座標のうちの少なくとも１つに基づいて、第２条件が満たされたか否かを判定する。第２条件としては、第１条件が満たされた後に、検出ステップにおいて検出がある状態から無い状態に変化したことや、検出がある状態が継続しているときに、検出された座標の変化量が閾値より小さい（または大きい）こと、または、検出される座標が所定時間の間変化しないこと、あるいは、第１条件が満足されたときの座標から所定距離だけ離れたことや当該座標から所定の方向への入力とみなせるような座標検出が続いたことなどが考えられる。オブジェクト制御ステップは、第２条件が満たされたときには、オブジェクトの移動を開始する。したがって、第２条件を満足する入力に応じてオブジェクトの移動を開始することができる。
【００１３】
請求項３の発明は、請求項２の発明に従属し、オブジェクト制御ステップは、連続的な検出の後検出ステップによる検出がなくなったときに、オブジェクト発生ステップによって発生されたオブジェクトの移動を開始する。
【００１４】
請求項３の発明では、第１条件が満足された後の連続的な検出の後に検出が無くなったことが第２条件として判定される。したがって、連続的な検出が無くなったときに、つまり、たとえばタッチオンからタッチオフになったときに、オブジェクトの移動を開始することができる。
【００１５】
請求項４の発明は、請求項１ないし３のいずれかの発明に従属し、オブジェクト制御ステップは、検出ステップによって連続的に検出された座標のうちの少なくとも１つの座標に基づいて、オブジェクトの移動のパラメータを決定する。
【００１６】
請求項４の発明では、オブジェクト制御ステップ（Ｓ１４１、Ｓ１４３、Ｓ４３）は、オブジェクトの移動のパラメータを、第１条件を満足した後に連続的に検出された座標のうちの少なくとも１つの座標に基づいて決定する。たとえばタッチオフ直前の座標がオブジェクト発生座標からどの程度離れているかによってパラメータが決定されてよい。当該移動のパラメータは、たとえば、オブジェクトの移動速度、移動方向、移動距離などのパラメータである。したがって、連続的に検出された座標に基づいて決定したパラメータに基づいてオブジェクトの移動を制御することができる。
【００１７】
請求項５の発明は、請求項２または３の発明に従属し、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間に検出される座標が第３条件を満たすことを判定する第３条件判定ステップをさらにプロセサに実行させる。オブジェクト制御ステップは、第３条件判定ステップによって第３条件を満たすことが判定されることを条件として、オブジェクトの移動を制御する。
【００１８】
請求項５の発明では、第３条件判定ステップ（Ｓ２１、Ｓ２９）は、オブジェクト発生座標に続く連続的な検出の間に検出される座標が第３条件を満たすことを判定する。第３条件は、たとえば、連続的な検出中の座標が所定領域の外になることとしてもよい。なお、所定領域は、オブジェクト発生座標を基準として設定してもよい。たとえばオブジェクト発生座標から所定距離の範囲外の座標が検出されることが第３条件とされてよい。また、第３条件は、連続的な検出中の座標の移動方向が所定方向であることとしてもよい。なお、連続的な検出中の座標の移動方向がオブジェクト発生座標を基準として所定方向であることとしてもよい。たとえば、実施例では、連続検出中の座標が、所定方向の入力とみなせるように設定された第１有効範囲内であることが第３条件とされる。さらに、第３条件は、連続的に検出される座標の変化量が閾値より小さい（または大きい）こと、または、連続的に検出される座標が所定時間の間変化しないことなどとしてもよい。オブジェクト制御ステップは、第３条件を満たすことが判定されるときには、オブジェクトの移動を制御するが、第２条件を満たす場合であっても第３条件を満たさない場合は、オブジェクトを移動させない。したがって、オブジェクト発生座標に続く連続的な検出の間に検出される座標が第３条件を満足したことに応じて、オブジェクトの移動制御を起動させることができる。
【００１９】
請求項６の発明は、請求項５の発明に従属し、第３条件判定ステップは、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間に検出される座標が、オブジェクト発生座標から所定距離だけ離れたことを判定する。
【００２０】
請求項６の発明では、第３条件判定ステップ（Ｓ２１）は、第３条件として、オブジェクト発生座標に続く連続的な検出の間に検出される座標が、オブジェクト発生座標から所定距離だけ離れたことを判定する。したがって、オブジェクト発生座標から所定距離範囲外の座標が検出された場合には、オブジェクトの移動制御を起動することができる。
【００２１】
請求項７の発明は、請求項２ないし６のいずれかの発明に従属し、オブジェクト制御ステップは、オブジェクト発生座標に続く検出ステップによる連続的な検出結果が第２条件を満たすとき、オブジェクト発生ステップによって発生されたオブジェクトを一定方向に移動させる。
【００２２】
請求項７の発明では、オブジェクト制御ステップ（Ｓ６１）は、第２条件が満足されたとき、オブジェクトを一定方向に移動する。この発明では、オブジェクト制御ステップは、連続的な検出中の座標の移動方向に基づいて（または、オブジェクト発生座標を基準とする方向に基づいて）、オブジェクトの移動方向を決定してもよい（たとえば、当該連続的な検出中の座標の移動方向と反対方向をオブジェクトの移動方向としてもよいし、同じ方向をオブジェクトの移動方向としてもよい）。しかし、ここでは、当該連続的な検出結果の内容に関係なく、例えば、当該連続的な検出中の座標の移動方向がいずれの方向であっても、第２条件が満足される場合には、オブジェクトを一定の方向に移動させる。したがって、第２条件を満足するオブジェクト発生座標に続く連続的な入力に応じて、オブジェクトを一定方向に移動させることができる。
【００２３】
請求項８の発明は、請求項７の発明に従属し、第２判定ステップは、第２条件に加えて、以下の追加条件を判定する。すなわち、第１判定ステップによって第１条件が満たされたと判定された後、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間に検出される座標が、オブジェクト発生座標から一定方向（請求項７におけるオブジェクトの移動方向）と同じ方向または反対方向を中心とした所定の範囲の方向に存在することを追加条件として判定する。なお、連続的な検出がされている間に検出される座標が当該所定の範囲の方向から外れた時点で直ちに上記の追加条件を満たさないと判定してもよいし、連続的な検出の途中で当該所定の範囲の方向から外れたときでも、第２条件を満たすタイミングにおいて検出される座標が当該所定の範囲の方向に存在していれば上記の追加条件を満たすと判定してもよい。
【００２４】
請求項８の発明では、第２判定ステップ（Ｓ２９、Ｓ４１）は、第２条件に加えて、第１条件が満たされたと判定された後、オブジェクト発生座標に続く連続的な検出において検出された座標が、オブジェクト発生座標から一定方向の同じ方向または反対方向を中心とした所定の範囲の方向に存在することを判定する。つまり、連続的な検出中の座標の移動方向が、オブジェクトの移動方向である一定方向に対して、その同じ方向または反対方向を中心とした所定の範囲に含まれる方向であるときには、追加条件が満たされる。実施例では、オブジェクト発生座標後の連続的な検出座標が、オブジェクト発生座標から下方向を中心とした角度θの範囲に含まれる方向に存在しているかが、第１有効範囲を基に判定される。さらに、タッチオフ直前の入力座標が、オブジェクト発生座標から下方向を中心とした角度θの範囲に含まれる方向に存在しているか（さらに、実施例では、所定の距離ｄ２だけ移動したか否か）が、第２有効範囲を基に判定される。第２条件が満足されると、オブジェクト制御ステップによって、オブジェクトの一定方向への移動が開始される。したがって、オブジェクトの移動方向の同じ方向または反対方向への入力が行われた場合には、オブジェクトを一定方向へ移動させることができる。
【００２５】
請求項９の発明は、請求項１ないし８のいずれかの発明に従属し、第４条件判定ステップおよびオブジェクト消滅ステップをさらに実行させる。第４条件判定ステップは、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間において検出ステップによって検出される座標が第４条件を満たすことを判定する。オブジェクト消滅ステップは、第４条件判定ステップによって第４条件を満たすことが判定されたときに、オブジェクト発生ステップによって発生されたオブジェクトを消滅させる。
【００２６】
請求項９の発明では、第４条件判定ステップ（Ｓ１５、Ｓ２１、Ｓ２９）は、オブジェクト発生座標に続いて連続的な検出がされている間に検出される座標が第４条件を満たすか否かを判定する。第４条件は、たとえば、連続的な検出中の座標が、所定領域より外になったこととしてもよいし、所定領域より外になる前に検出がなくなった場合でもよいし、第２条件を満たしてオブジェクトの移動が開始する前に検出がなくなったこととしてもよい。なお、所定領域は、オブジェクト発生座標を基準として設定してもよい。また、オブジェクト発生座標を基準として、所定方向（一定の範囲）であることとしてもよい。さらに、検出された座標の変化量が閾値より小さい（または大きい）こと、または、検出される座標が所定時間の間変化しないことなどとしてもよい。オブジェクト消滅ステップ（Ｓ４５）は、第４条件が満足されたとき、オブジェクト発生座標からオブジェクト画像の表示を消去する。したがって、オブジェクト発生座標に続く連続的な検出の間に検出される座標が第４条件を満足したことに応じて、オブジェクトを移動させずに消滅させることができる。
【００２７】
請求項１０の発明は、請求項９の発明に従属し、第４条件判定ステップは、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間において検出ステップによって検出される座標が、オブジェクト発生座標を基準とする第２領域より外になる前に、検出ステップによる検出がなくなったことを、第４条件として判定する。
【００２８】
請求項１０の発明では、第４条件判定ステップ（Ｓ１５、Ｓ２１）は、第４条件として、連続的な検出中の座標が第２領域の範囲外になる前に検出が無くなったか否かを判定する。第２領域は、オブジェクト発生座標を基準とする所定距離以内の領域であってもよい。したがって、オブジェクト発生座標に続く連続的な検出の間に検出される座標が第２領域外になる前に検出が無くなったときには、発生しているオブジェクトを消滅させることができる。
【００２９】
請求項１１の発明は、請求項９の発明に従属し、第４条件判定ステップは、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間において検出ステップによって検出される座標が、オブジェクト発生座標を基準とする第３領域より外になったことを、第４条件として判定する。
【００３０】
請求項１１の発明では、第４条件判定ステップ（Ｓ２９）は、第４条件として、連続的な検出中の座標がオブジェクト発生座標を基準とした第３領域の範囲外になったか否かを判定する。第３領域は、たとえば、オブジェクト発生座標の周囲の所定距離内の領域と、オブジェクト発生座標から所定方向を中心とした所定範囲内の領域とを含む領域であってもよく、実施例では第１有効範囲が適用され得る。したがって、オブジェクト発生座標に続く連続的な検出の間に検出される座標が第３領域外になったときには、発生しているオブジェクトを消滅させることができる。
【００３１】
請求項１２の発明は、請求項１１の発明に従属し、オブジェクト制御ステップは、連続的な検出の後検出ステップによる検出がなくなった場合に、当該検出がなくなる直前に検出ステップによって検出された座標が、第３領域と異なるオブジェクト発生座標を基準とする第４領域内であるときに、オブジェクト発生ステップによって発生されたオブジェクトの移動を開始する。
【００３２】
請求項１２の発明では、オブジェクト制御ステップは、連続的な検出の後に検出が無しになった場合において（Ｓ３５）、検出が無くなる直前の検出座標がオブジェクト発生座標を基準とした第４領域内であると判定されるとき（Ｓ４１）、オブジェクトの移動を開始する。第４領域は、第３領域と異なる領域であり、たとえば座標がオブジェクト発生座標から所定方向に少なくとも所定距離だけ移動したと見なせるような範囲であってよく、実施例では第２有効範囲が適用され得る。したがって、連続的な検出のなくなる直前の座標が第４領域内であるときには、オブジェクトを移動させることができる。
【００３３】
請求項１３の発明は、請求項１２の発明に従属し、第３領域は、オブジェクト発生座標の全方向に存在する領域であり、第４領域は、オブジェクト発生座標の所定方向にのみ存在する領域である。
【００３４】
請求項１３の発明では、第３領域は、オブジェクト発生座標の全方向に存在する領域であり、実施例では、オブジェクト発生座標から全方向に所定距離内の領域を含む第１有効範囲が適用され得る。一方、第４領域は、オブジェクト発生座標の所定方向にのみ存在する領域であり、実施例ではオブジェクト発生座標から所定方向に所定距離だけ移動した位置から所定方向にのみ広がる第２有効範囲が適用され得る。したがって、オブジェクトの消滅条件を判定する際には、オブジェクト発生座標から全方向に存在する領域を含む範囲外になったか否かが判定されるので、たとえば手ぶれによって所定方向以外の方向が入力された場合でも、オブジェクトを消滅させないでおくことが可能になる。また、オブジェクトの移動条件を判定する際には、オブジェクト発生座標の所定方向にのみ存在する領域の範囲外になったか否かが判定されるので、所定方向への入力であるか否かを確実に判別することができる。
【００３５】
請求項１４の発明は、請求項２ないし１３のいずれかの発明に従属し、第２条件は、オブジェクト発生座標とオブジェクト発生座標に続いて検出ステップによって連続的に検出される座標のうちの少なくとも１つの座標とに基づく入力方向が所定の方向であることを含む。オブジェクト制御ステップは、第２判定ステップによって第２条件が満たされたと判定されるとき、オブジェクトを移動させる。
【００３６】
請求項１４の発明では、第２条件として、オブジェクト発生座標とこれに続く連続的な検出座標のうちの少なくとも１つの座標とに基づく入力方向が所定の方向であるか否かが判定される（Ｓ２１、Ｓ２９、Ｓ４１）。オブジェクト制御ステップ（Ｓ６１）は、入力方向が所定の方向であると判定されるときには、オブジェクトを移動させる。したがって、オブジェクト発生座標に続く所定の方向への入力によって、オブジェクトを移動させることができる。
【００３７】
請求項１５の発明は、請求項１４の発明に従属し、入力手段は表示手段に対する座標を検出するためのものである。第２条件における所定の方向と、オブジェクト制御ステップにおけるオブジェクトの移動方向とは、同じ方向または反対の方向である。
【００３８】
請求項１５の発明では、入力手段は表示手段に対する座標を検出するためのものであり、たとえば表示画面における位置を指示するためのポインティングデバイスであってよい。入力方向はオブジェクト発生座標とこれに続く連続的な検出座標のうちの少なくとも１つの座標とに基づいて決定されるので、この入力手段によって所望の方向を簡単かつ直感的に入力することができる。そして、オブジェクト発生座標に続いて所定の方向への入力があったときには、オブジェクトを当該所定の方向とは同じ方向または反対の方向へ移動させることができる。たとえば前に押す入力または後ろに引く入力に応じてオブジェクトをその同じ方向または反対方向に放つことができるので、直感的な入力操作でオブジェクトを移動させることができる。
【００３９】
請求項１６の発明は、請求項１５の発明に従属し、所定の方向は第１の方向の正成分を持つ方向であり、オブジェクトの移動方向は第１の方向と反対の方向である。つまり、オブジェクト発生座標に続いて第１の方向の正成分を持つ方向への入力があったときには、オブジェクトを第１の方向と反対方向へ移動させることができる。したがって、オブジェクト発生座標から第１の方向の正成分側という広い範囲への入力によって、簡単に第１の方向の反対方向にオブジェクトを移動させることができる。
【００４０】
請求項１７の発明は、請求項１５の発明に従属し、所定の方向は第１の方向を基準として左右に９０度未満の範囲内の方向であり、オブジェクトの移動方向は第１の方向と反対の方向である。つまり、オブジェクト発生座標に続いて第１の方向を基準として左右に９０度未満の範囲内の方向への入力があったときには、オブジェクトを第１の方向と反対方向へ移動させることができる。したがって、オブジェクト発生座標から第１の方向を基準に左右に９０度未満の範囲内という比較的広い範囲への入力によって、簡単に第１の方向の反対方向にオブジェクトを移動させることができる。
【００４１】
請求項１８の発明は、請求項２ないし１４のいずれかの発明に従属し、オブジェクト制御ステップは、オブジェクト発生座標とオブジェクト発生座標に続いて検出ステップによって連続的に検出される座標のうちの少なくとも１つの座標とに基づいて、入力手段による入力方向を決定する入力方向決定ステップ、および入力方向決定ステップによって決定された入力方向に基づいて、オブジェクトの移動方向を決定する移動方向決定ステップをさらに含み、第２判定ステップによって第２条件が満たされたと判定されるとき、移動方向決定ステップによって決定された移動方向にオブジェクトを移動させる。
【００４２】
請求項１８の発明では、入力方向決定ステップ（Ｓ９１）は、オブジェクト発生座標とオブジェクト発生座標に続いて連続的に検出される座標のうちの少なくとも１つの座標とに基づいて、入力手段による入力方向を決定する。移動方向決定ステップ（Ｓ９３）は、決定された入力方向に基づいてオブジェクトの移動方向を決定する。オブジェクト制御ステップ（Ｓ９５）は、第２条件が満足されたと判定されるとき、決定された移動方向へオブジェクトを移動させる。したがって、オブジェクト発生座標に続く入力の方向に応じて移動方向が決定されるので、入力する方向によってオブジェクトの移動方向を制御することができる。
【００４３】
請求項１９の発明は、請求項１８の発明に従属し、入力方向決定ステップは、オブジェクト発生座標と第２判定ステップによって第２条件を満たすと判定されたときの検出ステップによる検出座標とを結ぶ方向を入力方向に決定する。つまり、第１条件が満たされたときの検出座標と第２条件が満たされたときの検出座標とを結ぶ方向が入力方向として決定され、当該入力方向に基づいてオブジェクトの移動方向が決定される。したがって、ユーザは第１条件を満たす入力と第２条件を満たす入力とをそれぞれ適宜な位置で行うことによって、オブジェクトを所望の方向に移動させることができる。
【００４４】
請求項２０の発明は、請求項１８または１９の発明に従属し、移動方向決定ステップは、入力方向を反転してオブジェクトの移動方向とする。つまり、入力方向の反対方向が移動方向として決定される。したがって、オブジェクト発生座標に続く入力方向の反対の方向にオブジェクトを移動させることができる。たとえば引く入力に応じてオブジェクトをその反対方向に放つことができるので、直感的な入力操作でオブジェクトを移動させることができる。
【００４５】
請求項２１の発明は、請求項１８ないし２０のいずれかの発明に従属し、入力方向決定ステップは、第１判定ステップによって第１条件を満たすと判定されてから第２判定ステップによって第２条件を満たすと判定されるまでの期間における検出ステップによる検出座標に基づいて、当該期間ごとの入力方向を決定し、移動方向決定ステップは、期間ごとの入力方向に基づいて、期間ごとのオブジェクトの移動方向を決定し、オブジェクト発生ステップは、期間ごとに異なるオブジェクトを、当該期間に対応するオブジェクト発生座標に発生させ、オブジェクト制御ステップは、期間ごとの移動方向に当該オブジェクトを移動させる。
【００４６】
請求項２１の発明では、第１条件を満たすときから第２条件を満たすときまでの期間ごとに決定された入力方向に基づいて、移動方向が決定される。また、期間ごとに異なるオブジェクトが当該期間に対応するオブジェクト発生座標に発生され、当該期間に対応する移動方向に移動される。したがって、第１条件および第２条件を満たす入力を繰り返すことによって、簡単に複数ないし多数のオブジェクトを連続して発生させて、対応する移動方向に移動させることができる。
【００４７】
請求項２２の発明は、請求項１ないし２１のいずれかの発明に従属し、オブジェクト発生ステップは、発生座標決定ステップによる決定ごとに異なるオブジェクトを発生させる。つまり、第１条件が満足されるごとに異なるオブジェクトが発生されるので、簡単に複数ないし多数のオブジェクトを連続して発生させることができる。
【００４８】
請求項２３の発明は、請求項２ないし２２のいずれかの発明に従属し、オブジェクト発生ステップは、第２判定ステップによって第２条件を満たすと判定されたときにオブジェクトを発生させる。つまり、オブジェクト発生座標に続く連続した入力に基づいて第２条件が満足されたと判定されたときに、オブジェクトを発生させて、かつ、移動させることができる。
【００４９】
請求項２４の発明は、請求項２ないし２３のいずれかの発明に従属し、オブジェクト発生ステップは、第１判定ステップによって第１条件を満たすと判定されてから第２判定ステップによって第２条件を満たすと判定されるまでの間に、さらに、第１判定ステップによって第１条件を満たすと判定された場合には、第１条件を満たすと先に判定されたときのオブジェクト発生座標に第１のオブジェクトを発生させ、第１条件を満たすと後に判定されたときのオブジェクト発生座標に第１のオブジェクトとは異なる第２のオブジェクトを発生させる。つまり、第１条件が満たされた後、第２条件が満たされたと判定される前に再び第１条件が満たされたと判定された場合には、第１条件を満たすごとに、異なるオブジェクトを発生させることができる。したがって、簡単に複数ないし多数のオブジェクトを連続して発生させることができる。
【００５０】
請求項２５の発明は、請求項１ないし２４のいずれかの発明に従属し、プロセサに、第１判定ステップによって第１条件を満たすと判定された後、検出ステップによる検出座標がオブジェクト発生座標から所定の領域内で連続している時間を計測する時間計測ステップをさらに実行させる。オブジェクト制御ステップは、時間計測ステップによって計測される時間に応じて、オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第１特性設定ステップを含む。
【００５１】
請求項２５の発明では、時間計測ステップ（Ｓ２３）は、第１条件を満足した後の検出座標がオブジェクト発生座標から所定の領域内で連続している時間を計測する。第１特性設定ステップ（Ｓ２５、Ｓ２７）は、計測時間に応じてオブジェクトの種類データや移動パラメータを設定する。移動パラメータは、たとえば移動速度、移動方向、移動距離であってよい。したがって、オブジェクト発生座標から所定領域内への入力を継続することによって、簡単にオブジェクトの種類や移動パラメータを変化させることができる。
【００５２】
請求項２６の発明は、請求項２ないし２５のいずれかの発明に従属し、プロセサに、オブジェクト発生座標と第２判定ステップによって第２条件を満たすと判定されたときの検出ステップによる検出座標との距離を計算する距離計算ステップをさらに実行させる。オブジェクト制御ステップは、距離計算ステップによって計算される距離に応じて、オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第２特性設定ステップを含む。
【００５３】
請求項２６の発明では、距離計算ステップ（Ｓ１４１）は、オブジェクト発生座標と第２条件を満たすときの検出座標との距離を算出する。第２特性設定ステップ（Ｓ１４３）は、算出距離に応じてオブジェクトの種類データや移動パラメータを設定する。したがって、オブジェクト発生座標に対しての第２条件を満たす入力を行う位置によって、簡単にオブジェクトの種類や移動パラメータを変化させることができる。
【００５４】
請求項２７の発明は、請求項１ないし２６のいずれかの発明に従属し、オブジェクト制御ステップは、発生座標決定ステップによって決定されたオブジェクト発生座標に応じて、オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第３特性設定ステップを含む。つまり、第３特性設定ステップ（Ｓ１３１）は、オブジェクト発生座標に応じて、オブジェクトの種類データや移動パラメータを設定する。したがって、第１条件を満たす入力を行う位置によって、簡単にオブジェクトの種類や移動パラメータを変化させることができる。
【００５５】
請求項２８の発明は、請求項１ないし２７のいずれかの発明に従属し、プロセサに、射撃対象オブジェクトの発生および移動を制御する射撃対象制御ステップ、オブジェクトと射撃対象オブジェクトとの衝突判定をおこなう衝突判定ステップ、および衝突判定ステップによってオブジェクトと射撃対象オブジェクトとが衝突したと判定されたときに、射撃対象オブジェクトを消滅させる衝突ステップをさらに実行させる。
【００５６】
請求項２８の発明では、射撃対象制御ステップ（Ｓ１）は、射撃対象オブジェクト（７０）の発生および移動を制御する。衝突判定ステップ（Ｓ６７、Ｓ１０１）は、オブジェクトと射撃対象オブジェクトとが衝突するか否かを判定する。衝突ステップ（Ｓ７１、Ｓ１０９）は、衝突が起こったとき、射撃対象オブジェクトを消滅させる。したがって、たとえばオブジェクトを任意の位置に発生させて所定の移動方向に移動させることによって射撃対象オブジェクトを撃ち落とすような、戦略性の高いシューティングゲームを実現することができる。
【００５７】
請求項２９の発明は、請求項２８の発明に従属し、射撃対象制御ステップは、射撃対象オブジェクトごとに耐久力データを設定する耐久力設定ステップを含む。衝突ステップは、衝突判定ステップによってオブジェクトと射撃対象オブジェクトとが衝突したと判定されたときに、当該射撃対象オブジェクトの耐久力データの示す耐久力を減算する減算ステップを含み、減算ステップによる減算後の当該耐久力が所定の閾値以下になったときに当該射撃対象オブジェクトを消滅させる。
【００５８】
請求項２９の発明では、耐久力設定ステップ（Ｓ１）は、射撃対象オブジェクトごとに耐久力データを設定する。減算ステップ（Ｓ７５、Ｓ１０５）は、衝突が起こったとき、当該射撃対象オブジェクトの耐久力を減算する。衝突ステップは、耐久力が所定の閾値以下になったとき（Ｓ１０７）当該射撃対象オブジェクトを消滅させる。したがって、たとえば、射撃対象オブジェクトの耐久力が無くなるまで必要な数のオブジェクトを続々と発生させて衝突させるような戦略性の高いシューティングゲームを提供できる。
【００５９】
請求項３０の発明は、請求項２９の発明に従属し、第１判定ステップによって第１条件を満たすと判定された後、検出ステップによる検出座標がオブジェクト発生座標から所定の領域内で連続している時間をオブジェクトごとに計測する時間計測ステップを含む。衝突ステップは、射撃対象オブジェクトに衝突したオブジェクトに対応する時間計測ステップによって計測された時間が長いほど、当該射撃対象オブジェクトの耐久力データから減算する値を大きくする。したがって、たとえばオブジェクト発生座標から所定領域内への入力を継続することによって各オブジェクトの攻撃力を高めることができるような戦略性の高いシューティングゲームを提供できる。
【００６０】
請求項３１の発明は、請求項２９または３０の発明に従属し、オブジェクト発生座標と、第２判定ステップによって第２条件を満たすと判定されたときの検出ステップによる検出座標との距離をオブジェクトごとに計算する距離計算ステップを含む。衝突ステップは、射撃対象オブジェクトに衝突したオブジェクトに対応する距離計算ステップによって計算された距離が長いほど、当該射撃対象オブジェクトの耐久力データから減算する値を大きくする。したがって、たとえばオブジェクト発生座標からより離れた位置で第２条件を満たす入力を行うことによって各オブジェクトの攻撃力を高めることができるような戦略性の高いシューティングゲームを提供できる。
【００６１】
請求項３２の発明は、請求項２９ないし３１のいずれかの発明に従属し、衝突ステップは、射撃対象オブジェクトに衝突したオブジェクトに対応するオブジェクト発生座標に応じて、当該射撃対象オブジェクトの耐久力データから減算する値を変化させる。したがって、第１条件を満たす入力を行う位置に応じて各オブジェクトの攻撃力を変化させることができるような戦略性の高いシューティングゲームを提供できる。
【００６２】
請求項３３の発明は、請求項１ないし３２のいずれかの発明に従属し、入力手段は、表示手段の表示画面上に設置されたタッチパネルである。したがって、表示画面上を直接触るような直感的でしかも簡単な入力操作によって、任意の位置にオブジェクトを発生させて移動させることができる。
【００６３】
第２の発明（請求項３４の発明）は、入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置のオブジェクト制御プログラムである。このオブジェクト制御プログラムは、情報処理装置のプロセサに、検出ステップ、第１判定ステップ、発生座標決定ステップ、オブジェクト発生ステップ、領域外判定ステップ、オブジェクト制御ステップ、およびオブジェクト消滅ステップを実行させる。検出ステップは、入力手段によって入力された座標を検出する。第１判定ステップは、検出ステップによる検出結果に基づいて第１条件が満たされたか否かを判定する。発生座標決定ステップは、第１判定ステップによって第１条件が満たされたと判定されたときの検出ステップによる検出座標をオブジェクト発生座標に決定する。オブジェクト発生ステップは、発生座標決定ステップによって決定されたオブジェクト発生座標にオブジェクトを発生させる。領域外判定ステップは、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間において検出ステップによって検出される座標が、オブジェクト発生座標を基準とする第１領域より外になったか否かを判定する。オブジェクト制御ステップは、領域外判定ステップによって連続的な検出における座標が第１領域から外になったことが判定された後に、検出ステップによる検出がなくなったときに、オブジェクト発生ステップによって発生されたオブジェクトの移動を開始させる。オブジェクト消滅ステップは、領域外判定ステップによって連続的な検出における座標が第１領域から外になったことが判定される前に、検出ステップによる検出がなくなったときに、オブジェクト発生ステップによって発生されたオブジェクトを消滅させる。
【００６４】
請求項３４の発明は、上述の第１の発明と同様な情報処理装置（１０）のオブジェクト制御プログラムである。検出ステップ（Ｓ３、Ｓ５、Ｓ１５、Ｓ１７、Ｓ３５、Ｓ３７）は、入力手段によって入力された座標を検出する。第１判定ステップ（Ｓ３、Ｓ１２１、Ｓ１５１−Ｓ１５７、Ｓ１７１、Ｓ１７３）は、検出ステップによる検出結果に基づいて第１条件が満たされたか否かを判定する。第１条件とは、検出ステップにおいて検出がない状態から検出がある状態に変化したことや、検出がある状態が継続しているときに、検出される座標の変化量が閾値より小さい（または大きい）こと、または、検出される座標が所定時間の間変化しないことなどが考えられる。発生座標決定ステップ（Ｓ７、Ｓ１８１）は、第１条件が満たされたと判定されたときの検出座標をオブジェクト発生座標に決定する。オブジェクト発生ステップ（Ｓ９）は、決定されたオブジェクト発生座標にオブジェクトを発生させる。オブジェクト発生ステップは、たとえば、オブジェクト画像データに基づいて、オブジェクト発生座標にオブジェクト画像を表示する。また、オブジェクト発生ステップは、オブジェクト発生座標決定ステップによってオブジェクト発生座標が決定したときに、当該決定した座標にオブジェクト画像を表示してもよいし、その後適切なタイミングで（たとえばオブジェクトが移動開始するタイミングで）、当該決定した座標にオブジェクト画像を表示してもよい。領域外判定ステップ（Ｓ２１、Ｓ１８５）は、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間に検出される座標が、オブジェクト発生座標を基準とする第１領域より外になったか否かを判定する。第１領域はたとえばオブジェクト発生座標から所定距離以内の領域であってよい。オブジェクト制御ステップ（Ｓ３５、Ｓ４３、Ｓ６１、Ｓ６５、Ｓ９３、Ｓ９５、Ｓ９９）は、連続的な検出における座標が第１領域から外になったことが判定された後に、検出ステップによる検出がなくなったときに、オブジェクトの移動を開始させる。オブジェクト消滅ステップ（Ｓ１５、Ｓ４５）は、連続的な検出における座標が第１領域から外になったことが判定される前に、検出ステップによる検出がなくなったときに、オブジェクトを消滅させる。このようにして、第１条件を満たす入力によって、簡単に任意の位置にオブジェクトを発生させることができる。そして、オブジェクト発生座標に続く連続的な入力によって第１領域外の座標を入力した後に入力をオフにすることによって、発生したオブジェクトを簡単に移動させ始めることができる。また、オブジェクト発生座標に続く連続的な入力によって第１領域外の座標を入力する前に入力をオフにすることによって、発生したオブジェクトを簡単に消滅させることができる。
【００６５】
第３の発明（請求項３５の発明）は、入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置である。この情報処理装置は、検出手段、第１判定手段、発生座標決定手段、オブジェクト発生手段、およびオブジェクト制御手段を備える。検出手段は、入力手段によって入力された座標を検出する。第１判定手段は、検出手段による検出結果に基づいて第１条件が満たされたか否かを判定する。発生座標決定手段は、第１判定手段によって第１条件が満たされたと判定されたときの検出手段による検出座標をオブジェクト発生座標に決定する。オブジェクト発生手段は、発生座標決定手段によって決定されたオブジェクト発生座標にオブジェクトを発生させる。オブジェクト制御手段は、オブジェクト発生座標に続く検出手段による連続的な検出結果に基づいてオブジェクトの移動を制御する。
【００６６】
請求項３５の発明は、上述の第１の発明のオブジェクト制御プログラムに対応する情報処理装置であり、第１の発明と同様にして、簡単に任意の位置にオブジェクトを発生させてオブジェクトを移動させることができる。
【００６７】
第４の発明（請求項３６の発明）は、入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置である。この情報処理装置は、検出手段、第１判定手段、発生座標決定手段、オブジェクト発生手段、領域外判定手段、オブジェクト制御手段、およびオブジェクト消滅手段を備える。検出手段は、入力手段によって入力された座標を検出する。第１判定手段は、検出手段による検出結果に基づいて第１条件が満たされたか否かを判定する。発生座標決定手段は、第１判定手段によって第１条件が満たされたと判定されたときの検出手段による検出座標をオブジェクト発生座標に決定する。オブジェクト発生手段は、発生座標決定手段によって決定されたオブジェクト発生座標にオブジェクトを発生させる。領域外判定手段は、オブジェクト発生座標に続いて検出手段によって連続的な検出がされている間において検出手段によって検出される座標が、オブジェクト発生座標を基準とする第１領域より外になったか否かを判定する。オブジェクト制御手段は、領域外判定手段によって連続的な検出における座標が第１領域から外になったことが判定された後に、検出手段による検出がなくなったときに、オブジェクト発生手段によって発生されたオブジェクトの移動を開始させる。オブジェクト消滅手段は、領域外判定手段によって連続的な検出における座標が第１領域から外になったことが判定される前に、検出手段による検出がなくなったときに、オブジェクト発生手段によって発生されたオブジェクトを消滅させる。
【００６８】
請求項３６の発明は、上述の第２の発明のオブジェクト制御プログラムに対応する情報処理装置であり、第２の発明と同様にして、簡単に任意の位置にオブジェクトを発生させるとともに、オブジェクトの移動および消滅を簡単に制御することができる。
【発明の効果】
【００６９】
この発明によれば、第１条件を満たす入力に応じてそのときの検出座標にオブジェクトが発生され、さらに、オブジェクト発生座標に連続する入力に基づいて当該オブジェクトの移動や消滅が制御される。たとえば、発生位置を起点として、オブジェクトを特定方向または入力方向に基づく方向などに移動させることができる。このように、一連の入力によって簡単にオブジェクトを任意の位置に発生させて移動させることができる。したがって、たとえばゲームの場合には、プレイヤの入力によってオブジェクトの発生位置（移動の起点）や移動方向を自由に制御できるので、ゲームの戦略性を高めることができる。また、たとえば決定されたオブジェクト発生座標ごとに異なるオブジェクトを発生させて入力方向と同じ方向又は反対方向に移動させるような場合には、簡単かつ直感的な操作で多数のオブジェクトを連続して発生させて移動させることができるので、爽快感を生じさせ、初心者にとっても楽しめるゲームを提供できる。
【００７０】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００７１】
図１を参照して、この発明の実施例である情報処理装置１０は、一例としてゲーム装置の形態で実現される。このゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。このＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング１６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００７２】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【００７３】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａよりも横長に選ばれ、横方向の略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。また、下側ハウジング１６ｂには、音抜き孔１８が形成されるとともに、操作スイッチ２０（２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒ）が設けられる。
【００７４】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００７５】
操作スイッチないし操作キー２０は、方向指示スイッチ（十字スイッチ）２０ａ，スタートスイッチ２０ｂ、セレクトスイッチ２０ｃ、動作スイッチ（Ａボタン）２０ｄ、動作スイッチ（Ｂボタン）２０ｅ、動作スイッチ（Ｌボタン）２０Ｌおよび動作スイッチ（Ｒボタン）２０Ｒを含む。スイッチ２０ａ，２０ｂおよび２０ｃは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の左側に配置される。また、スイッチ２０ｄおよび２０ｅは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の右側に配置される。さらに、スイッチ２０Ｌおよびスイッチ２０Ｒは、それぞれ、下側ハウジング１６ｂの上端（天面）の一部であり上側ハウジング１６ａとの連結部以外の部分において、当該連結部を挟むようにして左右に配置される。
【００７６】
方向指示スイッチ（方向キー）２０ａは、ディジタルジョイスティックとして機能し、操作対象の移動方向を指示するために用いられる。つまり、４つの押圧部の１つを操作することによって、プレイヤ（ユーザ）によって操作可能なプレイヤキャラクタ（またはプレイヤオブジェクト）やカーソル等を当該操作した部分に対応する方向に移動させることができる。
【００７７】
スタートスイッチ２０ｂは、プッシュボタンで構成され、ゲームの開始（再開）、や一時停止等のために用いられる。セレクトスイッチ２０ｃは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【００７８】
動作スイッチ（動作キー）２０ｄすなわちＡボタンは、プッシュボタンで構成され、移動方向以外の動作の指示のために用いられる。たとえばプレイヤキャラクタに、打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプする、切る等の任意の動作（アクション）をさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。また、メニュー選択の際には、カーソルの表示された、すなわち、選択状態にあるメニュー項目を決定して当該項目に対応する動作ないし処理を実行させることが可能である。
【００７９】
動作スイッチ２０ｅすなわちＢボタンは、プッシュボタンで構成され、たとえばセレクトスイッチ２０ｃで選択したゲームモードの変更やＡボタン２０ｄで決定したアクションの取り消し等のために用いられる。また、Ｂボタン２０ｅも、Ａボタン２０ｄと同様に、プレイヤキャラクタの動作を指示するための動作キーとして使用され得る。
【００８０】
動作スイッチ２０Ｌ（Ｌボタン）および動作スイッチ２０Ｒ（Ｒボタン）は、プッシュボタンで構成され、Ｌボタン２０ＬおよびＲボタン２０Ｒは、上述の各動作スイッチ２０ｄ、２０ｅと同じまたは別の操作に用いることができ、また、上述の各動作スイッチ２０ｄ、２０ｅの補助的な操作に用いることができる。なお、上述のプッシュボタンは、キートップを押し下げることにより作動するスイッチとして構成されてよい。したがって、各スイッチを押し下げるという簡単な操作によって、動作指示等を行うことができる。
【００８１】
また、ＬＣＤ１４の上面には、タッチパネル２２が装着される。タッチパネル２２としては、たとえば、抵抗膜方式、光学式（赤外線方式）および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２２は、その上面をスティック２４ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２４等」という場合がある。）で、押圧したり、撫でたり、触れたり、叩いたりすることによって操作すると、スティック２４等によって指示された（つまり、タッチ入力された）位置の座標を検出して、検出した座標（検出座標）に対応する座標データを出力する。
【００８２】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル２２の検出精度（操作面）も表示画面に対応して２５６ｄｏｔ×１９２ｄｏｔとしてある。ただし、図１では、タッチパネル２２を分かり易く示すために、タッチパネル２２をＬＣＤ１４と異なる大きさで示してあるが、ＬＣＤ１４の表示画面の大きさとタッチパネル２２の操作面の大きさとは同じ大きさである。なお、タッチパネル２２の検出精度は、表示画面の解像度よりも低くてもよく、高くてもよい。
【００８３】
ＬＣＤ１２およびＬＣＤ１４には異なるゲーム画面などの表示画面が表示され得る。たとえば、レースゲームでは一方のＬＣＤに運転席からの視点による画面を表示し、他方のＬＣＤにレース（コース）全体の画面を表示することができる。また、ＲＰＧでは、一方のＬＣＤにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のＬＣＤにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のＬＣＤ（この実施例では、ＬＣＤ１２）にゲームのプレイ画面を表示し、他方のＬＣＤ（この実施例では、ＬＣＤ１４）に当該ゲームを操作するための文字情報やアイコン等の画像を含むゲーム画面（操作画面）を表示することができる。さらには、２つの表示領域（ＬＣＤ１２およびＬＣＤ１４）を合わせて１つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物（敵キャラクタ）を表示することもできる。また、ＬＣＤ１２およびＬＣＤ１４に異なる仮想ゲーム世界のゲーム画面をそれぞれ表示することもできる。
【００８４】
したがって、プレイヤはスティック２４等でタッチパネル２２を操作することにより、ＬＣＤ１４の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、文字情報、アイコン等のキャラクタ画像を指示したり、コマンドを選択したりすることができる。
【００８５】
なお、ゲームの種類によっては、その他の入力指示、たとえばＬＣＤ１４に表示されたアイコンの選択または操作、座標入力指示等に用いることもできる。
【００８６】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の上面にタッチパネル２２が設けられるので、２画面ないし２表示領域（１２，１４）と２系統の操作部（２０，２２）とを有する構成になっている。
【００８７】
また、この実施例では、スティック２４は、たとえば上側ハウジング１６ａの側面（右側面）近傍に設けられる収納部（穴ないし凹部）２６に収納することができ、必要に応じて取り出される。ただし、スティック２４を設けない場合には、収納部２６を設ける必要もない。
【００８８】
さらに、ゲーム装置１０はメモリカード（またはゲームカートリッジ）２８を含む。このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの裏面ないしは底面（下端）に設けられる挿入口３０から挿入される。図１では省略するが、挿入口３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ４６（図２参照）が設けられており、したがって、メモリカード２８が挿入口３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア４２（図２参照）がメモリカード２８にアクセス可能となる。
【００８９】
なお、図１では表現できないが、下側ハウジング１６ｂの音抜き孔１８と対応する位置であり、この下側ハウジング１６ｂの内部には、スピーカ３２（図２参照）が設けられる。
【００９０】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなども設けられる。
【００９１】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板４０を含み、この電子回路基板４０にはＣＰＵコア４２等の回路コンポーネントが実装される。ＣＰＵコア４２は、バス４４を介してコネクタ４６に接続されるとともに、ＲＡＭ４８、第１のグラフィック処理ユニット（ＧＰＵ）５０、第２のＧＰＵ５２、入出力インターフェイス回路（以下、「Ｉ／Ｆ回路」という。）５４、ＬＣＤコントローラ６０およびワイヤレス通信部６４に接続される。
【００９２】
コネコタ４６には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、互いにバスで接続され、さらに、コネクタ４６と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア４２は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができるのである。
【００９３】
ＲＯＭ２８ａは、ゲーム装置１０で実行すべきゲーム（仮想ゲーム）のためのゲームプログラム、画像（キャラクタ画像、オブジェクト画像、背景画像、アイテム画像、アイコン（ボタン）画像、メッセージ画像、カーソル画像など）データおよびゲームに必要な音（音楽）のデータ（音データ）等を予め記憶する。このゲームプログラムはこの発明にかかるオブジェクト制御プログラムを含む。ＲＡＭ（バックアップＲＡＭ）２８ｂは、そのゲームの途中データや結果データを記憶（セーブ）する。
【００９４】
また、ゲーム以外のアプリケーションが実行される場合、メモリカード２８のＲＯＭ２８ａには、当該アプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データ等が記憶される。また、必要に応じて音（音楽）データも記憶されてよい。
【００９５】
ＲＡＭ４８は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア４２は、メモリカード２８のＲＯＭ２８ａに記憶されたプログラム、画像データおよび音データ等をＲＡＭ４８にロードし、ロードしたプログラムに従って処理を実行する。また、ＣＰＵコア４２は、ゲーム等の進行に応じて発生または取得されるデータ（ゲームデータやフラグデータ等）をＲＡＭ４８に記憶しつつ処理を実行する。
【００９６】
なお、プログラム、画像データおよび音データ等は、ＲＯＭ２８ａから一度に全部または必要に応じて部分的にかつ順次的に読み出され、ＲＡＭ４８に記憶される。ただし、この実施例のように、固定的にプログラムおよびデータを記憶している記憶媒体をＣＰＵコア４２に直接接続可能なゲーム装置１０の場合には、ＣＰＵコア４２が記憶媒体に直接アクセスできるので、ＲＡＭ４８にプログラムやデータを転送して保持しなくてよい。
【００９７】
ＧＰＵ５０およびＧＰＵ５２は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア４２からのグラフィックスコマンド（graphics command ：作画命令）を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵコア４２は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ５０およびＧＰＵ５２のそれぞれに与える。
【００９８】
また、ＧＰＵ５０には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５６が接続され、ＧＰＵ５２には、第２のＶＲＡＭ５８が接続される。ＧＰＵ５０およびＧＰＵ５２が作画コマンドを実行するにあたって必要なデータ（画像データ：キャラクタデータやテクスチャ等のデータ）は、ＧＰＵ５０およびＧＰＵ５２が、それぞれ、第１のＶＲＡＭ５６および第２のＶＲＡＭ５８にアクセスして取得する。ただし、ＣＰＵコア４２は、描画に必要な画像データをＲＡＭ４８から読み出し、ＧＰＵ５０およびＧＰＵ５２を介して第１のＶＲＡＭ５６および第２のＶＲＡＭ５８に書き込む。ＧＰＵ５０はＶＲＡＭ５６にアクセスして表示のためのゲーム画像データを作成し、その画像データをＶＲＡＭ５６の描画バッファに記憶する。ＧＰＵ５２はＶＲＡＭ５８にアクセスして描画のためのゲーム画像データを作成し、その画像データをＶＲＡＭ５８の描画バッファに記憶する。描画バッファとしてはフレームバッファまたはラインバッファ等が採用されてよい。
【００９９】
ＶＲＡＭ５６およびＶＲＡＭ５８は、ＬＣＤコントローラ６０に接続される。ＬＣＤコントローラ６０はレジスタ６２を含み、レジスタ６２はたとえば１ビットで構成され、ＣＰＵコア４２の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ６０は、レジスタ６２のデータ値が「０」である場合には、ＧＰＵ５０によって作成されたゲーム画像データをＬＣＤ１２に出力し、ＧＰＵ５２によって作成されたゲーム画像データをＬＣＤ１４に出力する。一方、レジスタ６２のデータ値が「１」である場合には、ＬＣＤコントローラ６０は、ＧＰＵ５０によって作成されたゲーム画像データをＬＣＤ１４に出力し、ＧＰＵ５２によって作成されたゲーム画像データをＬＣＤ１２に出力する。
【０１００】
なお、ＬＣＤコントローラ６０は、ＶＲＡＭ５６およびＶＲＡＭ５８から直接画像データを読み出すことができるし、あるいはＧＰＵ５０およびＧＰＵ５２を介してＶＲＡＭ５６およびＶＲＡＭ５８から画像データを読み出すこともできる。
【０１０１】
また、ＶＲＡＭ５６およびＶＲＡＭ５８はＲＡＭ４８に設けられてもよいし、あるいはその描画バッファおよびＺバッファがＲＡＭ４８に設けられてもよい。
【０１０２】
Ｉ／Ｆ回路５４には、操作スイッチ２０，タッチパネル２２およびスピーカ３２が接続される。ここで、操作スイッチ２０は、上述したスイッチ２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒであり、操作スイッチ２０が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。また、タッチパネル２２から出力される操作データ（座標データ）がＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。さらに、ＣＰＵコア４２は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４８から読み出し、Ｉ／Ｆ回路５４を介してスピーカ３２からその音を出力する。
【０１０３】
ワイヤレス通信部６４は他のゲーム装置１０との間で無線によってデータを送受信するための通信手段である。すなわち、ワイヤレス通信部６４は、相手方への通信データを無線信号に変調してアンテナから送信し、また、相手方のゲーム装置１０からの無線信号を同じアンテナで受信して通信データに復調する。
【０１０４】
このゲーム装置１０では、たとえばシューティングゲームが実行され得る。図３に示すように、ゲームの初期画面では、上画面に複数の敵キャラクタ７０が所定の形状（たとえば縦横）に配列された状態で表示される。一方、下画面には上画面の敵キャラクタ７０の存在するゲーム空間と同じゲーム空間が表示される。プレイヤは下画面に重ねられたタッチパネル２２を操作することによって、弾オブジェクト７２をゲーム空間に発生させて敵キャラクタ７０へ向けて移動させ、射撃対象としての敵キャラクタ７０を撃ち落とす。
【０１０５】
この実施例では、タッチパネル２２での入力が第１の条件を満足するときに、弾オブジェクト７２の発生座標が決定されて、当該オブジェクト発生座標に弾オブジェクト７２が発生および表示される。具体的には、図４に示すように、タッチパネル２２でタッチ入力があったときに、つまり、タッチオフの状態（タッチ入力のない状態）からタッチオンの状態（タッチ入力のある状態）になったときに、最初のタッチ入力座標がオブジェクト発生座標に設定されて、当該入力座標に対応する下画面の位置に弾オブジェクト７２が発生されて表示される。このように、下画面のタッチパネル２２上の任意の位置をスティック２４等でタッチするだけで、当該位置に弾オブジェクト７２を簡単に発生させることができる。
【０１０６】
続いて、図５に示すように、最初のタッチ入力位置からタッチオン状態のままで下方向にスティック２４等がスライドされると、弾オブジェクト７２に尾ひれ７４が表示されて、弾の発射準備が完了したことが表現される。尾ひれ７４の画像は、タッチ入力位置が尾ひれ７４の先端の位置となるように変化される。
【０１０７】
その後、図６に示すように、スティック２４等がタッチパネル２２から離されたとき、つまり、タッチオフの状態にされたとき、弾オブジェクト７２は、オブジェクト発生位置から特定方向（この実施例では画面の上方向）に向かって移動される。なお、尾ひれ７４は、弾オブジェクト７２の移動に従って上方向へ延びるように変化される。そして、図７に示すように、弾オブジェクト７２が敵キャラクタ７０に衝突すると、敵キャラクタ７０にダメージが与えられる。敵キャラクタ７０の耐久力が弾オブジェクト７２の攻撃力よりも小さい場合には、敵キャラクタ７０を消滅させることができる。このように、タッチオンからタッチオフまでの一連のタッチ操作という簡単な操作によって、自由な位置に弾オブジェクト７２を発生させかつ特定方向に移動させることができる。
【０１０８】
ただし、弾オブジェクト７２の移動を起こさせるための条件（第２の条件）が設けられている。具体的には、この移動条件は、連続したタッチ入力によって入力された方向が所定の条件を満足する方向であるということを含む。入力方向は、たとえばオブジェクト発生座標に続いて連続的な検出がされている間に検出された座標の移動方向であり、オブジェクト発生座標とオブジェクト発生座標に連続して検出される座標のうちの少なくとも１つの座標とに基づいて決定される。この移動条件が満足されたときに弾オブジェクト７２は特定方向に移動される。
【０１０９】
所定条件を満足する方向は特定の第１の方向であり、この場合の移動方向は特定方向、たとえば第１の方向と反対の方向である。この実施例では、第１の方向はタッチパネル２２の重ねられたＬＣＤ１４の表示画面における下方向（真下方向）に設定される。この場合の移動方向は表示画面における上方向（真上方向）とされる。発生させた弾オブジェクト７２を引くような操作によって、その反対方向に弾オブジェクト７２を放つことができるので、弾オブジェクト７２の操作を直感的に行うことができ、プレイヤないしユーザにオブジェクト７２を放つ際のリアルな感覚を与えることができる。
【０１１０】
または、所定条件を満足する方向は第１の方向の正成分を持つ方向であってもよい。この実施例では、表示画面における下方向の正成分を持つ方向であればよく、つまり、真下方向に限られず下側へのいずれかの方向であればよい。この場合の移動方向もたとえば表示画面における真上方向とされる。第１の方向の正成分側という広い範囲への入力によって、簡単に第１の方向の反対方向にオブジェクトを移動させることができる。
【０１１１】
あるいは、所定の条件を満足する方向は第１の方向を基準としてその両側に９０度未満の広がりの範囲内の方向であってもよい。この実施例では、表示画面における真下方向を基準として左右に９０度未満の範囲内の方向であればよく、たとえば、真下方向を基準として左右両側にそれぞれ４５度未満の範囲内に含まれるいずれかの方向であればよい。この場合の移動方向も表示画面における真上方向とされる。オブジェクト発生座標から第１の方向を基準に左右に９０度未満の範囲内という比較的広い範囲への入力によって、簡単に第１の方向の反対方向にオブジェクトを移動させることができる。
【０１１２】
この実施例では、下方向と認められるような方向へ引くような操作があれば真下方向からずれていても弾オブジェクト７２を真上方向に移動させるようにしている。また、図３に示すように、この実施例では複数の敵キャラクタ７０が縦方向に配列されているので、弾オブジェクト７２の移動方向を真上方向に設定することで、敵キャラクタ７０を倒し易くすることができる。このように、発生させるオブジェクト７２の移動の目的地の位置や方向等、あるいはその移動の影響を受ける他のオブジェクト７０の存在場所（位置）、配列、形状等に一致または適応するような特定の方向に、オブジェクト７２の移動方向を設定することによって、オブジェクト７２の移動の目的の達成、ゲームやアプリケーションの進行を容易にすることができる。
【０１１３】
また、上述のように、この実施例では、入力方向が、表示画面の下方向と認められるような所定条件を満たす方向であるか否かが判定される。簡単に言い換えれば、入力方向が所定の方向であったか否か、つまり、下方向への入力が行われたか否かが判定される。
【０１１４】
詳しくは、この実施例では、まず、図８に示すように、検出される入力座標がオブジェクト発生座標（この実施例では最初のタッチ入力座標）から一定距離ｄ１の領域を超えて移動したか否かが判定される。距離ｄ１はたとえば２０ｄｏｔに設定される。この一定距離ｄ１を超える入力があったことを以って、プレイヤないしユーザによって方向の入力が行われていると解釈している。
【０１１５】
次に、入力座標とオブジェクト発生座標との距離が閾値ｄ１を超えたと判定されるときには、図９に示すように、入力座標が第１有効範囲内であるか否かが判定される。ここで、タッチパネル２２の重ねられたＬＣＤ１４の表示画面における左右方向をＸ軸方向（画面右方向をＸ軸正方向）と規定し、上下方向をＹ軸方向（画面下方向をＹ軸正方向）と規定する。第１有効範囲は、オブジェクト発生座標からＸ軸方向の正負両方向にそれぞれ一定距離ｄ１、かつ、オブジェクト発生座標からＹ軸方向の正負両方向にそれぞれ一定距離ｄ１の範囲を含む。さらに、第１有効範囲は、オブジェクト発生座標から下方向（Ｙ軸正方向）を基準として左右にそれぞれ角度θの範囲を含む。角度θはたとえば４５度に設定される。この実施例では、オブジェクト発生座標から一定距離ｄ１を超えたときからタッチオフが検出されるまでに連続的に検出された入力座標が第１有効範囲内であることを以って、所定方向（この実施例では下方向）への入力が行われていると解釈している。なお、第１有効範囲においてオブジェクト発生座標から上方向に一定距離ｄ１までの範囲は、この実施例で要求される下方向への入力とは実質的に逆側の入力に相当する。しかし、この入力方向とは逆方向の範囲を設けることによって、第１有効範囲はオブジェクト発生座標の全方向に存在する領域を含む。このような所定方向以外の領域を含むやや大きめの第１有効範囲を用いて判定することによって、ユーザの手ぶれを吸収することができる。
【０１１６】
最後に、図１０に示すように、タッチオフがあったときには、その直前の入力座標が第２有効範囲内であるか否かが判定される。つまり、オブジェクト発生座標に連続して検出される入力座標のうちの最後の座標が第２有効範囲内であるか否かが判定される。第２有効範囲は、オブジェクト発生座標からＸ軸方向の正負両方向にそれぞれ一定距離ｄ１まで、かつ、Ｙ軸方向の正方向にオブジェクト発生座標から一定距離ｄ２だけ下がった座標から一定距離ｄ１だけ下がった座標までの範囲を含む。さらに、第２有効範囲は、オブジェクト発生座標から下方向（Ｙ軸正方向）を基準として左右にそれぞれ角度θの範囲を含む。ただし、オブジェクト発生座標からＹ軸正方向に一定距離ｄ２までの範囲を除く。タッチオフ時の検出座標が最初のタッチ入力位置（オブジェクト発生座標）から少なくとも一定距離ｄ２だけは下方向に移動していることが、入力方向が下方向であると認められるための必要条件とされる。一定距離ｄ２はたとえば３ｄｏｔに設定される。なお、第２有効範囲は、所定方向への入力であることを確実にするため、上述の第１有効範囲と異なり、所定方向のみに存在する領域である。この実施例では、タッチオフ直前の入力座標が第２有効範囲内であることを以って、所定方向（この実施例では下方向）への入力が実施されたと解釈している。
【０１１７】
なお、この実施例では、弾オブジェクト７２の移動方向（上方向）と反対方向である下方向への入力が行われたか否かを判定するために、上述のようなオブジェクト発生座標から下方向へ広がる第１有効範囲および第２有効範囲を設定した。しかし、他の実施例で別の方向への入力が要求される場合には、当該別の方向へ広がる第１有効範囲および第２有効範囲が設定される。たとえば、第１有効範囲はオブジェクト発生座標から所定方向を基準としてそれぞれ角度θの範囲を含むように設けられる。また、第２有効範囲は、オブジェクト発生座標から所定方向に一定距離ｄ２までの範囲を除き、オブジェクト発生座標から所定方向を基準としてそれぞれ角度θの範囲を含むように設けられる。
【０１１８】
このように、図９の第１有効範囲と図１０の第２有効範囲の２段階で評価するようにしたので、所定方向への入力が行われたか否かを正確に判定することができる。図９の第１有効範囲は、オブジェクト発生座標を決定してからタッチオフがあるまでに連続的に検出される座標を判定するための領域であり、この第１有効範囲外への入力が検出されたときには、オブジェクトの発生がキャンセルされてオブジェクトは消滅される。言い換えれば、第１有効範囲は、発生したオブジェクトが消滅する範囲を規定するものと言える。また、図１０の第２有効範囲は、タッチオフがあったときに検出された座標（つまり、タッチオフの直前の入力座標）を判定するための領域であり、タッチオフ直前の入力座標がこの第２有効範囲内であれば、発生したオブジェクトは発射される。つまり、第２有効範囲は、オブジェクトを発射させるための範囲を規定するものと言える。
【０１１９】
なお、上述のように、この実施例では、オブジェクト発生座標を決定した後連続的な検出がされている間に検出される座標が第１有効範囲内でなくなった時点で、直ちに所定の方向への入力でなくなったと判定するようにしている。しかし、他の実施例では、連続的な検出の途中で、検出座標が所定の方向を中心とした所定の範囲の方向（第１有効範囲）に存在しなくなったときでも、たとえばタッチオフのタイミングにおいて検出される座標が当該所定の範囲の方向（第２有効範囲）に存在していれば、所定の方向への入力が行われたと判定してもよい。
【０１２０】
また、この実施例では、弾オブジェクト７２を下ないし後に引くような操作によって当該弾オブジェクト７２を上ないし前に放つようにしているので、弾オブジェクト７２の移動方向と反対方向への入力を要求している。しかし、他の実施例では、たとえば弾オブジェクト７２の移動方向と同じ方向への入力を要求するようにしてもよい。この場合には、オブジェクト発生座標からオブジェクト移動方向と同じ方向を中心としてそれぞれ所定角度の範囲の方向を含む第１有効範囲および第２有効範囲が設定される。弾オブジェクト７２を上ないし前へ押すような操作によって当該弾オブジェクト７２が上ないし前に放たれることとなる。
【０１２１】
図１１には、ＲＡＭ４８のメモリマップの一例が示される。ＲＡＭ４８はプログラム記憶領域８０およびデータ記憶領域８２を含む。なお、図１１にはメモリマップの一部のみが示されており、ゲームやアプリケーションの進行に必要な各種プログラムおよびデータが記憶される。
【０１２２】
タッチ入力検出プログラム記憶領域８４には、タッチパネル２２からの操作データ（タッチ入力データ）を検出するためのプログラムが記憶される。タッチ入力データはたとえば一定時間間隔で（たとえば１表示フレームごとに）検出される。
【０１２３】
敵キャラクタ表示制御プログラム記憶領域８６には、敵キャラクタ７０の表示を制御するためのプログラムが記憶されている。また、このプログラムによって、敵キャラクタ７０の移動、状態や配置等が制御される。敵キャラクタ７０のゲーム空間における位置座標、表示画面における表示位置座標、特性等を含む制御データもこのプログラムによって制御される。敵キャラクタ７０は、たとえば図３に示すように最初上画面に表示され、その後横方向への移動および下方向への移動を繰り返し、耐久力が０になればその場で消滅し、耐久力が０にならずに下画面の最下部に到達した場合にはそのまま画面外へ移動して消滅する。
【０１２４】
弾オブジェクト表示制御プログラム記憶領域８８には、弾オブジェクト７２の表示を制御するためのプログラムが記憶されている。また、このプログラムによって、弾オブジェクト７２の発生、移動、状態等が制御される。たとえば、弾オブジェクト７２の発生座標、ゲーム空間における位置座標、表示画面における表示位置座標、種類、移動パラメータ等を含む制御データもこのプログラムによって制御される。弾オブジェクト７２は、上述のように第１条件が満足されたときに発生され、続いて連続的に検出される座標に基づく入力方向が所定条件を満足したときには、その後の弾オブジェクト７２の位置は特定方向（上方向）に移動されるように制御される。ここで、連続的に検出される座標とは、オブジェクト発生座標が検出された後、検出がない状態とならずに、検出がある状態が継続している状態で検出された座標である。なお、検出がなくなった後一定期間が経過するまでに再び検出が有る状態となったときには、連続的な検出とみなしてもよい。弾オブジェクト７２は、敵オブジェクト７０と衝突して攻撃力が０になればその場で消滅し、攻撃力が０にならずに上画面の最上部に到達した場合にはそのまま画面外へ移動して消滅する。また、弾オブジェクト７２が消滅する前に、さらに第１条件が満足されたときには、先に生成された弾オブジェクト７２とは異なる弾オブジェクト７２がそのときのオブジェクト発生座標に発生され、続いて連続的に検出される座標に基づく入力方向が所定条件を満足したときには、後発の弾オブジェクト７２は特定方向に移動される。
【０１２５】
一定距離判定プログラム記憶領域９０には、入力座標が弾オブジェクト７２の発生座標（タッチ開始時の入力座標）から一定距離の領域（図８参照）を超えたか否かを判定するためのプログラムが記憶されている。第１有効範囲判定プログラム記憶領域９２には、一定距離判定プログラムによって入力座標が一定距離範囲を超えたと判断されるときに、入力座標がオブジェクト発生座標に基づいて設定される第１有効範囲内（図９参照）であるか否かを判定するためのプログラムが記憶されている。第２有効範囲判定プログラム記憶領域９４には、タッチオフ直前の入力座標がオブジェクト発生座標に基づいて設定される第２有効範囲内（図１０参照）であるか否かを判定するためのプログラムが記憶されている。
【０１２６】
弾パワーアップ処理プログラム記憶領域９６には、弾オブジェクト７２の種類を変更するためのプログラムが記憶されている。この実施例では、上述の一定距離領域内へのタッチ入力の継続時間が一定時間を超えた場合には、弾オブジェクト７２の種類がたとえば通常状態からパワーアップ状態に変更される。さらに、弾オブジェクト７２の種類の変更に応じて、攻撃力や移動速度などの特性も変更され、たとえば攻撃力が大きくされ、移動速度が速くされる。あるいは、入力継続時間が長いほど攻撃力や移動速度の値が大きくなるようにしてもよい。したがって、タッチ入力の継続時間が一定時間を超えた場合等には、敵キャラクタ７０と衝突したとき、当該敵キャラクタ７０の耐久力から減算される値が大きくなる。なお、この実施例では、タッチ入力の継続時間が一定時間を超えた場合には弾オブジェクト７２がパワーアップされてその攻撃力や移動速度等が増大されるが、他の実施例ではタッチ入力の継続時間が一定時間を超えた場合には、逆に弾オブジェクト７２をパワーダウンしてその攻撃力や移動速度等を減少させるようにしてもよい。また、移動速度は弾オブジェクト７２の移動を制御するためのパラメータの要素の１つであり、この弾パワーアップ処理プログラムや上述の弾オブジェクト表示制御プログラム等によって弾オブジェクト７２の移動のためのパラメータの値が制御される。当該パラメータは、移動速度の他に、たとえば移動方向、移動距離等を含んでよい。この移動パラメータに基づいて弾オブジェクト７２の移動が制御され得る。
【０１２７】
衝突判定プログラム記憶領域９８には、弾オブジェクト７２と敵キャラクタ７０とが衝突したか否かを判定するためのプログラムが記憶されている。衝突の判定は、弾オブジェクト７２の位置データと敵キャラクタ７０の位置データとに基づいて行われる。
【０１２８】
敵キャラクタ画像データ記憶領域１００には、敵キャラクタ７０を表示するための画像データが記憶されている。弾オブジェクト画像データ記憶領域１０２には、弾オブジェクト７２を表示するための画像データが記憶されている。弾オブジェクト７２の種類（通常、パワーアップなど）ごとの画像データが記憶されている。尾ひれ画像データ記憶領域１０４には、弾オブジェクト７２の画像に付加される尾ひれ７４を表示するための画像データが記憶されている。
【０１２９】
タッチ入力履歴記憶領域１０６には、タッチ入力検出プログラムによって検出されるタッチ入力データの履歴が記憶される。たとえば、今回および前回のフレームにおけるタッチ入力の有無を示すデータおよび検出された座標データが記憶される。
【０１３０】
最初のタッチ入力座標記憶領域１０８には、タッチ入力が開始されたときに検出された座標データが記憶される。最後のタッチ入力座標記憶領域１１０には、連続するタッチ入力の最後に検出された座標データが記憶される。タッチオン時刻記憶領域１１２には、タッチ入力が開始されたときの時刻データが記憶される。
【０１３１】
敵制御データ記憶領域１１４には、各敵キャラクタ７０の制御データが記憶される。この制御データは、耐久力（体力）や種類等を示す特性データ、位置座標データ等を含む。敵キャラクタ７０の耐久力は、その種類に応じて異なるものであってもよいし、種類ではなく個別に異なるものであってもよい。
【０１３２】
弾制御データ記憶領域１１６には、弾オブジェクト７２の制御データが記憶される。複数の弾オブジェクト７２が発生されている場合には、各弾オブジェクト７２に対応付けて各制御データが記憶される。この制御データは、種類、攻撃力、移動速度等を示す特性データ、位置座標データ、発生座標データ等を含む。この実施例では、たとえば図１２に示すように、弾オブジェクト７２の種類に対応付けて、攻撃力および移動速度等の特性値を示す弾特性テーブルデータが予めＲＯＭ２８ａに記憶されている。弾オブジェクト７２の種類が通常状態に設定される場合には、通常の攻撃力および通常の移動速度が設定され、パワーアップ状態に設定される場合には、大きい攻撃力および速い移動速度が設定される。
【０１３３】
図１３および図１４に、この実施例のゲーム装置１０の動作の一例が示される。図１３の最初のステップＳ１で、ＣＰＵコア４２は、敵キャラクタ７０を表示する。具体的には、ＣＰＵコア４２は、ＧＰＵ５０または５２を用いて、敵キャラクタ画像データおよび敵制御データ等に基づいて敵キャラクタ７０を含むゲーム画面のデータをＶＲＡＭ５６または５８に生成し、ＬＣＤコントローラ６０を用いて当該敵キャラクタ７０を含むゲーム画面をＬＣＤ１２に表示する。なお、このステップＳ１では、各敵キャラクタ７０の耐久力データおよび位置座標データ等を含む敵制御データの初期値がＲＯＭ２８ａから読み出されて敵制御データ記憶領域１１４に記憶（設定）される。
【０１３４】
次に、ステップＳ３でＣＰＵコア４２はタッチ入力があるか否かを判断する。たとえば、ＣＰＵコア４２はＩ／Ｆ回路５４のバッファからタッチパネル２２の操作データを取得してタッチオン状態を示すデータの有無を検出する。詳しくは、ここでは、タッチオフ状態（タッチパネル２２への入力が無い状態）からタッチオン状態（タッチパネル２２への入力がある状態）になったか否かを判定している。つまり、この実施例における弾オブジェクト７２を発生させるための第１条件の判定である。ステップＳ３で“ＮＯ”であれば、処理はステップＳ１へ戻って、敵キャラクタ７０の表示を更新する。
【０１３５】
一方、ステップＳ３で“ＹＥＳ”であれば、つまり、第１条件が満足されたときには、ＣＰＵコア４２は、ステップＳ５でタッチ入力座標をタッチパネル２２の操作データから検出して、タッチ入力履歴記憶領域１０６に記憶する。なお、タッチ入力履歴記憶領域１０６には、座標データだけでなくタッチオンまたはタッチオフを示すデータを記憶してもよい。
【０１３６】
そして、ステップＳ７で、ＣＰＵコア４２は、検出座標を最初のタッチ入力座標記憶領域１０８に保存する。この第１条件が満足されたときの入力座標が当該弾オブジェクト７２の発生座標に決定され、弾制御データ記憶領域１１６の当該弾オブジェクト７２のオブジェクト発生座標としても記憶される。
【０１３７】
さらに、ステップＳ９で、ＣＰＵコア４２は、当該入力位置（発生座標）に弾オブジェクト７２を表示する。具体的は、ＣＰＵコア４２は、ＧＰＵ５０または５２を用いて、弾オブジェクト画像データおよび弾制御データ等に基づいて、弾オブジェクト７２を含むゲーム画面のデータをＶＲＡＭ５６または５８に生成し、ＬＣＤコントローラ６０等を用いて、当該弾オブジェクト７２を含むゲーム画面をＬＣＤ１４に表示する。弾オブジェクト７２の画像としては通常状態を示す画像データが使用される。
【０１３８】
また、ＣＰＵコア４２は、ステップＳ１１で、当該第１条件が満足されたときの時刻情報を図示しない時計ＩＣから取得してタッチオン時刻記憶領域１１２に記憶する。
【０１３９】
続いて、ステップＳ１３で、ＣＰＵコア４２は、弾オブジェクト７２が降りてくる敵キャラクタ７０と接触したか否かを、当該弾オブジェクト７２の位置データと敵キャラクタ７０の位置データとに基づいて判定する。なお、ステップＳ１３で“ＹＥＳ”であれば当該弾オブジェクト７２を消滅すべく、処理は図１４のステップＳ４５へ進む。
【０１４０】
ステップＳ１３で“ＮＯ”であれば、ステップＳ１５で、ＣＰＵコア４２は、Ｉ／Ｆ回路５４のバッファからタッチ入力データを取得して、タッチ入力が無くなったか否かを判断する。つまり、タッチオフ状態を示すデータの有無を検出する。なお、ステップＳ１３で“ＹＥＳ”であれば、弾オブジェクト７２の発射がキャンセルされたものと見なして、処理は図１４のステップＳ４５へ進む。
【０１４１】
ステップＳ１５で“ＮＯ”であれば、つまり、タッチ入力が継続されている場合には、ＣＰＵコア４２は、ステップＳ１７で、ステップＳ５と同様にして、タッチ入力座標を検出してタッチ入力履歴記憶領域１０６に記憶する。
【０１４２】
続くステップＳ１９で、ＣＰＵコア４２は、今回のフレームで検出された入力座標と最初のタッチ入力座標記憶領域１０８に記憶されている最初の座標との間の距離を算出する。そして、ステップＳ２１で、ＣＰＵコア４２は、算出された距離が一定距離を超えたか否かを判断する。つまり、タッチオン時の入力座標（オブジェクト発生座標）から一定距離範囲（図８）外がタッチされているか否かを判断する。
【０１４３】
ステップＳ２１で“ＮＯ”であれば、つまり、タッチ入力開始時の座標から一定距離範囲内がタッチされ続けている場合には、ＣＰＵコア４２は、ステップＳ２３で、タッチオン時刻記憶領域１１２に記憶されている入力開始時の時刻と時計ＩＣから取得した現在の時刻とに基づいて、入力継続時間を計測する。そして、ステップＳ２５で、ＣＰＵコア４２は、入力継続時間が一定時間を超えたか否か、つまり、一定時間が経過したか否かを判断する。ステップＳ２５で“ＮＯ”であれば、処理はそのままステップＳ１３に戻る。
【０１４４】
ステップＳ２５で“ＹＥＳ”であれば、つまり、オブジェクト発生座標から一定距離範囲内で一定時間以上タッチされ続けた場合には、ＣＰＵコア４２は、ステップＳ２７で、当該弾オブジェクト７２の種類を変更する。具体的には、当該弾オブジェクト７２の弾制御データに含まれる種類データを、通常を示すデータからパワーアップを示すデータに更新する。これによって、当該弾オブジェクト７２の攻撃力データが通常値から大きい値に変更され、また、移動速度データが通常値から速い値に変更される。したがって、検出座標がオブジェクト発生座標から一定距離の領域内で連続している時間が長いほど、攻撃力が大きくされるので、衝突した敵キャラクタ７０の耐久力から減算される値が大きくなる。さらにまた、弾オブジェクト７２の画像が、通常状態の画像からパワーアップ状態の画像に変更され、当該パワーアップ状態の弾オブジェクト７２がオブジェクト発生座標に表示されたゲーム画面が生成されてＬＣＤ１４に表示される。ステップＳ２７を終了すると処理はステップＳ１３に戻る。
【０１４５】
一方、ステップＳ２１で“ＹＥＳ”であれば、つまり、オブジェクト発生座標から一定距離の範囲外にタッチ入力位置が移動した場合には、処理は図１４のステップＳ２９へ進む。
【０１４６】
この実施例では、タッチオン時の入力座標とこれに連続して検出される座標に基づいて決まる入力方向が所定の方向（下方向）であるか否かをこのステップＳ２１ならびに後述するステップＳ２９およびステップＳ４１で判定している。
【０１４７】
図１４のステップＳ２９では、ＣＰＵコア４２は、一定距離範囲外になったと判定されたときの入力座標が第１有効範囲内であるか否かを判断する。第１有効範囲は、上述のように、図９に示すようなタッチ入力開始時の入力座標と定数ｄ１，θとに基づいて算定される領域であり、この実施例では下方向への入力が行われようとしていることを検出可能なように規定されている。なお、ステップＳ２９で“ＮＯ”であれば、下方向への入力ではないものと見なして、処理はステップＳ４５へ進む。
【０１４８】
ステップＳ２９で“ＹＥＳ”であれば、つまり、下方向への入力が行われようとしていることが検出された場合には、ＣＰＵコア４２は、ステップＳ３１で、ＧＰＵ５０または５２およびＬＣＤコントローラ６０等を用いて、弾オブジェクト７２に隣接して尾ひれ７４の画像をＬＣＤ１４に表示する。なお、尾ひれ７４は先端が現在の入力座標の位置になるように表示される。
【０１４９】
ステップＳ３３では、弾オブジェクト７２が降りてくる敵キャラクタ７０と接触したか否かを上述のステップＳ１３と同様にして判断する。ステップＳ３３で“ＹＥＳ”であれば処理はステップＳ４５へ進む。
【０１５０】
ステップＳ３３で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ３５でタッチ入力が無くなったか否かを上述のステップＳ１５と同様にして判定する。ステップＳ３５で“ＮＯ”であれば、つまり、タッチ入力が継続されている場合には、ＣＰＵコア４２は、ステップＳ３７で、上述のステップＳ５と同様にして、タッチ入力座標を検出してタッチ入力履歴記憶領域１０６に記憶する。ステップＳ３７を終了すると処理はステップＳ２９へ戻る。このようにして、タッチ入力が無くなるまで、下方向への入力とみなせる第１有効範囲内への入力が継続されているか否かを検出する。第１有効範囲外への入力があったときには、つまり、下方向への入力が行われていないとみなせるときには、弾オブジェクト７２の発射がキャンセルされることとなる。
【０１５１】
一方、ステップＳ３５で“ＹＥＳ”であれば、つまり、タッチオフ操作が検出されたときには、ＣＰＵコア４２は、ステップＳ３９で、タッチ入力履歴記憶領域１０６に記憶されているタッチオフ直前に検出されたタッチ入力座標を、最後のタッチ入力座標記憶領域１１０に保存する。
【０１５２】
そして、ステップＳ４１で、タッチオフ直前の入力座標すなわち最後のタッチ入力座標が第２有効範囲内であるか否かを判断する。第２有効範囲は、上述のように、図１０に示すようなタッチ入力開始時の入力座標と定数ｄ１，ｄ２，θとに基づいて算定される領域であり、この実施例では、下方向への入力が完了されたことを検出可能なように規定されている。
【０１５３】
ステップＳ４１で“ＹＥＳ”であれば、つまり、下方向への入力が行われたと判定される場合には、ＣＰＵコア４２は、続くステップＳ４３で、弾オブジェクト移動処理を開始する。ＣＰＵコア４２は弾オブジェクト移動処理を他の処理（図１３および図１４など）と並列的に実行する。この弾オブジェクト移動処理によって弾オブジェクト７２の移動や敵キャラクタ７０との衝突のゲーム処理などが実行される。このように、タッチ入力の検出、弾オブジェクト７２の発生および入力方向の判定等の処理と、弾オブジェクト移動処理とが並列的に実行される。また、弾オブジェクト移動処理は、発生された弾オブジェクト７２ごとに実行され、複数の弾オブジェクト移動処理を並列的に実行することが可能である。したがって、先に発生した弾オブジェクト７２のための弾オブジェクト移動処理によって当該先発の弾オブジェクト７２が移動している最中にタッチオンが検出されたときには、別の弾オブジェクト７２が発生される。さらに発射条件が満足されたときには、当該後発の弾オブジェクト７２のための弾オブジェクト移動処理が実行されることとなる。弾オブジェクト処理の動作の一例が後述する図１５に詳細に示される。
【０１５４】
ステップＳ４１で“ＮＯ”であれば、つまり、第２有効範囲外でタッチオフ操作がなされたときには、下方向への入力が行われなかったものと見なして、処理はステップＳ４５へ進む。ステップＳ４５では、ＣＰＵコア４２は、当該弾オブジェクト７２をゲーム画面から消滅させる。つまり、たとえば、ＣＰＵコア４２は、弾制御データ記憶領域１１６に記憶されている当該弾オブジェクト７２に対応する制御データをクリアする。また、ＣＰＵコア４２は、ＧＰＵ５０または５２を用いて、当該弾オブジェクト７２や尾ひれ７４の無いゲーム画面を生成して、ＬＣＤコントローラ６０等を用いて当該ゲーム画面をＬＣＤ１４に表示する。
【０１５５】
ステップＳ４３で移動処理を開始し、またはステップＳ４５を終了すると、ＣＰＵコア４２は、ステップＳ４７でゲーム終了であるか否かを判断する。ステップＳ４７で“ＮＯ”であれば処理は図１３のステップＳ１に戻って当該ゲームの処理を続行する。したがって、先の弾オブジェクト７２が消滅するまでに再びタッチ入力が開始されて所定の条件を満たす方向が入力された場合には、先の弾オブジェクト７２とは別の弾オブジェクト７２が発生されて特定方向に移動される。一方、ステップＳ４７で“ＹＥＳ”であればこのゲーム処理を終了する。
【０１５６】
図１５には、図１４のステップＳ４３で開始される弾オブジェクト移動処理の動作の一例が示される。図１５の最初のステップＳ６１で、ＣＰＵコア４２は、弾オブジェクト７２を特定方向に移動させる。特定方向は、この実施例では入力方向である下方向の反対方向である上方向に固定されている。たとえば、ＣＰＵコア４２は、当該弾オブジェクト７２の移動後の位置座標（一定時間（１フレーム）後の位置座標）を、弾制御データ記憶領域１１６に記憶されている位置座標と移動速度に基づいて算出する。
【０１５７】
続いて、ステップＳ６３で、ＣＰＵコア４２は、移動後の位置が表示画面に表示される範囲外であるか否かを判断する。ステップＳ６３で“ＹＥＳ”であれば処理はステップＳ７７に進む。
【０１５８】
ステップＳ６３で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ６５で、移動後の位置に弾オブジェクト７２を表示する。たとえば、ＣＰＵコア４２は、弾制御データ記憶領域１１６の当該弾オブジェクト７２に対応する位置データを、ステップＳ６１で算出した移動後の位置座標に更新する。そして、ＣＰＵコア４２は、移動後の位置に弾オブジェクト７２を表示するゲーム画面のデータを生成してＬＣＤ１２または１４に表示する。
【０１５９】
続いて、ステップＳ６７で、ＣＰＵコア４２は、弾オブジェクト７２が敵キャラクタ７０と衝突するか否かを、当該弾オブジェクト７２の位置データと敵キャラクタ７０の位置データとに基づいて判断する。たとえば、弾オブジェクト７２と各敵キャラクタ７０との距離が閾値以下になったか否かを判定したり、弾オブジェクト７２の位置座標が敵キャラクタ７０のいずれかの表示領域に含まれるか否かを判定したりする。ステップＳ６７で“ＮＯ”であれば、処理はステップＳ６１に戻る。
【０１６０】
一方、ステップＳ６７で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ６９で、弾オブジェクト７２の攻撃力が衝突する敵キャラクタ７０の耐久力以下であるか否かを、弾オブジェクト７２の攻撃力データと衝突する敵キャラクタ７０の耐久力データによって判断する。
【０１６１】
ステップＳ６９で“ＮＯ”であれば、つまり、弾オブジェクト７２の攻撃力が勝る場合には、ＣＰＵコア４２は、ステップＳ７１で衝突する敵キャラクタ７０を消滅させる。たとえば、ＣＰＵコア４２は、敵制御データ記憶領域１１４に記憶されている当該衝突する敵キャラクタ７０に対応する制御データをクリアする。また、ＣＰＵコア４２は、当該敵キャラクタ７０が爆発して無くなるゲーム画面のデータを生成して、当該ゲーム画面をＬＣＤ１２または１４に表示する。
【０１６２】
また、ステップＳ７３で、ＣＰＵコア４２は、弾オブジェクト７２の攻撃力から衝突した敵キャラクタ７０の耐久力を減算して、当該弾オブジェクト７２の攻撃力データを算出された値に更新する。ステップＳ７３を終了すると処理はステップＳ６１へ戻る。
【０１６３】
一方、ステップＳ６９で“ＹＥＳ”であれば、つまり、衝突する敵キャラクタ７０の耐久力が勝る場合には、ＣＰＵコア４２は、ステップＳ７５で、当該敵キャラクタ７０の耐久力から当該弾オブジェクト７２の攻撃力を減算して、当該敵キャラクタ７０の耐久力データを算出された値に更新する。
【０１６４】
そして、ステップＳ７７で、ＣＰＵコア４２は、上述のステップＳ４５と同様にして、当該弾オブジェクト７２を、表示画面外へまたは衝突した場所で消滅させる。ステップＳ７７を終了すると、この弾オブジェクト移動処理を終了する。
【０１６５】
この実施例によれば、タッチ入力が開始されたことによってその入力の開始位置に弾オブジェクト７２を発生させるようにし、さらに、連続して検出される入力が所定の第１の方向（たとえば下方向）への入力であると判定されたときには、特定方向（たとえば第１の方向の反対方向）に当該弾オブジェクト７２を移動させるようにした。このように、タッチオンからタッチオフまでの一連の連続的な入力という簡単な操作によって、弾オブジェクト７２を任意の位置に発生させることができるとともに、その発生位置を起点として当該弾オブジェクト７２を特定方向に移動させることができる。したがって、たとえばシューティングゲームなどの戦略性を高めることができる。さらに、簡単かつ直感的な操作で多数の弾オブジェクト７２を連続して発生させて移動させることができるので、爽快感を得ることができ、初心者にとっても簡単に楽しめるゲームを提供することができる。
【０１６６】
なお、上述の実施例では、ステップＳ２１で、オブジェクト発生座標に続いて連続的に検出される座標が、オブジェクト発生座標から所定の距離範囲外になったと判定された場合に、ステップＳ４３で弾オブジェクト移動処理を起動するようにしている。また、ステップＳ２９で、オブジェクト発生座標に続いて連続的に検出される座標が第１有効範囲内である、つまり、連続的に検出される座標の移動方向がたとえばオブジェクト発生座標を基準として所定方向であると判定される場合に、ステップＳ４３で弾オブジェクト移動処理を起動するようにしている。つまり、オブジェクト発生座標に続く連続的な検出の間に検出される座標が所定条件（第３条件）を満足することが判定されたことを条件として、弾オブジェクト７２の移動制御を実行するようにしている。しかし、この所定条件（第３条件）は適宜変更されてよい。たとえば、第３条件は、連続的に検出される座標の変化量が閾値より小さい（または大きい）こと（すなわち、入力座標の移動速度が所定の閾値より小さいまたは大きいこと）、あるいは、連続的に検出される座標が所定時間の間変化しないこと(すなわち、入力座標が所定時間停止していること）などとしてもよい。
【０１６７】
また、上述の各実施例では、オブジェクト発生座標に続いて連続的に検出される座標が、ステップＳ２１でオブジェクト発生座標から所定の距離範囲外になったと判定される前に、ステップＳ１５で検出がなくなったと判定される場合には、発生している弾オブジェクト７２の移動制御をキャンセルし、ステップＳ４５で弾オブジェクト７２を消滅させるようにしている。また、ステップＳ２９でオブジェクト発生座標に続いて連続的に検出される座標が所定領域（第１有効範囲）の範囲外になったと判定される場合、または、ステップＳ４１で連続検出の最後の座標が所定領域（第２有効範囲）の範囲外になったと判定される場合、つまり、連続的に検出される座標の移動方向がたとえばオブジェクト発生座標を基準として所定方向であるとは認められる範囲ではなくなったと判定される場合には、発生している弾オブジェクト７２をステップＳ４５で消滅させて移動させないようにしている。このように、オブジェクト発生座標に続く連続的な検出の間に検出される座標が所定条件（第４条件）を満足することが判定されたときには、弾オブジェクト７２を消滅させるようにしている。しかし、この所定条件（第４条件）は適宜変更されてよい。たとえば、第４条件は、第２条件を満たしてオブジェクトの移動が開始する前に検出がなくなったこととしてもよい。また、第４条件は、連続的に検出される座標の変化量が閾値より小さい（または大きい）こと、あるいは、連続的に検出される座標が所定時間の間変化しないことなどとしてもよい。
【０１６８】
また、上述の各実施例では、所定の条件を満たすような所定の方向が入力されたときに特定方向へ弾オブジェクト７２を移動させるようにしていた。しかし、次に示す他の実施例のように、入力方向に基づいて移動方向を決定して、当該移動方向に弾オブジェクト７２を移動させるようにしてもよい。
【０１６９】
図１６には、他の実施例でのメモリマップの一例が示される。プログラム記憶領域８０は、タッチ入力検出プログラム記憶領域８４、敵キャラクタ表示制御プログラム記憶領域８６、弾オブジェクト表示制御プログラム記憶領域８８、一定距離判定プログラム記憶領域９０、入力方向決定プログラム記憶領域１１８、弾移動方向決定プログラム記憶領域１２０、衝突判定プログラム記憶領域９８等を含む。また、データ記憶領域８２は、敵キャラクタ画像データ記憶領域１００、弾オブジェクト画像データ記憶領域１０２、尾ひれ画像データ記憶領域１０４、タッチ入力履歴記憶領域１０６、最初のタッチ入力座標記憶領域１０８、最後のタッチ入力座標記憶領域１１０、敵制御データ記憶領域１１４、弾制御データ記憶領域１１６等を含む。なお、上述の実施例（図１１）と重複する部分の説明は省略する。
【０１７０】
入力方向決定プログラム記憶領域１１８には、入力された方向を決定または検出するためのプログラムが記憶されている。入力方向は、オブジェクト発生座標に続けて検出される座標のうちの少なくとも１つの座標とオブジェクト発生座標とに基づいて決定される。オブジェクト発生座標は、上述の実施例と同様に、第１の条件が満足されたと判定されたときに検出される入力座標であり、つまり、実施例ではタッチ入力開始時の入力座標である。入力方向は、具体的には、第１の条件を満たすと判定されてから第２の条件を満たすと判定されるまでの期間に検出された座標に基づいて決定される。この実施例では、オブジェクト発生座標と、当該オブジェクト発生座標に連続して検出される入力座標が第２の条件を満足すると判定されたときの検出座標とを結ぶ方向を入力方向として決定する。たとえば、第２の条件は、オブジェクト発生座標から一定距離範囲外の座標が入力された後にタッチオフ状態になることである。したがって、この実施例では、タッチオン時の入力座標とタッチオフ直前の入力座標とを結ぶ方向が入力方向である。
【０１７１】
移動方向決定プログラム記憶領域１２０には、入力方向に基づいて弾オブジェクト７２の移動方向を決定するためのプログラムが記憶されている。この実施例では、入力方向を反転した方向が移動方向として設定される。なお、入力方向に基づく移動方向は反対方向に限られず、たとえば所定角度回転された方向であってもよい。
【０１７２】
このように、移動方向は、固定方向ではなく入力方向に基づいて決定されるので、弾オブジェクト７２ごとに異なる方向になり得る。したがって、弾制御データ記憶領域１１６には、弾オブジェクト７２ごとに、この移動方向決定プログラムによって決定された移動方向データが位置データおよび発生座標データ等とともに記憶される。
【０１７３】
また、弾オブジェクト表示制御プログラムは、弾オブジェクト７２ごとの移動方向に基づいて、当該弾オブジェクト７２の移動を制御し、その位置座標等の制御データを更新する。弾オブジェクト７２は、たとえば上述の第２の条件を満足すると判定されたときに、その移動方向に移動される。また、上述の実施例と同様に、先に発生した弾オブジェクト７２が消滅するまでに再び第１の条件と第２の条件が満足されたときには、別の弾オブジェクト７２が発生および移動される。したがって、複数の弾オブジェクト７２を同時にゲーム画面に表示することが可能であり、各弾オブジェクト７２は異なる発生座標に発生されて異なる方向に移動され得る。
【０１７４】
図１７には、他の実施例のゲーム装置１０の動作の一例が示される。なお、図１７では、上述の実施例の図１３および図１４と同様な処理ステップには同じ参照符号を付してある。ここでは、各ステップの詳細な説明を省略し、上述の実施例と異なる動作の流れを簡単に説明する。
【０１７５】
図１７のステップＳ１で、ＣＰＵコア４２は、敵キャラクタ７０をたとえばＬＣＤ１２に表示する。なお、この他の実施例では、敵キャラクタ７０は横方向に移動するのみで下方向に降りてくることはない。次に、ステップＳ３でＣＰＵコア４２はタッチパネル２２の操作データに基づいてタッチ入力があるか否かを判定する。ステップＳ３で“ＮＯ”であれば処理はステップＳ１に戻る。
【０１７６】
ステップＳ３で“ＹＥＳ”であれば、つまり、タッチ入力が開始されたときには、ＣＰＵコア４２は、ステップＳ５で操作データからタッチ入力座標を検出してタッチ入力履歴記憶領域１０６に記憶し、ステップＳ７で最初のタッチ入力座標記憶領域１０８に当該入力座標を記憶する。そして、ＣＰＵコア４２はステップＳ９で入力位置に弾オブジェクト７２を配したゲーム画面をＬＣＤ１４に表示する。
【０１７７】
続いて、ステップＳ１５で、ＣＰＵコア４２はタッチ入力が無くなったか否かを判断し、“ＹＥＳ”であれば入力がキャンセルされたものと見なしてステップＳ４５で当該弾オブジェクトを消滅させて、処理はステップＳ４７へ進む。
【０１７８】
一方、ステップＳ１５で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ１７でタッチ入力座標を検出し、ステップＳ１９で現在の入力座標と最初のタッチ入力座標との距離を算出し、ステップＳ２１で距離が一定距離を超えたか否かを判断する。ステップＳ２１で“ＮＯ”であれば処理はステップＳ１５へ戻る。
【０１７９】
なお、この実施例は、弾オブジェクト７２の種類が一定である場合を例にとって説明しているが、その変形例では、たとえば上述の図１３のステップＳ２３−Ｓ２７と同様にして、入力継続時間に応じて弾オブジェクト７２の種類、攻撃力、移動速度等の特性を変更するようにしてもよい。
【０１８０】
ステップＳ２１で“ＹＥＳ”であれば、方向の入力が行われていると見なして、ＣＰＵコア４２は、ステップＳ３１で尾ひれ７４の画像を弾オブジェクト７２に隣接して表示し、発射準備完了であることを表現する。そして、ステップＳ３５で、ＣＰＵコア４２は、タッチ入力が無くなったか否かを判断し、“ＮＯ”であれば処理はステップＳ３１へ戻る。
【０１８１】
一方、ステップＳ３５で“ＹＥＳ”であれば、つまり、タッチオフ状態になったときには、ＣＰＵコア４２はステップＳ３９でタッチオフ直前の入力座標をタッチ入力履歴記憶領域１０６から読み出して最後のタッチ入力座標記憶領域１１０に記憶する。そして、ステップＳ４３で、ＣＰＵコア４２は弾オブジェクト移動処理を開始する。この他の実施例の弾オブジェクト移動処理の動作は後述する図１８に詳細に示される。弾オブジェクト移動処理を開始すると、処理はステップＳ４７に進む。
【０１８２】
ステップＳ４７ではＣＰＵコア４２はゲーム終了か否かを判断し、“ＮＯ”であれば処理はステップＳ１に戻り、“ＹＥＳ”であればこのゲーム処理を終了する。
【０１８３】
図１８には図１７のステップＳ４３で開始される弾オブジェクト移動処理の動作の一例が示される。図１８の最初のステップＳ９１で、ＣＰＵコア４２は、最初のタッチ入力座標記憶領域１０８の座標と最後のタッチ入力座標記憶領域１１０の座標からタッチ入力方向を計算する。算出される入力方向は、この実施例では最初のタッチ入力座標と最後のタッチ入力座標とを結ぶ方向である。
【０１８４】
次に、ステップＳ９３で、ＣＰＵコア４２は、入力方向と逆の方向を算出して、当該算出した方向を弾オブジェクト７２の移動方向として決定し、当該弾オブジェクト７２の移動方向データとして弾制御データ記憶領域１１６に記憶する。
【０１８５】
続いて、ステップＳ９５で、ＣＰＵコア４２は弾オブジェクト７２を移動方向に移動させる。具体的には、弾制御データ記憶領域１１６に記憶されている当該弾オブジェクト７２の位置座標、移動方向および移動速度に基づいて、移動後の位置座標（１フレーム後の位置座標）を算出する。
【０１８６】
そして、ステップＳ９７で、ＣＰＵコア４２は、移動後の位置が表示範囲外であるか否かを判断する。ステップＳ９７で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ９９で、上述のステップＳ６５と同様にして、移動後の位置に弾オブジェクト７２を表示する。  続いて、ステップＳ１０１で、ＣＰＵコア４２は、上述のステップＳ６７と同様にして、弾オブジェクト７２が敵キャラクタ７０と衝突するか否かを判断する。ステップＳ１０１で“ＮＯ”であれば、処理はステップＳ９５に戻る。
【０１８７】
一方、ステップＳ１０１で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１０３で、上述のステップＳ７７と同様にして、当該弾オブジェクト７２を敵キャラクタ７０と衝突した位置で消滅させる。なお、この他の実施例では、弾オブジェクト７２の攻撃力が敵キャラクタ７０の耐久力と同等以下であることが前提となっており、弾オブジェクト７２は衝突すると必ず消滅する。
【０１８８】
続いて、ステップＳ１０５で、ＣＰＵコア４２は、衝突する敵キャラクタ７０の耐久力から弾オブジェクト７２の攻撃力を減算して、当該敵キャラクタ７０の耐久力データを算出された値に更新する。
【０１８９】
そして、ステップＳ１０７で、ＣＰＵコア４２は敵の耐久力がゼロになったか否かを判断する。ステップＳ１０７で“ＹＥＳ”であれば、ＣＰＵコア４２はステップＳ１０９で上述のステップＳ７１と同様にして、衝突する敵キャラクタ７０を消滅させる。
【０１９０】
一方、ステップＳ９７で“ＹＥＳ”であれば、つまり、弾オブジェクト７２が敵キャラクタ７０と衝突することなく表示範囲外へ移動した場合には、ＣＰＵコア４２は、ステップＳ１１１で、上述のステップＳ７７と同様にして、当該弾オブジェクト７２を消滅させる。ステップＳ１０９またはＳ１１１を終了すると、あるいはステップＳ１０７で“ＮＯ”である場合には、この弾オブジェクト移動処理を終了する。
【０１９１】
この実施例によれば、タッチ入力の開始位置に弾オブジェクト７２を発生させ、オブジェクト発生座標とこれに連続して検出される座標とに基づいて入力方向を決定し、当該入力方向に基づいて弾オブジェクト７２の移動方向を決定し、当該移動方向に弾オブジェクト７２を移動させるようにした。このように、簡単な操作で、弾オブジェクト７２を任意の位置に発生させることができるとともに、その位置を起点として当該弾オブジェクト７２を任意の方向に移動させることができる。したがって、上術の実施例と同様に、シューティングゲームなどの戦略性を高めることができる。さらに、簡単かつ直感的な操作で多数の弾オブジェクト７２を連続して発生させて所望の方向に移動させることができるので、爽快感を得ることができ、初心者にとっても簡単に楽しめるゲームを提供することができる。
【０１９２】
なお、上述の各実施例では、タッチオフ状態からタッチオン状態になったことを第１の条件（オブジェクトを発生させる条件）としていたが、他の実施例では、タッチオフ状態からタッチオン状態になり、かつ、タッチオン時の入力座標が特定の領域内であることを第１の条件としてもよい。すなわち、たとえば図１９に示すように、ＣＰＵコア４２は、ステップＳ５でタッチ入力開始時の入力座標を検出した後、ステップＳ１２１で、当該入力座標が特定領域内であるか否かを判断する。ここで、特定領域は、弾オブジェクト７２を発生させることの可能な領域であり、たとえばプレイヤのスコアやマップ等を表示するための領域ではなく、ゲーム空間ないしゲーム世界を表示するための領域である。ステップＳ１２１で“ＮＯ”であれば、当該タッチ入力に基づいてはオブジェクトを発生させず、処理はステップＳ１へ戻る。一方、ステップＳ１２１で“ＹＥＳ”であれば、処理は上述の図１３実施例と同様にステップＳ７へ進む。
【０１９３】
また、上述の各実施例では、図１３に示すように、第１の条件を満足すると判定された後検出される入力座標がオブジェクト発生座標から所定の領域（一定距離範囲）内であり続けている時間を計測し、当該計測時間に応じて弾オブジェクト７２の種類、攻撃力、移動速度などの特性を設定または変更するようにしていた。しかし、発生される弾オブジェクト７２の種類等の特性は、第１の条件を満足すると判定されたときの入力座標すなわちオブジェクト発生座標に応じて設定または変更されてもよい。たとえば、オブジェクト発生座標が下画面の上の方の座標である場合には、攻撃力や移動速度を通常状態よりも小さい値に設定したり、オブジェクト発生座標が下画面の下の方の座標である場合には、攻撃力や移動速度をパワーアップ状態の値に設定したりする。すなわち、たとえば図２０に示すように、ＣＰＵコア４２は、ステップＳ７で最初のタッチ入力座標を記憶すると、続くステップＳ１３１で、当該最初のタッチ入力座標に応じて弾オブジェクト７２の種類を設定する。つまり、弾制御データ記憶領域１１６の当該弾オブジェクト７２の種類データ、攻撃力データ、移動速度データなどの特性データを当該オブジェクト発生座標に応じた値に設定または変更する。したがって、オブジェクト発生座標の値に応じて当該オブジェクトの攻撃力が大きくされたり小さくされたりして変化されるので、衝突した敵キャラクタ７０の耐久力データの示す耐久力から減算する値が大きくされたり小さくされたりして変化される。ステップＳ１３１を終了すると、処理はステップＳ９へ進み、これによって、設定された種類に応じた弾オブジェクト７２の画像が表示される。
【０１９４】
また、弾オブジェクト７２の種類等の特性は、オブジェクト発生座標と第２の条件が満足されたと判定されたときの検出座標との距離に応じて設定または変更されてもよい。すなわち、たとえば図２１に示すように、ＣＰＵコア４２は、ステップＳ４１でタッチオフ直前の入力座標が第２有効範囲内であると判定される場合には、続くステップＳ１４１で、最初のタッチ入力座標と最後のタッチ入力座標との距離を算出する。そして、ＣＰＵコア４２は、ステップＳ１４３で、算出された距離に応じて弾オブジェクト７２の種類を設定して、弾制御データ記憶領域１１６の当該弾オブジェクト７２の種類データ、攻撃力データ、移動速度データなどの特性データを、当該距離に応じた値に設定する。たとえば、距離が所定の第１の閾値以上である場合には、攻撃力や移動速度をパワーアップ状態の値に設定したり、距離が所定の第２の閾値未満である場合には、攻撃力や移動速度を通常状態よりも小さい値に設定したりする。ステップＳ１４３を終了すると処理はステップＳ４３へ進む。したがって、オブジェクト発生座標からの距離が長いほど攻撃力が大きくなるので、衝突した敵キャラクタ７０の耐久力から減算される値が大きくなる。なお、他の実施例では、オブジェクト発生座標からの距離が長いほど、弾オブジェクト７２をパワーダウンしてその攻撃力や移動速度を小さくするようにしてもよい。
【０１９５】
また、上述の各実施例では、第１の条件が満足されたと判定されたときに弾オブジェクト７２を発生および表示するようにしていた。しかし、他の実施例では、弾オブジェクト７２を発生させるための条件（第１の条件）が満足され、かつ、当該弾オブジェクト７２の移動を起こさせるための条件（第２の条件）が満足されたと判定されたときに、弾オブジェクト７２をオブジェクト発生座標に発生および表示して、特定方向または入力方向に基づく方向に移動させるようにしてもよい。
【０１９６】
この他の実施例の動作の一例が図２２および図２３に示される。なお、図２２および図２３では、上述の実施例の図１３および図１４と同様な処理ステップには同じ参照符号を付してある。ここでは、重複する各ステップの詳細な説明を省略し、弾オブジェクト７２の発生および表示時期に関して上述の実施例と異なる部分のみの動作の流れを簡単に説明する。図２２のステップＳ７で、ＣＰＵコア４２は、最初のタッチ入力座標を記憶し、続くステップＳ１１でタッチオン時刻を記憶する。つまり、オブジェクト発生座標を決定しても、このタイミングでは弾オブジェクト７２の表示を行わない。その後、図２３のステップＳ４１で、タッチオフ直前の入力座標が第２有効範囲内であると判定されたとき、ＣＰＵコア４２は、続くステップＳ９で、最初のタッチ入力座標記憶領域１０８に記憶されている座標に、弾オブジェクト７２を表示する。続いて、ステップＳ３１で、ＣＰＵコア４２は、尾ひれ７４の画像を表示する。なお、尾ひれ７４の先端位置はオブジェクト発生座標またはそのやや下方等に設定されてよい。そして、ＣＰＵコア４２は、続くステップＳ４３で弾オブジェクト移動処理を開始し、したがって、弾オブジェクト７２は特定方向または入力方向に基づく方向に移動される。
【０１９７】
また、上述の各実施例では、弾オブジェクト７２を発生させるための条件（第１の条件）は、タッチオフ状態からタッチオン状態になったことであった。しかし、他の実施例では、連続するタッチ入力座標（タッチオンが継続されているときに検出される座標）が所定の条件を満足することをもって第１の条件としてよい。この場合には、入力位置をスライド移動させながらオブジェクト発生座標を決定することができる。
【０１９８】
たとえば、図２４に示す他の実施例では、連続するタッチ入力座標が一定時間以上静止していることが第１の条件とされる。一定時間以上静止していると判定されたときには、そのときの検出座標がオブジェクト発生座標に決定される。すなわち、図２４に示すように、ＣＰＵコア４２は、ステップＳ１で敵キャラクタ７０をＬＣＤ１２に表示し、ステップＳ３でタッチ入力があるか否かを判断し、“ＮＯ”であれば処理はステップＳ１へ戻る。一方、ステップＳ３で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ５でタッチ入力座標を検出してタッチ入力履歴記憶領域１０６に記憶する。
【０１９９】
続いて、ステップＳ１５１で、ＣＰＵコア４２は、タッチ入力が連続されている場合において前回検出された入力座標と今回検出された入力座標との距離を算出する。そして、ステップＳ１５３で、ＣＰＵコア４２は、算出された距離が所定の閾値以下であるか否かを判定する。この所定の閾値は、入力位置は静止していると見なされる程度の値（数ｄｏｔ程度）に予め設定されている。ステップＳ１５３で“ＮＯ”であれば、つまり、入力位置が移動中である場合には、処理はステップＳ３に戻る。
【０２００】
一方、ステップＳ１５３で“ＹＥＳ”であれば、つまり、入力位置が静止している場合には、ＣＰＵコア４２は、ステップＳ１５５で、静止継続時間を計測する。たとえば、静止開始時の時刻をデータ記憶領域８２に記憶しておき、今回の時刻と静止開始時の時刻から静止継続時間を算出する。そして、ステップＳ１５７で、ＣＰＵコア４２は、静止継続時間が一定時間以上になったか否かを判定する。ステップＳ１５７で“ＮＯ”であれば、処理はステップＳ３に戻る。
【０２０１】
ステップＳ１５７で“ＹＥＳ”であれば、つまり、入力位置が一定時間以上静止した場合には、ＣＰＵコア４２は、ステップＳ７で、ステップＳ５で検出された入力座標を最初のタッチ入力座標記憶領域１０８にオブジェクト発生座標として記憶する。そして、ＣＰＵコア４２はステップＳ９で、検出された入力位置に弾オブジェクト７２を表示する。
【０２０２】
なお、上述の図２４実施例では、タッチ入力有りの検出が継続しているときに、検出される座標の変化量が閾値より小さいことや、そのような変化が一定時間以上継続したことが第１の条件とされた。しかし、他の実施例では、タッチ入力が継続しているときに、検出される座標の変化量が閾値より大きくなったことや、そのような変化が一定時間以上継続したことが第１の条件とされてもよい。または、タッチ入力有りの検出が継続しているときに、検出される座標が所定時間の間変化しないことが第１の条件とされてもよい。
【０２０３】
また、たとえば図２５に示す他の実施例では、連続するタッチ入力のスライド速度（移動入力速度）が一定速度以下になったことが第１の条件とされる。スライド入力の速度が一定速度よりも大きい場合には、プレイヤが弾オブジェクト７２を発生させようとする位置を未だ決めかねているものと見なす。一定速度以下のスライド速度であると判定されたときには、そのときの検出座標がオブジェクト発生座標に決定される。すなわち、図２５に示すように、ＣＰＵコア４２は、ステップＳ５でタッチ入力座標を検出した後、ステップＳ１７１で入力のスライド速度を算出する。たとえば、タッチ入力は一定時間間隔で検出されるので、タッチ入力が連続されている場合において前回検出された座標と今回検出された座標との距離を算出し、この算出された距離を速度と見なしてもよい。そして、ステップＳ１７３で、ＣＰＵコア４２は、算出された速度が所定の閾値以下であるか否かを判断する。ステップＳ１７３で“ＮＯ”であれば処理はステップＳ３へ戻る。
【０２０４】
一方、ステップＳ１７３で“ＹＥＳ”であれば、つまり、スライド入力の速度が一定速度以下になったときには、ＣＰＵコア４２は、ステップＳ７で、ステップＳ５で検出された入力座標を最初のタッチ入力座標記憶領域１０８にオブジェクト発生座標として記憶する。そして、ステップＳ９で、ＣＰＵコア４２はオブジェクト発生座標に弾オブジェクト７２を表示する。
【０２０５】
また、上述の各実施例では、オブジェクト発生条件（第１の条件）とオブジェクト移動条件（第２の条件）の両者が満足されたことによって、弾オブジェクト７２を発生および移動させるようにしていた。しかし、他の実施例では、オブジェクト発生条件が満足されてからオブジェクト移動条件が満足されるまでの間にさらにオブジェクト発生条件が満足された場合には、先にオブジェクト発生条件が満足されたときの検出座標に発生させる第１の弾オブジェクト７２とは異なる第２の弾オブジェクト７２を、後にオブジェクト発生条件が満足されたときの検出座標に発生させるようにしてよい。この場合には、複数のオブジェクト７２を次々に発生させて、その後複数のオブジェクト７２を移動させることができる。
【０２０６】
たとえば、図２６および図２７に示す実施例では、第１の条件は、図２５実施例と同様に、連続するタッチ入力の移動速度が一定値以下であることである。また、第２の条件は、オブジェクト発生座標から一定距離以上移動してからタッチオフ状態になることである。なお、この実施例でも、上述の各実施例と同様な処理ステップには同じ参照符号を付してあり、重複するステップについては詳細な説明を省略する。
【０２０７】
ＣＰＵコア４２は、図２６のステップＳ５でタッチ入力座標を検出した後、ステップＳ１７１で入力のスライド速度を算出し、ステップＳ１７３で、算出された速度が所定の閾値以下であるか否かを判断する。ステップＳ１７３で“ＮＯ”であれば、処理はステップＳ３５へ進む。
【０２０８】
一方、ステップＳ１７３で“ＹＥＳ”であれば、つまり、オブジェクト発生条件が満足された場合には、ＣＰＵコア４２は、ステップＳ１８１で、これから発生させる弾オブジェクト７２のオブジェクト発生座標として、ステップＳ５で検出された入力座標を弾制御データ記憶領域１１６に記憶する。続くステップＳ９で、ＣＰＵコア４２は、当該発生座標に弾オブジェクト７２を表示する。
【０２０９】
そして、ＣＰＵコア４２は、ステップＳ１５でタッチ入力が無くなったか否かを判定する。ステップＳ１５で“ＮＯ”であれば、つまり、タッチ入力が継続されている場合には、ＣＰＵコア４２はステップＳ１７でタッチ入力座標を検出し、ステップＳ１８３で直前のオブジェクト発生座標と検出座標との距離を算出する。そして、ステップＳ１８５で、ＣＰＵコア４２は、算出した距離が一定距離を超えたか否かを判定する。ステップＳ１８５で“ＮＯ”であれば、処理はステップＳ１５に戻る。
【０２１０】
一方、ステップＳ１８５で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１８７で、直前に発生した弾オブジェクト７２に対応する発射可否を示すデータ（弾制御データに含まれる）を発射可能に設定する。
【０２１１】
続いて、ステップＳ３５で、ＣＰＵコア４２は、タッチ入力が無くなったか否かを判断する。ステップＳ３５で“ＮＯ”であれば、つまり、タッチ入力が継続されている場合には、処理はステップＳ５へ戻る。したがって、再びスライド速度が一定速度以下になったときには、別の弾オブジェクト７２が検出座標に発生される。
【０２１２】
一方、ステップＳ３５で“ＹＥＳ”である場合、またはステップＳ１５で“ＹＥＳ”である場合には、処理は次の図２７のステップＳ１８９に進む。
【０２１３】
図２７のステップＳ１８９では、ＣＰＵコア４２は、発射可能な弾オブジェクト７２があるか否かを、たとえば各弾オブジェクト７２の弾制御データに含まれる発射可能を示すデータに基づいて判断する。ステップＳ１８９であれば、つまり、オブジェクト移動条件が満足されたときには、ＣＰＵコア４２は、ステップＳ３９で、最後のタッチ入力座標記憶領域１１０に、そのときの検出座標を記憶する。そして、ステップＳ４３で、ＣＰＵコア４２は、弾オブジェクト移動処理を開始して、処理はステップＳ４７へ進む。この弾オブジェクト移動処理では、弾オブジェクト７２の移動方向は図１５の場合のように特定方向であってもよいし、図１８の場合のように入力方向に基づく方向であってもよい。
【０２１４】
一方、ステップＳ１８９で“ＮＯ”であれば、つまり、移動条件が満足されていない場合には、ＣＰＵコア４２は、ステップＳ４５で弾オブジェクト７２を消滅させる。なお、弾オブジェクト７２が発生されていない場合には、処理はそのままステップＳ４７へ進む。
【０２１５】
ステップＳ４７では、ＣＰＵコア４２はゲーム終了であるか否かを判定し、“ＮＯ”であれば処理はステップＳ１に戻り、“ＹＥＳ”であればこのゲーム処理を終了する。
【０２１６】
また、上述の各実施例では、弾オブジェクト７２を発生および移動させて敵キャラクタ７０を攻撃するシューティングゲームが実行される情報処理装置１０を説明したが、情報処理装置１０で実行されるゲームの種類またはアプリケーションは適宜変更され得る。
【０２１７】
また、上述の各実施例では、ＬＣＤ１４の画面上に設けられたタッチパネル２２で座標を入力するようにしていた。しかし、このような入力手段は、画面上の位置（座標）を指示することができる装置であればよく、他の実施例では、たとえばトラックパッドやタブレットのような他のポインティングデバイスが適用されてもよい。また、マウスを適用する場合には、表示画面にマウスポインタを表示することによって入力位置を明示する。また、マウスのボタンが押されている状態をタッチオン状態とみなし、かつ、マウスのボタンが放された状態をタッチオフ状態とみなすことによって、ポインティングデバイスでの入力の有無を判断することができる。
【０２１８】
また、上述の各実施例では、第１のＬＣＤ１２と第２のＬＣＤ１４とを縦方向に並べて配置するようにしていたが、２つのＬＣＤの配置は適宜に変更され得る。たとえば他の実施例のゲーム装置１０では、第１のＬＣＤ１２と第２のＬＣＤ１４とを横方向に並べて配置するようにしてもよい。
【０２１９】
また、上述の各実施例では、２つのゲーム画面をそれぞれ表示する２つのＬＣＤを設けるようにしていたが、表示手段としてのＬＣＤの数は適宜変更され得る。たとえば他の実施例のゲーム装置１０では、縦長形状の１つのＬＣＤを設けて、表示領域を上下に分けて、２つのゲーム画面をそれぞれの表示領域に表示するようにしてもよいし、あるいは、横長形状の１つのＬＣＤを設けて、表示領域を左右に分割し、２つゲーム画面をそれぞれの表示領域に表示するようにしてもよい。
【図面の簡単な説明】
【０２２０】
【図１】この発明の一実施例の情報処理装置の一例を示す外観図である。
【図２】図１実施例の電気的な構成を示すブロック図である。
【図３】上画面に複数の敵キャラクタが表示された初期画面の一例を示す図解図である。
【図４】タッチ入力によって下画面に弾オブジェクトが発生された場合の表示画面の一例を示す図解図である。
【図５】図４の後タッチオンのままで下方向に移動した場合の表示画面の一例を示す図解図である。
【図６】図５の後タッチオフされて弾オブジェクトが上方向に移動される場合の表示画面の一例を示す図解図である。
【図７】図６の後弾オブジェクトが敵キャラクタに衝突した場合の表示画面の一例を示す図解図である。
【図８】弾オブジェクト移動条件を説明するための図解図であり、最初のタッチ入力位置から一定距離範囲を示す。
【図９】弾オブジェクト移動条件を説明するための図解図であり、第１有効範囲を示す。
【図１０】弾オブジェクト移動条件を説明するための図解図であり、第２有効範囲を示す。
【図１１】ＲＡＭのメモリマップの一例を示す図解図である。
【図１２】弾特性テーブルデータの内容の一例を示す図解図である。
【図１３】図１実施例の情報処理装置のオブジェクト制御処理における動作の一例の一部を示すフロー図である。
【図１４】図１３の続きを示すフロー図である。
【図１５】図１４の弾オブジェクト移動処理の動作の一例を示すフロー図である。
【図１６】他の実施例のＲＡＭのメモリマップの一例を示す図解図である。
【図１７】他の実施例の情報処理装置のオブジェクト制御処理における動作の一例を示すフロー図である。
【図１８】図１７の弾オブジェクト移動処理の動作の一例を示すフロー図である。
【図１９】弾オブジェクト発生条件として入力位置を考慮する場合の動作の一例の一部を示すフロー図である。
【図２０】オブジェクト発生位置に応じて弾オブジェクトの種類を設定する場合の動作の一例の一部を示すフロー図である。
【図２１】弾オブジェクト移動条件が満足されたときの入力位置とオブジェクト発生位置との距離に応じて弾オブジェクトの種類を設定する場合の動作の一例の一部を示すフロー図である。
【図２２】弾オブジェクト発生条件および移動条件が満足されたときに弾オブジェクトを発生させかつ移動させる場合の動作の一例の一部を示すフロー図である。
【図２３】図２２の続きを示すフロー図である。
【図２４】入力位置が一定時間以上静止したことを条件として弾オブジェクトを発生させる場合の動作の一例の一部を示すフロー図である。
【図２５】移動入力速度が一定値以下であることを条件として弾オブジェクトを発生させる場合の動作の一例の一部を示すフロー図である。
【図２６】弾オブジェクト移動条件が満足されるまでに再び弾オブジェクト発生条件が満足されたときに異なる弾オブジェクトを発生させる場合の動作の一例の一部を示すフロー図である。
【図２７】図２６の続きを示すフロー図である。
【符号の説明】
【０２２１】
１０  …情報処理装置
１２，１４…ＬＣＤ
２２  …タッチパネル
２８  …メモリカード
２８ａ  …ＲＯＭ
４２  …ＣＰＵコア
４８  …ＲＡＭ
５０，５２  …ＧＰＵ
５４  …Ｉ／Ｆ回路
６０  …ＬＣＤコントローラ
【図１】
0004832826.tif 000002
【図２】
0004832826.tif 000003
【図３】
0004832826.tif 000004
【図４】
0004832826.tif 000005
【図５】
0004832826.tif 000006
【図６】
0004832826.tif 000007
【図７】
0004832826.tif 000008
【図８】
0004832826.tif 000009
【図９】
0004832826.tif 000010
【図１０】
0004832826.tif 000011
【図１１】
0004832826.tif 000012
【図１２】
0004832826.tif 000013
【図１３】
0004832826.tif 000014
【図１４】
0004832826.tif 000015
【図１５】
0004832826.tif 000016
【図１６】
0004832826.tif 000017
【図１７】
0004832826.tif 000018
【図１８】
0004832826.tif 000019
【図１９】
0004832826.tif 000020
【図２０】
0004832826.tif 000021
【図２１】
0004832826.tif 000022
【図２２】
0004832826.tif 000023
【図２３】
0004832826.tif 000024
【図２４】
0004832826.tif 000025
【図２５】
0004832826.tif 000026
【図２６】
0004832826.tif 000027
【図２７】
0004832826.tif 000028