(57)【要約】【課題】ユーザによって操作されるオブジェクトにユーザの意図した動作を行わせることが可能なオブジェクト制御プログラム及びそれを実行する装置を提供する。【解決手段】ゲーム装置は、敵キャラクタの表示領域以外へのダブルタッチを検出すると、プレイヤキャラクタに前転動作を行わせる。一方、ゲーム装置は、敵キャラクタへのタッチ操作を検出すると、当該敵キャラクタの位置に禁止エリアを設ける。ゲーム装置は、禁止エリアへのタッチを検出すると、当該タッチ操作がダブルタッチであっても、プレイヤキャラクタに前転動作を禁止し、プレイヤキャラクタに敵キャラクタへの攻撃を行わせる。【選択図】図７Ａ
2011096080.tif 000002
【特許請求の範囲】
【請求項１】
表示装置の画面上における位置を指定することが可能な入力デバイスへのユーザによる入力に応じて操作される仮想空間内の操作オブジェクトを制御するオブジェクト制御装置のコンピュータにおいて実行されるオブジェクト制御プログラムであって、前記コンピュータを、
前記入力デバイスからの出力信号に基づいて、ユーザによって指示された前記画面上の位置を検出する位置検出手段、
前記操作オブジェクトとは異なる前記仮想空間内の所定のオブジェクトの位置に、所定の領域を設定する領域設定手段、
前記領域設定手段によって設定された所定の領域を所定の保持期間が経過するまで保持する領域保持手段、
前記入力デバイスからの出力信号に基づいて、前記画面上への第１の操作を検出し、当該第１の操作に応じて前記操作オブジェクトに第１の動作を行わせる動作制御手段、及び、
前記位置検出手段によって検出された位置が前記領域保持手段によって保持されている所定の領域内に存在するか否かを判定する領域判定手段、として機能させ、
前記領域保持手段は、前記所定のオブジェクトが前記仮想空間内を移動した場合でも当該所定のオブジェクトが移動する前の位置に前記所定の領域を保持し、
前記動作制御手段は、前記領域判定手段による判定結果が肯定である場合、前記第１の操作が行われている場合でも前記操作オブジェクトの前記第１の動作を禁止する、オブジェクト制御プログラム。
【請求項２】
前記領域設定手段は、前記入力デバイスからの出力信号に基づいて、前記所定のオブジェクトへのユーザの指示が検出された場合に、前記所定の領域を設定する、請求項１に記載のオブジェクト制御プログラム。
【請求項３】
前記動作制御手段は、前記領域判定手段による判定結果が肯定である場合、前記操作オブジェクトに前記第１の動作とは異なる第２の動作を行わせる、請求項１または２に記載のオブジェクト制御プログラム。
【請求項４】
前記動作制御手段は、前記入力デバイスからの出力信号に基づいて、前記画面上への第１の操作または当該第１の操作と異なる第２の操作を検出し、前記領域判定手段による判定結果が肯定である場合、前記第１の操作または前記第２の操作に応じて、前記操作オブジェクトに前記第２の動作を行わせる、請求項３に記載のオブジェクト制御プログラム。
【請求項５】
前記動作制御手段は、前記領域判定手段による判定結果が否定である場合、前記第１の操作に応じて、前記操作オブジェクトに前記第１の動作を行わせる、請求項４に記載のオブジェクト制御プログラム。
【請求項６】
前記動作制御手段は、前記入力デバイスへの所定の操作が所定の検出期間に連続して検出されたことにより、前記第１の操作を検出する、請求項４または５に記載のオブジェクト制御プログラム。
【請求項７】
前記保持期間は、前記検出期間よりも長い、請求項６に記載のオブジェクト制御プログラム。
【請求項８】
前記領域保持手段は、前記所定のオブジェクトが前記仮想空間内を移動した場合に、当該移動に応じて前記所定の領域を移動させ、
前記領域判定手段は、前記位置検出手段によって検出された位置が、前記領域保持手段によって移動した領域又は保持された領域の何れかに存在するか否かを判定する、請求項１ないし７の何れかに記載のオブジェクト制御プログラム。
【請求項９】
前記領域設定手段は、前記操作オブジェクトと前記所定のオブジェクトとの位置関係が所定の条件を満たす場合、前記所定の領域を設定しない、請求項１に記載のオブジェクト制御プログラム。
【請求項１０】
前記領域設定手段は、前記操作オブジェクト及び／又は前記所定のオブジェクトの移動によって、前記操作オブジェクトと前記所定のオブジェクトとの位置関係が所定の条件を満たすこととなった場合、前記所定の領域を消滅させる、請求項１に記載のオブジェクト制御プログラム。
【請求項１１】
前記領域設定手段は、前記操作オブジェクト及び前記所定のオブジェクトとは異なる第３のオブジェクトが、前記操作オブジェクトと前記所定のオブジェクトとの間に存在するようになった場合、前記所定の領域を消滅させる、請求項１０に記載のオブジェクト制御プログラム。
【請求項１２】
前記領域設定手段は、前記所定のオブジェクトの種類に応じて、前記保持期間を設定する、請求項１ないし１１の何れかに記載のオブジェクト制御プログラム。
【請求項１３】
前記所定のオブジェクトを自動的に移動させる移動制御手段、として前記コンピュータをさらに機能させる、請求項１ないし１２の何れかに記載のオブジェクト制御プログラム。
【請求項１４】
前記第１の動作は、前記操作オブジェクトに行わせる非攻撃の動作であり、
前記第２の動作は、前記操作オブジェクトに行わせる前記所定のオブジェクトに対する攻撃動作である、請求項３ないし７の何れかに記載のオブジェクト制御プログラム。
【請求項１５】
前記領域設定手段は、前記所定のオブジェクトの種類に応じて、前記所定の領域の形状、数、又は、大きさを設定する、請求項１ないし１４の何れかに記載のオブジェクト制御プログラム。
【請求項１６】
表示装置の画面上における位置を指定することが可能な入力デバイスへのユーザによる入力に応じて操作される仮想空間内の操作オブジェクトを制御するオブジェクト制御装置であって、
前記入力デバイスからの出力信号に基づいて、ユーザによって指示された前記画面上の位置を検出する位置検出手段と、
前記操作オブジェクトとは異なる前記仮想空間内の所定のオブジェクトの位置に、所定の領域を設定する領域設定手段と、
前記領域設定手段によって設定された所定の領域を所定の保持期間が経過するまで保持する領域保持手段と、
前記入力デバイスからの出力信号に基づいて、前記画面上への第１の操作を検出し、当該第１の操作に応じて前記操作オブジェクトに第１の動作を行わせる動作制御手段と、
前記位置検出手段によって検出された位置が前記領域保持手段によって保持されている所定の領域内に存在するか否かを判定する領域判定手段と、を備え、
前記領域保持手段は、前記所定のオブジェクトが前記仮想空間内を移動した場合でも当該所定のオブジェクトが移動する前の位置に前記所定の領域を保持し、
前記動作制御手段は、前記領域判定手段による判定結果が肯定である場合、前記第１の操作が行われている場合でも前記操作オブジェクトの前記第１の動作を禁止する、オブジェクト制御装置。
【請求項１７】
表示装置の画面上における位置を指示することが可能な入力デバイスへのユーザによる入力に応じて操作される仮想空間内の操作オブジェクトを制御するオブジェクト制御装置のコンピュータにおいて実行されるオブジェクト制御プログラムであって、前記コンピュータを、
前記入力デバイスからの出力信号に基づいて、ユーザによって指示された前記画面上の位置を検出する位置検出手段、
前記操作オブジェクトとは異なる前記仮想空間内の所定のオブジェクトの位置に、所定の領域を設定する領域設定手段、
前記領域設定手段によって設定された所定の領域を所定の保持期間が経過するまで保持する領域保持手段、
前記位置検出手段によって検出された位置が前記領域保持手段によって保持されている所定の領域内に存在するか否かを判定する領域判定手段、及び、
前記領域判定手段による判定結果が肯定である場合、前記入力デバイスへの所定の操作に応じて前記操作オブジェクトに第１の動作を行わせる動作制御手段、として機能させ、
前記領域保持手段は、前記所定のオブジェクトが前記仮想空間内を移動した場合でも当該所定のオブジェクトが移動する前の位置に前記所定の領域を保持する、オブジェクト制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト制御プログラムおよびオブジェクト制御装置に関し、例えば、表示装置の画面上における位置を指定することが可能な入力装置へのユーザによる入力に応じて、オブジェクトの動作を制御するオブジェクト制御プログラムおよびオブジェクト制御装置に関する。
【背景技術】
【０００２】
従来より、表示装置の画面上の位置を指示することが可能な入力装置へのユーザによる入力に応じて、ユーザによって操作される操作オブジェクトに所定の動作を行わせるプログラムが存在する。例えば、非特許文献１に記載のゲームでは、入力装置へ第１の操作（円を描く操作）が行われている場合、操作オブジェクトは第１の動作（前転）を行う。一方、入力装置へ第２の操作（タッチ操作）が行われている場合、操作オブジェクトは所定のオブジェクト（敵）に対して第２の動作（ロックオン斬り）を行う。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「ゼルダの伝説  夢幻の砂時計  取扱説明書」、任天堂株式会社、２００７年６月２３日、ｐ．１４−１７
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１に記載のプログラムでは、例えば、上記所定のオブジェクトが移動している場合では、ユーザが操作オブジェクトに対して第２の動作を行わせようと意図して第２の操作をした場合に、第１の動作が行われてしまうことがあった。従って、非特許文献１に記載のプログラムでは、操作オブジェクトにユーザの意図した通りの動作を行わせるという点で改善の余地があった。
【０００５】
それ故、本発明の目的は、ユーザによって操作されるオブジェクトにユーザの意図した動作を行わせることが可能なオブジェクト制御プログラム及びそれを実行する装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
本発明は、表示装置の画面上における位置を指定することが可能な入力デバイスへのユーザによる入力に応じて操作される仮想空間内の操作オブジェクトを制御するオブジェクト制御装置のコンピュータにおいて実行されるオブジェクト制御プログラムである。オブジェクト制御プログラムは、上記コンピュータを、位置検出手段、領域設定手段、領域保持手段、動作制御手段、及び、領域判定手段、として機能させる。位置検出手段は、上記入力デバイスからの出力信号に基づいて、ユーザによって指示された上記画面上の位置を検出する。領域設定手段は、上記操作オブジェクトとは異なる上記仮想空間内の所定のオブジェクトの位置に、所定の領域を設定する。領域保持手段は、上記領域設定手段によって設定された所定の領域を所定の保持期間が経過するまで保持する。動作制御手段は、上記入力デバイスからの出力信号に基づいて、上記画面上への第１の操作を検出し、当該第１の操作に応じて上記操作オブジェクトに第１の動作を行わせる。領域判定手段は、上記位置検出手段によって検出された位置が上記領域保持手段によって保持されている所定の領域内に存在するか否かを判定する。また、上記領域保持手段は、上記所定のオブジェクトが上記仮想空間内を移動した場合でも当該所定のオブジェクトが移動する前の位置に上記所定の領域を保持する。そして、上記動作制御手段は、上記領域判定手段による判定結果が肯定である場合、上記第１の操作が行われている場合でも上記操作オブジェクトの上記第１の動作を禁止する。
【０００８】
なお、上記所定のオブジェクトは、上記ユーザとは異なるユーザによって操作されるオブジェクトであってもよく、オブジェクト制御装置によって制御されるオブジェクトであってもよい。
【０００９】
上記によれば、所定のオブジェクトの位置に所定の領域を設定し、所定の保持期間、当該領域を保持する。所定の領域は、所定のオブジェクトが移動した場合でも移動前の位置に保持される。そして、位置検出手段によって検出された位置が上記所定の領域に存在する場合、上記第１の操作が行われている場合でも、上記操作オブジェクトに第１の動作を行わせないようにする。これにより、ユーザの意図しない操作オブジェクトの動作を禁止することができる。
【００１０】
本発明では、上記領域設定手段は、上記入力デバイスからの出力信号に基づいて、上記所定のオブジェクトへのユーザの指示が検出された場合に、上記所定の領域を設定してもよい。
【００１１】
上記によれば、上記所定のオブジェクトがユーザによって指示された場合、上記所定の領域を設定することができる。
【００１２】
本発明では、上記動作制御手段は、上記領域判定手段による判定結果が肯定である場合、上記操作オブジェクトに上記第１の動作とは異なる第２の動作を行わせてもよい。
【００１３】
上記によれば、上記第１の動作の替わりに第２の動作を上記操作オブジェクトに行わせることができる。
【００１４】
本発明では、上記動作制御手段は、上記入力デバイスからの出力信号に基づいて、上記画面上への第１の操作または当該第１の操作と異なる第２の操作を検出してもよい。この場合において、上記動作制御手段は、上記領域判定手段による判定結果が肯定である場合、上記第１の操作または上記第２の操作に応じて、上記操作オブジェクトに上記第２の動作を行わせてもよい。
【００１５】
上記によれば、ユーザによって指示された位置が上記所定の領域内に存在する場合、上記第１の操作又は第２の操作に応じて、上記操作オブジェクトに第２の動作を行わせることができる。
【００１６】
本発明では、上記動作制御手段は、上記領域判定手段による判定結果が否定である場合、上記第１の操作に応じて、上記操作オブジェクトに上記第１の動作を行わせてもよい。
【００１７】
上記によれば、上記位置検出手段によって検出された位置が、上記所定の領域に存在しない場合に第１の動作を行わせることができる。これにより、操作オブジェクトにユーザの意図した動作を行わせることができる。
【００１８】
本発明では、上記動作制御手段は、上記入力デバイスへの所定の操作が所定の検出期間に連続して検出されたことにより、上記第１の操作を検出してもよい。
【００１９】
上記によれば、上記入力デバイスへの所定の操作が所定の検出期間に連続して検出された場合、上記第１の操作を検出することができる。例えば、タッチパネル等の入力デバイスに対するダブルタッチ操作を検出した場合に、上記第１の操作を検出することができる。
【００２０】
本発明では、上記保持期間は、上記検出期間よりも長くてもよい。
【００２１】
上記によれば、上記保持期間を、上記検出期間よりも長くすることができる。すなわち、上記所定の領域が保持される期間を、上記所定の操作が検出される期間よりも長くすることができる。これにより、例えば、上記所定の領域が保持される期間を、ダブルタッチの検出期間よりも長くすることができ、上記操作オブジェクトにユーザの意図した操作を行わせることができる。
【００２２】
本発明では、上記領域保持手段は、上記所定のオブジェクトが上記仮想空間内を移動した場合に、当該移動に応じて上記所定の領域を移動させてもよい。この場合において、上記領域判定手段は、上記位置検出手段によって検出された位置が、上記領域保持手段によって移動した領域又は保持された領域の何れかに存在するか否かを判定する。
【００２３】
上記によれば、上記所定のオブジェクトの移動に伴って所定の領域を移動させるとともに、移動前の位置にも上記所定の領域を保持させることができる。そして、ユーザによって指示された位置が、上記移動後の所定の領域又は保持された領域の何れかに存在するか否かを判定することができる。
【００２４】
本発明では、上記領域設定手段は、上記操作オブジェクトと上記所定のオブジェクトとの位置関係が所定の条件を満たす場合、上記所定の領域を設定しなくてもよい。
【００２５】
上記によれば、上記位置関係に応じて、上記所定の領域を設定することができる。
【００２６】
本発明では、上記領域設定手段は、上記操作オブジェクト及び／又は上記所定のオブジェクトの移動によって、上記操作オブジェクトと上記所定のオブジェクトとの位置関係が所定の条件を満たすこととなった場合、上記所定の領域を消滅させてもよい。
【００２７】
上記によれば、オブジェクトの移動によって上記操作オブジェクトと上記所定のオブジェクトとの位置関係が所定の条件を満たすようになった場合、上記所定の領域を消滅させることができる。
【００２８】
本発明では、上記領域設定手段は、上記操作オブジェクト及び上記所定のオブジェクトとは異なる第３のオブジェクトが、上記操作オブジェクトと上記所定のオブジェクトとの間に存在するようになった場合、上記所定の領域を消滅させてもよい。
【００２９】
上記によれば、上記操作オブジェクト又は上記所定のオブジェクトの移動によって、上記操作オブジェクトと上記所定のオブジェクトとの間に第３のオブジェクトが存在するようになった場合、上記所定の領域を消滅させることができる。
【００３０】
本発明では、上記領域設定手段は、上記所定のオブジェクトの種類に応じて、上記保持期間を設定してもよい。
【００３１】
上記によれば、オブジェクトの種類に応じて、上記所定の領域が保持される期間を設定することができる。例えば、移動速度が速いオブジェクトに対しては、上記所定の期間を短く設定することができる。
【００３２】
本発明では、上記所定のオブジェクトを自動的に移動させる移動制御手段として、上記コンピュータをさらに機能させてもよい。
【００３３】
上記によれば、上記所定のオブジェクトを自動的に移動させることができる。
【００３４】
本発明では、上記第１の動作は、上記操作オブジェクトに行わせる非攻撃の動作であり、上記第２の動作は、上記操作オブジェクトに行わせる上記所定のオブジェクトに対する攻撃動作であってもよい。
【００３５】
上記によれば、上記操作オブジェクトに非攻撃動作、及び、攻撃動作を行わせることができる。
【００３６】
本発明では、上記領域設定手段は、上記所定のオブジェクトの種類に応じて、上記所定の領域の形状、数、又は、大きさを設定してもよい。
【００３７】
上記によれば、上記所定のオブジェクトの種類に応じて、上記所定の領域の形状、数、又は、大きさを設定することができる。
【００３８】
本発明は、表示装置の画面上における位置を指定することが可能な入力デバイスへのユーザによる入力に応じて操作される仮想空間内の操作オブジェクトを制御するオブジェクト制御装置のコンピュータにおいて実行されるオブジェクト制御プログラムである。オブジェクト制御プログラムは、上記コンピュータを、位置検出手段、領域設定手段、領域保持手段、領域判定手段、及び、動作制御手段として機能させる。位置検出手段は、上記入力デバイスからの出力信号に基づいて、ユーザによって指示された上記画面上の位置を検出する。領域設定手段は、上記操作オブジェクトとは異なる上記仮想空間内の所定のオブジェクトの位置に、所定の領域を設定する。領域保持手段は、上記領域設定手段によって設定された所定の領域を所定の保持期間が経過するまで保持する。領域判定手段は、上記位置検出手段によって検出された位置が上記領域保持手段によって保持されている所定の領域内に存在するか否かを判定する。動作制御手段は、上記領域判定手段による判定結果が肯定である場合、上記入力デバイスへの所定の操作に応じて上記操作オブジェクトに第１の動作を行わせる。この場合において、上記領域保持手段は、上記所定のオブジェクトが上記仮想空間内を移動した場合でも当該所定のオブジェクトが移動する前の位置に上記所定の領域を保持する。
【００３９】
上記によれば、所定のオブジェクトに所定の領域を設定し、所定の保持期間保持する。上記所定のオブジェクトが移動した場合に、移動前の位置に上記所定の領域は保持される。そして、位置検出手段によって検出された位置が保持された領域に存在する場合、操作オブジェクトに第１の動作を行わせることができる。これにより、所定のオブジェクトが移動している場合であっても、操作オブジェクトにユーザの意図した動作を行わせることができる。
【００４０】
また、本発明は、上記オブジェクト制御プログラムを実行するオブジェクト制御装置の形態で実施されてもよい。
【発明の効果】
【００４１】
本発明によれば、ユーザによって操作されるオブジェクトにユーザの意図した動作を行わせることができる。
【図面の簡単な説明】
【００４２】
【図１】一実施形態に係る携帯型のゲーム装置の外観図
【図２】ゲーム装置１０の内部構成を示すブロック図
【図３】本実施形態に係るゲームの実行中において、第２のＬＣＤ１２の画面に表示されるゲーム画像の一例を示した図
【図４】プレイヤキャラクタ４０が敵キャラクタ４１を攻撃する様子を示した図
【図５】プレイヤキャラクタ４０がゲーム空間上を歩いて移動する様子を示した図
【図６】プレイヤキャラクタ４０がゲーム空間上を前転しながら移動する様子を示した図
【図７Ａ】禁止エリアが発生する様子を示した図
【図７Ｂ】禁止エリア５０内をダブルタッチした場合のプレイヤキャラクタ４０の動作を示した図
【図８】敵キャラクタ４１が移動した場合において禁止エリアが移動する様子を示した図
【図９】敵キャラクタ４１が移動した場合において、移動前の位置にプレイヤがダブルタッチを行った場合のプレイヤキャラクタ４０の動作を示した図
【図１０】プレイヤキャラクタ４０又は敵キャラクタ４１が移動した後、プレイヤキャラクタ４０と敵キャラクタ４１との間に壁オブジェクト４３が存在する場合を示した図
【図１１】ゲーム装置１０のＲＡＭ２４のメモリマップを示す図
【図１２】本実施形態に係るゲーム処理の詳細を示すメインフローチャート
【図１３】動作判定処理（ステップＳ２）の詳細を示すフローチャート
【図１４】移動処理（ステップＳ３）の詳細を示すフローチャート
【図１５】他の実施形態におけるゲームシステムの外観を示す外観図
【発明を実施するための形態】
【００４３】
（ゲーム装置の説明）
図面を参照して、本発明の一実施形態に係るオブジェクト制御プログラムを実行する携帯型のゲーム装置について説明する。図１は、本発明の一実施形態に係る携帯型のゲーム装置の外観図である。
【００４４】
図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されている。第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００４５】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａおよび３０ｂ）からの音を外部に放出するための音抜き孔１８ａおよび１８ｂが形成されている。また、上側ハウジング１３ａと下側ハウジング１３ｂとを開閉可能に接続するヒンジ部にはマイクロフォン用孔３３が設けられている。
【００４６】
下側ハウジング１３ｂには、入力装置（入力デバイス）として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、およびＹボタン１４ｇが設けられている。また、下側ハウジング１３ｂの側面には、図示しないＬボタンおよびＲボタンが設けられている。また、さらなる入力装置（入力デバイス）として、第２のＬＣＤ１２の画面上に指示検出装置であるタッチパネル１５が装着されている。下側ハウジング１３ｂの側面には、電源スイッチ１９、メモリカード１７を接続するための挿入口３５（図１に示す一点鎖線）、スティック１６を収納するための挿入口３６（図１に示す点線）が設けられている。
【００４７】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。本実施形態では、タッチパネル１５は、抵抗膜方式であるものとする。タッチパネル１５は、スティック１６に限らず指で操作することも可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００４８】
メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＥＥＰＲＯＭ１７ｂを搭載し、下部ハウジング１３ｂに設けられた挿入口３５に着脱自在に装着される。図１では省略するが、挿入口３５の奥部には、メモリカード１７の挿入方向先端部に設けられるコネクタと接合するための第１コネクタ２３（図２参照）が設けられている。メモリカード１７が挿入口３５に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア２１（図２参照）がメモリカード１７にアクセス可能となる。
【００４９】
次に、図２を参照してゲーム装置１０の内部構成を説明する。図２は、ゲーム装置１０の内部構成を示すブロック図である。図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４、およびＬＣＤコントローラ３１、およびワイヤレス通信部３４が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂ、図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４、およびマイクロフォン３７が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。マイクロフォン３７は、マイクロフォン用孔３３の内側に配置される。
【００５０】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて第１の表示画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２の表示画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００５１】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１の表示画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２の表示画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１の表示画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２の表示画像を第１のＬＣＤ１１に出力する。
【００５２】
ワイヤレス通信部３４は、他のゲーム装置のワイヤレス通信部との間で、データを送受信する機能を有している。また、ゲーム装置１０は、ワイヤレス通信部３４を介してインターネット等の広域ネットワークに接続することが可能であり、ネットワークを介して他のゲーム装置との間で通信を行うことも可能である。
【００５３】
（ゲームの概要）
次に、図３から図１０を用いて、本実施形態に係るゲームの概要について説明する。本実施形態に係るゲームでは、プレイヤによって操作される操作オブジェクトとしてのプレイヤキャラクタが、ゲーム空間内を移動し、様々な敵やその他のオブジェクトに遭遇しながら冒険をする。図３は、本実施形態に係るゲームの実行中において、第２のＬＣＤ１２の画面に表示されるゲーム画像の一例を示した図である。図３に示すように、画面にはプレイヤキャラクタ４０、敵キャラクタ４１、木オブジェクト４２、及び、壁オブジェクト４３が表示される。プレイヤは、第２のＬＣＤ１２の画面（タッチパネル１５）をスティック１６を用いてタッチ（タッチ操作）することにより、プレイヤキャラクタ４０を操作する。例えば、プレイヤは、画面上をタッチすることにより、プレイヤキャラクタ４０をゲーム空間で移動させたり、プレイヤキャラクタ４０に敵キャラクタ４１を攻撃させたりする。以下、タッチ操作によるプレイヤキャラクタ４０の動作について説明する。
【００５４】
図４は、プレイヤキャラクタ４０が敵キャラクタ４１を攻撃する様子を示した図である。プレイヤが、スティック１６を用いて敵キャラクタ４１が表示された画面上の位置Ｐをシングルタッチ（又はダブルタッチ）すると、プレイヤキャラクタ４０は、敵キャラクタ４１が存在する位置まで歩いて（又は走って）移動し、敵キャラクタ４１を剣で攻撃する。なお、「シングルタッチ」とは、所定期間におけるプレイヤによるタッチパネル１５への１回のタッチ操作である。また、「ダブルタッチ」とは、タッチパネル１５上を素早くタッチして離し、時間を空けずにその場所を再びタッチすることである。ダブルタッチは、所定期間（例えば、０．３秒）におけるプレイヤによるタッチパネル１５上の位置（ある範囲を持った位置）への２回のタッチ操作である。すなわち、１回目のタッチ位置から一定の範囲（例えば、当該タッチ位置を中心とした所定の半径を有する円）内の位置への２回目のタッチが上記所定期間に行われた場合、ゲーム装置１０はダブルタッチが行われたと判定する。このように、プレイヤは、敵キャラクタ４１が表示された位置をタッチすることにより、敵キャラクタ４１を攻撃することができる。
【００５５】
図５は、プレイヤキャラクタ４０がゲーム空間内を歩いて移動する様子を示した図である。図５に示すように、プレイヤがスティック１６を用いて敵キャラクタ４１が表示されていない位置Ｐにシングルタッチした場合、プレイヤキャラクタ４０は、当該タッチした位置Ｐに対応したゲーム空間内の位置に歩いて（又は走って）移動する。
【００５６】
図６は、プレイヤキャラクタ４０がゲーム空間内を前転しながら移動する様子を示した図である。図６に示すように、プレイヤがスティック１６を用いて敵キャラクタ４１が表示されていない位置Ｐにダブルタッチした場合、プレイヤキャラクタ４０は、当該タッチした位置Ｐに対応したゲーム空間内の位置に前転しながら移動する。図６に示す前転による移動は、図５に示すように歩いて移動する場合よりも移動速度が速い。すなわち、プレイヤが画面上の敵キャラクタ４１が表示されていない位置をダブルタッチすると、シングルタッチする場合よりも速くプレイヤキャラクタ４０がゲーム空間内を移動する。
【００５７】
以上のように、本実施形態に係るゲームでは、プレイヤがタッチした位置に敵キャラクタ４１が存在する場合は、シングルタッチでもダブルタッチでも敵キャラクタ４１を攻撃する。また、プレイヤがタッチした位置に敵キャラクタ４１が存在しない場合は、シングルタッチでは当該タッチ位置に対応したゲーム空間内の位置にプレイヤキャラクタ４０が歩いて移動し、ダブルタッチでは当該タッチ位置に対応したゲーム空間内の位置にプレイヤキャラクタ４０が前転して移動する。
【００５８】
次に、上記プレイヤキャラクタ４０の各動作（剣攻撃、歩いて移動、前転）の決定の仕方について、説明する。本実施形態では、プレイヤによって行われたタッチ操作に基づいて上記各動作を決定するために、敵キャラクタ４１の位置に禁止エリアを設ける。ここで、「禁止エリア」とは、プレイヤキャラクタ４０が前転で移動することを禁止するための領域であり、当該禁止エリアをプレイヤがタッチした場合でも、プレイヤキャラクタ４０に前転をさせないための領域である。
【００５９】
図７Ａは、禁止エリアが発生する様子を示した図である。図７Ａに示すように、プレイヤが敵キャラクタ４１の表示位置Ｐをシングルタッチした場合、敵キャラクタ４１のゲーム空間における位置を中心とした円又は楕円形状の禁止エリア５０が発生する。禁止エリア５０は、ゲーム空間内に仮想的に設けられた領域であり、実際には画面には表示されない。また、禁止エリア５０の発生とともに、プレイヤキャラクタ４０は、敵キャラクタ４１に攻撃を行う。すなわち、ゲーム装置１０は、敵キャラクタ４１へのシングルタッチを検出すると、禁止エリア５０を発生させるとともに、プレイヤキャラクタ４０に敵キャラクタ４１への攻撃を行わせる。
【００６０】
禁止エリア５０は、発生してから所定時間存在し続ける。そして、所定時間経過後、禁止エリア５０は、消滅する。禁止エリア５０が発生してから消滅するまでの時間は、例えば２秒に設定されてもよい。禁止エリア５０が消滅してから再びプレイヤが敵キャラクタ４１をタッチすると、禁止エリア５０も再び発生する。
【００６１】
一方、プレイヤが敵キャラクタ４１の表示位置Ｐをダブルタッチした場合、シングルタッチと同様、１回目のタッチ操作で禁止エリア５０が発生する。ダブルタッチの場合、２回目のタッチ位置が禁止エリア５０内に存在するため、プレイヤキャラクタ４０は、上述したような前転動作を行わず、敵キャラクタ４１に攻撃を行う。図７Ｂは、禁止エリア５０内をダブルタッチした場合のプレイヤキャラクタ４０の動作を示した図である。図７Ｂに示すように、ゲーム装置１０は、禁止エリア５０内でダブルタッチを検出しても、プレイヤキャラクタ４０に前転を行わせず、攻撃を行わせる。すなわち、禁止エリア５０は、前転動作が禁止される領域であるため、前転の替わりに攻撃が行われる。
【００６２】
次に、敵キャラクタ４１が移動する場合について説明する。上述のようにして１回のタッチ操作（シングルタッチ、及び、ダブルタッチの１回目のタッチ操作）で発生した禁止エリア５０は、敵キャラクタ４１の移動に伴って移動する。図８は、敵キャラクタ４１が移動した場合において禁止エリアが移動する様子を示した図である。図８において４１’は、移動前の敵キャラクタを示し、４１は移動後の敵キャラクタを示す。なお、敵キャラクタ４１’は、実際には画面に表示されない。図８に示すように、敵キャラクタがゲーム空間の位置Ｐ’から位置Ｐに移動した場合、その移動量に応じて禁止エリア５０も移動する。すなわち、禁止エリア５０は、敵キャラクタ４１の位置に対応して設定される領域であるため、敵キャラクタ４１の移動に伴って、移動する。
【００６３】
さらに、移動前の敵キャラクタ４１’の位置Ｐ’に対応して設定されていた禁止エリアは、保管禁止エリア５０１として、ゲーム装置１０に記憶される。すなわち、禁止エリア５０は、敵キャラクタ４１の移動に伴って移動するが、移動前の位置にも保管禁止エリア５０１が設定される。保管禁止エリア５０１は、敵キャラクタ４１の移動に伴って移動しない。保管禁止エリア５０１は、禁止エリアと同様にプレイヤキャラクタ４０の前転動作が禁止される領域である。保管禁止エリア５０１は、所定の時間存在し、その後消滅する。なお、保管禁止エリア５０１が発生してから消滅するまでの時間（保管禁止エリアの存在期間）は、禁止エリア５０が発生してから消滅するまでの時間（禁止エリアの存在期間）よりも短い。例えば、保管禁止エリア５０１が発生してから消滅するまでの時間は、ダブルタッチの検出期間（例えば０．３秒）より長く設定され、例えば、０．５秒に設定されてもよい。
【００６４】
図８に示す移動後の敵キャラクタ４１が、さらにその後移動した場合、禁止エリア５０もそれに伴って移動するとともに、移動前の禁止エリア５０の位置に新たに保管禁止エリア５０２が設けられる。このようにして、保管禁止エリア５０ｉ（ｉは正の整数）は、敵キャラクタ４１が移動するとともに設定され、各保管禁止エリアは、その存在期間が経過後に消滅する。
【００６５】
図９は、敵キャラクタ４１が移動した場合において、移動前の位置にプレイヤがダブルタッチを行った場合のプレイヤキャラクタ４０の動作を示した図である。図９に示すように、プレイヤが保管禁止エリア５０１内にダブルタッチを行った場合、プレイヤキャラクタ４０は攻撃動作を行う。しかしながら、当該タッチ位置には敵キャラクタ４１は移動して存在しないため、敵キャラクタ４１への攻撃は行われず、剣攻撃は空振りとなる。なお、プレイヤが保管禁止エリア５０１内にシングルタッチを行った場合も、同様に剣攻撃は空振りとなる。
【００６６】
以上のように、保管禁止エリア５０１を設けることにより、敵キャラクタ４１が移動した後もプレイヤキャラクタ４０の前転動作を禁止することができる。プレイヤが敵キャラクタ４１をタッチしてプレイヤキャラクタ４０に攻撃動作をさせる場合において、プレイヤは、敵キャラクタ４１に連続してダメージを与えるため、敵キャラクタ４１を連続してタッチすることがある。この場合において敵キャラクタ４１が移動すると、その移動にプレイヤのタッチ動作が追いつかない場合がある。すると、プレイヤが連続してタッチした位置に対応するゲーム空間内の位置に敵キャラクタ４１が存在しないことになり、ゲーム装置１０は、敵キャラクタ４１が存在しない位置へのダブルタッチを検出する。この場合、上記保管禁止エリア５０１を設けなければ、ゲーム装置１０は、プレイヤキャラクタ４０を当該位置へ前転させてしまい、プレイヤの意図した操作とは異なる操作が行われる。従って、上述したように、禁止エリア５０及び保管禁止エリア５０１が設定されることによって、プレイヤの意図した操作を正確に判別し、ゲーム処理に反映させることができる。
【００６７】
なお、上記禁止エリア５０の形状は、円又は楕円形状に限らず、例えば、多角形や３次元形状であってもよい。また、敵キャラクタの位置に対応して複数設けられてもよい。例えば、敵キャラクタの足が２本ある場合では、各足首の中心に設けられてもよい。
【００６８】
また、図１０に示すように、プレイヤキャラクタ４０又は敵キャラクタ４１が移動した後、プレイヤキャラクタ４０と敵キャラクタ４１との間に壁オブジェクト４３が存在する場合、禁止エリアの発生からその存在期間が経過する前に禁止エリア５０を消滅させてもよい。図１０は、プレイヤキャラクタ４０又は敵キャラクタ４１が移動した後、プレイヤキャラクタ４０と敵キャラクタ４１との間に壁オブジェクト４３が存在する場合を示した図である。この場合において、プレイヤが敵キャラクタ４１をダブルタッチすると、敵キャラクタ４１には禁止エリア５０が設定されていないため、プレイヤキャラクタ４０は、前転動作を行う。しかしながら、プレイヤキャラクタ４０と敵キャラクタ４１との間に壁オブジェクト４３が存在するため、プレイヤキャラクタ４０は、前転動作の途中で壁オブジェクト４３に衝突して停止する。そのため、プレイヤキャラクタ４０は、敵キャラクタ４１の位置に前転して移動することはできない。
【００６９】
（ゲーム処理の詳細）
次に、本実施形態に係るゲームの詳細な処理について説明する。まず、ゲーム処理の際にＲＡＭ２４に記憶される主なデータについて説明する。図１１は、ゲーム装置１０のＲＡＭ２４のメモリマップを示す図である。図１１に示されるように、ＲＡＭ２４には、データ記憶領域６０が設けられる。データ記憶領域６０には、プレイヤキャラクタデータ６１、敵キャラクタデータ６２、タッチ位置データ６３、禁止エリアデータ６４、保管禁止エリアデータ６５等が記憶される。これらのデータの他、ＲＡＭ２４には、上記ゲーム処理を実行するゲームプログラムやプレイヤキャラクタ４０の画像データ、敵キャラクタの画像データ、その他のオブジェクトの画像データ等が記憶される。
【００７０】
プレイヤキャラクタデータ６１は、プレイヤキャラクタ４０のゲーム空間における位置を示すデータである。
【００７１】
敵キャラクタデータ６２は、敵キャラクタ４１のゲーム空間における位置、及び、敵キャラクタ４１の指示判定領域を表すデータである。「指示判定領域」とは、プレイヤが画面上を指示した場合に、敵キャラクタ４１が指示されたか否かを判定するための領域である。敵キャラクタ４１の指示判定領域は、敵キャラクタ４１が画面上に表示された場合の表示領域を含む領域であり、例えば、円柱形状であってもよい。なお、当該指示判定領域は、どのような形状であってもよく、敵キャラクタ４１の表示領域よりも小さい領域であってもよい。
【００７２】
タッチ位置データ６３は、プレイヤによるタッチ位置を示すデータの集合である。タッチ位置データ６３は、第２のＬＣＤ１２の画面上の位置に対応した座標値を示すデータである。タッチ位置データ６３には、少なくとも最新のタッチ位置とその直前のタッチ位置とが記憶される。
【００７３】
禁止エリアデータ６４は、禁止エリア５０の位置、形状、及びタイマーを示すデータである。禁止エリア５０のタイマーとは、禁止エリア５０の残りの存在時間を示す値であり、フレーム数によって表される。禁止エリア５０の保管禁止エリアデータ６５は、各保管禁止エリア５０ｉ（ｉは正の整数）の位置、形状、及び、タイマーを示すデータである。
【００７４】
次に、ゲーム処理の詳細について図１２を用いて説明する。図１２は、本実施形態に係るゲーム処理の詳細を示すメインフローチャートである。ゲーム装置１０の電源が投入されると、ゲーム装置１０のＣＰＵコア２１は、図示しないＲＯＭに記憶されている起動プログラムを実行し、これによってＲＡＭ２４等の各ユニットが初期化される。次に、ＲＯＭ１７ａに記憶されたゲームプログラムがＲＡＭ２４に読み込まれ、ＣＰＵコア２１によって当該ゲームプログラムの実行が開始される。図１２に示すフローチャートは、以上の処理が完了した後に行われるゲーム処理を示すフローチャートである。なお、図１２では、本発明に直接関連しないゲーム処理については記載を省略する。また、図１２に示すステップＳ１〜ステップＳ７の処理ループは、１フレーム（例えば１／３０秒。フレーム時間という）毎に繰り返し実行される。
【００７５】
まず、ステップＳ１において、ＣＰＵコア２１は、タッチパネル１５へのタッチを検出する。判定結果が肯定の場合、ＣＰＵコア２１は、検出したタッチ位置をタッチ位置データ６３として、ＲＡＭ２４に記憶する。判定結果が肯定の場合、ＣＰＵコア２１は、次に、ステップＳ２の処理を実行する。一方、判定結果が否定の場合、ＣＰＵコア２１は、次にステップＳ３の処理を実行する。
【００７６】
ステップＳ２において、ＣＰＵコア２１は、動作判定処理を行う。ここでは、検出したタッチ位置に基づいて、プレイヤキャラクタ４０の動作を判定する。ステップＳ２における動作判定処理の詳細を、図１３を用いて説明する。図１３は、動作判定処理（ステップＳ２）の詳細を示すフローチャートである。
【００７７】
ステップＳ１１において、ＣＰＵコア２１は、検出したタッチ位置が禁止エリア又は保管禁止エリアの内部に存在するか否かを判定する。具体的には、ＣＰＵコア２１は、ＲＡＭ２４のタッチ位置データ６３を参照して、ステップＳ１で検出した最新のタッチ位置を取得する。そして、ＣＰＵコア２１は、ＲＡＭ２４の禁止エリアデータ６４を参照して、取得した最新のタッチ位置が、禁止エリア５０の内部に存在するか否かを判定する。また、ＣＰＵコア２１は、ＲＡＭ２４の保管禁止エリアデータ６５を参照して、取得した最新のタッチ位置が、各保管禁止エリア５０ｉの内部に存在するか否かを判定する。判定結果が肯定の場合（すなわち、最新のタッチ位置が禁止エリア５０又は保管禁止エリア５０ｉ内に存在する場合）、ＣＰＵコア２１は、次にステップＳ１２の処理を実行する。一方、判定結果が否定の場合、ＣＰＵコア２１は、次にステップＳ１３の処理を実行する。
【００７８】
ステップＳ１２において、ＣＰＵコア２１は、プレイヤキャラクタ４０の動作を攻撃動作と判定して、当該動作判定処理を終了する。
【００７９】
ステップＳ１３において、ＣＰＵコア２１は、タッチ位置に対象物が存在するか否かを判定する。ここで、「対象物」とは、禁止エリア５０が設定される対象物であり、具体的には、上記敵キャラクタ４１である。なお、「対象物」は、上記敵キャラクタ４１以外のオブジェクトであってもよい。ステップＳ１３において、具体的には、ＣＰＵコア２１は、敵キャラクタデータ６２を参照して、最新のタッチ位置が敵キャラクタ４１の指示判定領域内に存在するか否かを判定する。判定結果が肯定の場合、ＣＰＵコア２１は、次にステップＳ１４の処理を実行する。判定結果が否定の場合、ＣＰＵコア２１は、次にステップＳ１６の処理を実行する。
【００８０】
ステップＳ１４において、ＣＰＵコア２１は、禁止エリア５０を発生させる。具体的には、ＣＰＵコア２１は、敵キャラクタデータ６２を参照して、敵キャラクタ４１の位置に予め定められた形状の禁止エリア５０を設定し、禁止エリアデータ６４としてＲＡＭ２４に記憶する。次に、ＣＰＵコア２１は、ステップＳ１５の処理を実行する。
【００８１】
ステップＳ１５において、ＣＰＵコア２１は、禁止エリア５０のタイマーを所定の値に設定し、ＲＡＭ２４に記憶する（禁止エリアデータ６４のタイマーをセットする）。例えば、ＣＰＵコア２１は、禁止エリア５０のタイマーを６０（時間に換算すると２秒）に設定する。ステップＳ１５の後、ＣＰＵコア２１は、ステップＳ１２の処理を実行する。
【００８２】
一方、ステップＳ１６において、ＣＰＵコア２１は、ダブルタッチか否かを判定する。具体的には、ＣＰＵコア２１は、タッチ位置データ６３を参照して、最新のタッチ位置とその直前のタッチ位置とが所定の範囲であり、かつ、それらのタッチが所定の時間内に検出されたか否かを判定する。例えば、ＣＰＵコア２１は、直前のタッチ位置と最新のタッチ位置との距離が閾値未満であり、かつ、直前のタッチが検出されてからの経過時間が９フレーム時間（０．３秒）以下であるか否かを判定する。判定結果が肯定の場合、ＣＰＵコア２１は、今回のタッチ操作はダブルタッチの２回目のタッチであると判定して、次にステップＳ１７の処理を実行する。一方、判定結果が否定である場合、ＣＰＵコア２１は、次にステップＳ１８の処理を実行する。
【００８３】
ステップＳ１７において、ＣＰＵコア２１は、プレイヤキャラクタ４０の動作を前転動作と判定して、当該動作判定処理を終了する。
【００８４】
ステップＳ１８において、ＣＰＵコア２１は、プレイヤキャラクタ４０の動作を通常移動の動作（すなわち、歩く動作）と判定して、当該動作判定処理を終了する。なお、ステップＳ１８で通常移動と判定されても、後述するステップＳ６において、プレイヤキャラクタ４０を歩いて移動させない場合がある。すなわち、ステップＳ１６におけるダブルタッチか否かの判定において、検出されたタッチ操作が、ダブルタッチの１回目のタッチ操作である可能性もある。従って、ステップＳ１６においてシングルタッチと判定されても、その後にダブルタッチが検出された場合は、１回目のタッチに応じた動作（歩く動作）は実行されない。
【００８５】
図１２に戻り、ステップＳ２の処理の後、ＣＰＵコア２１は、次にステップＳ３の処理を実行する。
【００８６】
ステップＳ３において、ＣＰＵコア２１は、移動処理を実行する。ステップＳ３の処理では、敵キャラクタ４１をゲーム空間で移動させるとともに、禁止エリア５０及び保管禁止エリア５０１を発生させる。ステップＳ３における移動処理の詳細を、図１４を用いて説明する。図１４は、移動処理（ステップＳ３）の詳細を示すフローチャートである。
【００８７】
ステップＳ２１において、ＣＰＵコア２１は、対象物（敵キャラクタ４１）を移動させるか否かを判定する。敵キャラクタ４１は、所定のアルゴリズムでゲーム空間を移動する（敵キャラクタ４１は、予め定められたパターン又はランダムにゲーム空間を移動する）。ＣＰＵコア２１は、時間やその他のゲーム状況に応じて、敵キャラクタ４１を移動させるか否かを判定する。さらに、ＣＰＵコア２１は、対象物を移動させると判定した場合、その移動方向と移動距離を示す移動ベクトルを決定する。判定結果が肯定の場合、ＣＰＵコア２１は、次にステップＳ２２の処理を実行する。一方、判定結果が否定の場合、ＣＰＵコア２１は、次にステップＳ２６の処理を実行する。
【００８８】
ステップＳ２２において、ＣＰＵコア２１は、対象物（敵キャラクタ４１）に設定されていた禁止エリア５０をコピーして、保管禁止エリア５０ｉとしてＲＡＭ２４に記憶する。具体的には、ＣＰＵコア２１は、禁止エリアデータ６４を参照して、禁止エリア５０の位置及び形状を取得し、保管禁止エリアデータ６５としてＲＡＭ２４に記憶する。次に、ＣＰＵコア２１は、ステップＳ２３の処理を実行する。
【００８９】
ステップＳ２３において、ＣＰＵコア２１は、保管禁止エリア５０ｉのタイマーを所定の値に設定し、ＲＡＭ２４に記憶する（保管禁止エリアデータ６５のタイマーをセットする）。例えば、ＣＰＵコア２１は、保管禁止エリア５０ｉのタイマーを１５（時間に換算すると０．５秒）に設定する。次に、ＣＰＵコア２１は、ステップＳ２４の処理を実行する。
【００９０】
ステップＳ２４において、ＣＰＵコア２１は、対象物を移動させる。具体的には、ＣＰＵコア２１は、敵キャラクタデータ６２を参照して、敵キャラクタ４１の位置を更新し（敵キャラクタ４１の現在位置を示す位置ベクトルにステップＳ２１で決定した移動ベクトルを加える）、ＲＡＭ２４に記憶する。次に、ＣＰＵコア２１は、ステップＳ２５の処理を実行する。
【００９１】
ステップＳ２５において、ＣＰＵコア２１は、対象物の移動に応じて、禁止エリア５０を移動させる。具体的には、ＣＰＵコア２１は、禁止エリアデータ６４を参照して、禁止エリア５０の位置を更新し（禁止エリア５０の現在位置を示す位置ベクトルにステップＳ２１で決定した移動ベクトルを加える）、ＲＡＭ２４に記憶する。次に、ＣＰＵコア２１は、ステップＳ２６の処理を実行する。
【００９２】
ステップＳ２６において、ＣＰＵコア２１は、禁止エリア５０、及び、各禁止エリア５０ｉのタイマーをデクリメントする。具体的には、ＣＰＵコア２１は、ＲＡＭ２４を参照して、禁止エリア５０のタイマーを１だけ減ずるとともに、各禁止エリア５０ｉのタイマーもそれぞれ１だけ減ずる。次に、ＣＰＵコア２１は、ステップＳ２７の処理を実行する。
【００９３】
ステップＳ２７において、ＣＰＵコア２１は、禁止エリア５０のタイマーが０か否かを判定する。ここでは、禁止エリア５０が発生してからの経過時間が、当該禁止エリア５０の存在期間に達しているか否かを判定する。判定結果が肯定の場合、ＣＰＵコア２１は、次にステップＳ２８の処理を実行する。一方、判定結果が否定の場合、ＣＰＵコア２１は、次にステップＳ２９の処理を実行する。
【００９４】
ステップＳ２８において、ＣＰＵコア２１は、禁止エリアデータ６４をＲＡＭ２４から削除することにより、禁止エリア５０を消滅させる。次に、ＣＰＵコア２１は、ステップＳ２９の処理を実行する。
【００９５】
ステップＳ２９において、ＣＰＵコア２１は、保管禁止エリア５０ｉのタイマーが０か否かを判定する。ここでは、各保管禁止エリア５０ｉが発生してからの経過時間が、当該各禁止エリア５０ｉの存在期間に達しているか否かを判定する。判定結果が肯定の場合、ＣＰＵコア２１は、次にステップＳ３０の処理を実行する。一方、判定結果が否定の場合、ＣＰＵコア２１は、当該移動処理を終了する。
【００９６】
ステップＳ３０において、ＣＰＵコア２１は、保管禁止エリアデータ６５を参照して、保管禁止エリア５０ｉを消滅させる。ここでは、タイマーが０になった保管禁止エリア５０ｉを消滅させる処理である。ステップＳ２９及びステップＳ３０においては、各保管禁止エリア５０ｉのタイマーが判定され、タイマーが０となっている保管禁止エリア５０ｉのみ消滅させる。ステップＳ３０の処理の後、ＣＰＵコア２１は、当該移動処理を終了する。
【００９７】
図１２に戻り、ステップＳ３の処理の後、ＣＰＵコア２１は、次にステップＳ４の処理を実行する。
【００９８】
ステップＳ４において、ＣＰＵコア２１は、プレイヤキャラクタ４０と対象物（敵キャラクタ４１）との間に壁オブジェクト４３が存在するか否かを判定する。具体的には、ＣＰＵコア２１は、ＲＡＭ２４を参照して、プレイヤキャラクタ４０の位置と敵キャラクタ４１の位置とを結んだ直線上に、壁オブジェクト４３が存在するか否かを判定する。判定結果が肯定の場合、ＣＰＵコア２１は、次にステップＳ５の処理を実行する。一方、判定結果が否定の場合、ＣＰＵコア２１は、次にステップＳ６の処理を実行する。
【００９９】
ステップＳ５において、ＣＰＵコア２１は、禁止エリア５０及び保管禁止エリア５０ｉを消滅させる。ここでは、ＣＰＵコア２１は、上述したステップＳ２８及びステップＳ３０と同様の処理を実行する。ＣＰＵコア２１は、次にステップＳ６の処理を実行する。
【０１００】
ステップＳ６において、ＣＰＵコア２１は、その他のゲーム処理を実行する。具体的には、ステップＳ６において、ＣＰＵコア２１は、上記動作判定処理や移動処理の結果に応じて、プレイヤキャラクタ４０及び敵キャラクタ４１のパラメータを変更したり、描画処理を行ったりする。例えば、上記動作判定処理において、プレイヤキャラクタ４０の動作が攻撃動作と判定された場合（ステップＳ１２）、ＣＰＵコア２１は、プレイヤキャラクタ４０がタッチ位置に対応したゲーム空間の位置に歩いて移動した後、当該タッチ位置に対して攻撃動作を行う様子を画面に表示する。この場合において、タッチ位置に敵キャラクタ４１が存在する場合は、ＣＰＵコア２１は、プレイヤキャラクタ４０が敵キャラクタ４１を攻撃する様子を画面に表示したり、敵キャラクタ４１の生命パラメータを減少させたりする。一方、タッチ位置に敵キャラクタ４１が存在しない場合は、ＣＰＵコア２１は、プレイヤキャラクタ４０が空振りする様子を画面に表示する。また、例えば、上記動作判定処理において、プレイヤキャラクタ４０の動作が前転動作と判定された場合（ステップＳ１７）、ＣＰＵコア２１は、現時点のプレイヤキャラクタ４０の位置からタッチ位置に対応したゲーム空間の位置に向かって、プレイヤキャラクタ４０が前転する様子を画面に表示し、プレイヤキャラクタ４０のゲーム空間における位置を更新する。次に、ＣＰＵコア２１は、ステップＳ７の処理を実行する。
【０１０１】
ステップＳ７において、ＣＰＵコア２１は、ゲーム終了か否かを判定し、肯定の場合、ゲーム処理を終了し、否定の場合、ステップＳ１に戻って、ゲーム処理を繰り返す。例えば、ＣＰＵコア２１は、プレイヤによってゲーム処理の終了を示す入力装置のボタン（例えば、セレクトスイッチ１４ｃ）が押された場合、ゲーム処理を終了する。以上で、本実施形態に係るゲーム処理は終了する。
【０１０２】
なお、上述した処理において用いられた条件や数値、あるいは、処理の順番等は、単なる例示に過ぎない。すなわち、上記条件や数値は、適宜調整されてもよいし、上記処理の順番はどのような順番であってもよい。
【０１０３】
以上説明したように、禁止エリアを設定し、それを所定時間保持することにより、プレイヤが攻撃しようと意図してタッチを繰り返した場合、プレイヤキャラクタ４０に攻撃動作を行わせることができる。すなわち、プレイヤが意図した通りの動作をプレイヤキャラクタに行わせることができる。
【０１０４】
なお、上記実施形態では、禁止エリアが設定されている場合は、前転動作を禁止して攻撃動作を行い、禁止エリアが設定されていない場合は、前転動作を行うこととしたが、プレイヤキャラクタ４０が行う動作はどのようなものであってもよい。例えば、禁止エリアが設定されていない位置へのシングルタッチを検出すると、プレイヤキャラクタ４０に当該タッチ位置へジャンプ移動させてもよい。この場合において、当該タッチ位置に禁止エリアが設定されている場合、プレイヤキャラクタ４０に当該ジャンプ移動をさせない（禁止する）ようにしてもよい。
【０１０５】
すなわち、プレイヤによる所定の操作（タッチ操作）に応じてプレイヤキャラクタ４０に第１の動作（例えば、前転移動動作）を行わせる場合において、タッチ位置に禁止エリア（又は保管禁止エリア）が設定されている場合、プレイヤキャラクタ４０に上記第１の動作を行わせない（禁止する）ようにしてもよい。つまり、上記実施形態では、タッチ位置に禁止エリア（又は保管禁止エリア）が設定されている場合、プレイヤキャラクタ４０に前転動作の替わりに攻撃動作を行わせたが、他の実施形態では、プレイヤキャラクタ４０に前転動作も攻撃動作も行わせないようにしてもよい。
【０１０６】
また、本実施形態では、上記禁止エリアを敵キャラクタの移動に追従して移動させ、移動前の位置に保管禁止エリアを発生させた。他の実施形態では、ユーザによる敵キャラクタのタッチ操作に応じて、敵キャラクタの位置に上記禁止エリアを発生させ、所定時間経過するまで当該禁止エリアを（その位置に）保持してもよい。すなわち、禁止エリアは敵キャラクタの移動に追従して移動する必要はなく、ユーザのタッチ操作に応じて発生させ、発生から所定時間保持させればよい。
【０１０７】
また、本実施形態では、タッチ操作に応じて前転や攻撃等の動作をプレイヤキャラクタに行わせた。具体的には、ダブルタッチ（所定時間における２回のタッチ操作）に応じてプレイヤキャラクタに前転を行わせる場合において、タッチ位置に禁止エリアが設定されている場合、ダブルタッチを検出しても前転を行わせず、攻撃を行わせた。他の実施形態では、プレイヤによる位置を指示するための操作とプレイヤキャラクタに第１の動作を行わせるための操作とは異なるものであってもよい。例えば、十字スイッチ１４ａによって画面に表示されたポインタを操作し、Ａボタン１４ｄが押された場合に、当該ポインタの位置をプレイヤが指示した位置としてもよい。例えば、Ｂボタン１４ｅが押された場合に、プレイヤキャラクタに上記第１の動作を行わせてもよい。そして、プレイヤによる指示位置に禁止エリアが設定されている場合、Ｂボタン１４ｅが押された場合でも上記第１の動作を行わせないようにしてもよい。すなわち、他の実施形態では、入力装置（入力デバイス）への第１の操作が行われている場合にプレイヤキャラクタに第１の動作を行わせてもよい。そして、プレイヤによって指示された画面上の位置が禁止エリア内に存在する場合、上記第１の操作が検出されても上記第１の動作を行わせないようにしてもよい（第１の動作を禁止する）。
【０１０８】
また、本実施形態では、プレイヤが敵キャラクタ４１をタッチした場合に、上記禁止エリアが設定され、所定時間経過後に当該禁止エリアを消滅させた。他の実施形態では、禁止エリアの発生タイミングはどのようなものであってもよい。例えば、敵キャラクタ４１に予め禁止エリアが設定されており、敵キャラクタ４１の移動に応じて禁止エリアも移動させてもよい。この場合、敵キャラクタ４１の移動に応じて、上記保管禁止エリアが移動前の敵キャラクタ４１の位置で設定される（移動前の位置で禁止エリアが保持される）。また、所定のタイミングで敵キャラクタ４１に禁止エリアを設定し、敵キャラクタ４１が移動した場合に、移動前の位置に禁止エリアを保持してもよい。また、例えば、敵キャラクタ４１とプレイヤキャラクタ４０との距離が所定の距離よりも短くなったタイミングで、上記禁止エリアが設定されてもよいし、敵キャラクタ４１が画面上に表示された時点で、上記禁止エリアが設定されてもよい。そして、敵キャラクタ４１の移動に応じて、移動前の位置に禁止エリアが保持されてもよい（保管禁止エリアが設定されてもよい）。すなわち、敵キャラクタ４１とプレイヤキャラクタ４０との距離が所定の距離よりも短くなった時点で、上記禁止エリアを敵キャラクタ４１の位置に設定する。これにより、当該敵キャラクタ４１へのダブルタッチを検出した場合でも、当該敵キャラクタ４１への前転を禁止して、プレイヤキャラクタ４０に敵キャラクタ４１に対する攻撃（連続攻撃）を行わせることができる。また、敵キャラクタ４１とプレイヤキャラクタ４０との距離が所定の距離よりも短い状態で、敵キャラクタ４１が移動した場合、移動前の位置に禁止エリアを保持する。これにより、移動前の位置へのダブルタッチを検出した場合、ゲーム装置１０は、敵キャラクタ４１への攻撃が行われたと判断して、移動前の位置への攻撃動作（空振り動作）をプレイヤキャラクタ４０に行わせることができる。
【０１０９】
また、他の実施形態では、禁止エリア及び／又は保管禁止エリアの存在期間（設定されてから消滅するまでの期間）は、オブジェクトの種類に応じて定められてもよい。例えば、動作が速いオブジェクトに対して設定される、上記禁止エリア及び／又は保管禁止エリアの存在期間を、動作の遅いオブジェクトよりも短くしてもよい。
【０１１０】
また、上記禁止エリア及び保管禁止エリアは、どのような形状及び大きさであってもよいし、１つのオブジェクトに対して複数設定されてもよい。例えば、禁止エリア及び保管禁止エリアは、３次元の形状であってもよい。また、上記禁止エリア及び保管禁止エリアは、オブジェクトの種類に応じて、形状が定められてもよい。例えば、画面上を左右に移動するオブジェクトに対しては、禁止エリアは、画面の上下方向よりも左右方向に大きな形状となるように設定されてもよい。
【０１１１】
また、プレイヤキャラクタ４０及び／又は敵キャラクタ４１の移動によって、プレイヤキャラクタ４０と敵キャラクタ４１との位置関係が所定の条件を満たすまで、禁止エリアを保持してもよい。例えば、プレイヤキャラクタ４０と敵キャラクタ４１との間に他のオブジェクト（壁オブジェクト４３、川オブジェクトや道オブジェクト等）が存在するまで、禁止エリアを保持してもよい。また、例えば、プレイヤキャラクタ４０と敵キャラクタ４１とが所定の距離以上離れるまで、禁止エリア等を保持してもよい。さらに、上記位置関係が所定の条件を満たす場合、禁止エリア等を発生させなくてもよい。例えば、プレイヤキャラクタ４０と敵キャラクタ４１との間に他のオブジェクトが存在する場合、禁止エリア等を発生させなくてもよい。
【０１１２】
また、本実施形態では、敵キャラクタ４１はプレイヤによって操作させるプレイヤキャラクタとは異なるキャラクタであって、ゲーム装置１０によって自動的に制御されるキャラクタであるとした。他の実施形態では、プレイヤ同士による対戦型のゲームにおいて、上記プレイヤキャラクタの制御方法が適用されてもよい。例えば、上記プレイヤキャラクタ４０を第１のプレイヤによって操作されるプレイヤキャラクタＡとし、上記敵キャラクタ４１を第２のプレイヤによって操作されるプレイヤキャラクタＢに代替し、上記方法を適用してもよい。すなわち、第１のプレイヤによる操作に応じてプレイヤキャラクタＡを移動させたり、プレイヤキャラクタＢに攻撃したりする場合において、プレイヤキャラクタＢに禁止エリア等を設定してもよい。これにより、第１のプレイヤの意図した通りにプレイヤキャラクタＡを操作することができる。
【０１１３】
また、上記実施形態における禁止エリアを、許可エリアに置き換えてもよい。ここで、「許可エリア」は、敵キャラクタ４１の位置に設定される領域であり、プレイヤキャラクタ４０に敵キャラクタ４１を攻撃させるための領域である。プレイヤが許可エリア（又は保管許可エリア）をタッチした場合に、プレイヤキャラクタ４０に攻撃動作を行わせてもよい。すなわち、所定のオブジェクト（敵キャラクタ）の位置に許可エリアを設定し、当該オブジェクトが移動した場合に移動前の位置に保管許可エリアを設定してもよい。そして、プレイヤによって指示された位置が許可エリア又は保管許可エリアに存在する場合にのみ、プレイヤキャラクタに攻撃動作を行わせてもよい。
【０１１４】
また、本実施形態では、携帯型のゲーム装置を例に説明したが、他の実施形態では、据置型のゲーム装置に上記方法が適用されてもよい。
【０１１５】
例えば、図１５に示すゲームシステムにおいても、上記オブジェクトの制御方法が適用されてもよい。図１５は、他の実施形態におけるゲームシステムの外観を示す外観図である。図１５において、ゲームシステム１は、テレビ２、ゲーム装置３、光ディスク４、コントローラ５、及びマーカ部６を含む。本システムは、コントローラ５を用いたゲーム操作に基づいて、ゲーム装置３が光ディスク４に記憶されたゲームプログラムを実行するものである。ユーザは、コントローラ５を用いてテレビ画面上の位置を指示する（ポインティングする）。具体的には、コントローラ５には撮像情報演算部３５が設けられ、当該撮像情報演算部３５の撮像手段は、マーカ部６のマーカ６Ｒ及び６Ｌからの赤外光を受光する。そして、コントローラ５は、撮像手段が撮像した画像データを解析してマーカ６Ｒ及び６Ｌの位置を算出することにより、ユーザによるポインティング位置（ユーザが指示するテレビ画面上の位置）を算出する。ポインティング位置は、理想的には、コントローラ５の前端部から当該コントローラ５の長手方向に延ばした直線とテレビの画面とが交わる位置である。このようなゲームシステム１において、上述したオブジェクトの制御方法が適用されてもよい。例えば、ユーザは、コントローラ５でテレビ画面上の所定の位置を指示してコントローラ５のボタン５ａを押すことにより、画面に表示されたオブジェクトを操作する。指示された位置に上記禁止エリアが設定されている場合、オブジェクトによる所定の動作を禁止し、指示された位置に上記禁止エリアが設定されていない場合、オブジェクトに所定の動作を行わせてもよい。
【０１１６】
また、他の実施形態では、表示装置とタッチパネルとを有する任意の情報処理装置（例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話等）や、マウス等のポインティングデバイスを備えたパーソナルコンピュータにも上記方法が適用されてもよい。
【０１１７】
また、他の実施形態では、ネットワークに接続された端末とサーバとによって構成されるコンピュータシステムにおいて、上記オブジェクトの制御方法が適用されてもよい。例えば、ユーザによって操作される端末の画面上の位置を当該端末の入力装置（例えば、マウス）を用いて指示することにより、サーバ上で管理された操作オブジェクトを制御してもよい。この場合において、当該端末は、ネットワークを介して指示された位置を上記サーバに送信する。一方、サーバは、上記操作オブジェクトや他のオブジェクトを管理したり、上記禁止エリア（又は保管禁止エリア）の設定及び保持を管理したりする。そして、サーバは、指示された位置に上記禁止エリア（又は保管禁止エリア）が存在するか否かを判定して、判定結果に応じて上記操作オブジェクトに所定の動作を行わせてもよい。このようなコンピュータシステムにおいては図１２に示す処理はサーバ上で行われるが、図１２に示す処理の一部が端末において実行されてもよい。例えば、ステップＳ１のタッチ検出処理（指示位置の検出処理）、及び、ステップＳ２の動作判定処理を端末側で実行し、動作判定の結果をサーバに送信してもよい。
【０１１８】
また、本実施形態においては、ゲーム装置１０のＣＰＵコア２１がゲームプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置１０が備える専用回路によって行われてもよい。
【符号の説明】
【０１１９】
１０  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  フラッシュ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  Ｉ／Ｆ回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０ａ  右スピーカ
３０ｂ  左スピーカ
３１  ＬＣＤコントローラ
３２  レジスタ
３３  マイクロフォン用孔
３４  ワイヤレス通信部
３５  挿入口
３６  挿入口
３７  マイクロフォン
４０  プレイヤキャラクタ
４１  敵キャラクタ
４２  木オブジェクト
４３  壁オブジェクト
５０  禁止エリア
５０１、５０２  保管禁止エリア
【図１】
2011096080.tif 000003
【図２】
2011096080.tif 000004
【図３】
2011096080.tif 000005
【図４】
2011096080.tif 000006
【図５】
2011096080.tif 000007
【図６】
2011096080.tif 000008
【図７Ａ】
2011096080.tif 000009
【図７Ｂ】
2011096080.tif 000010
【図８】
2011096080.tif 000011
【図９】
2011096080.tif 000012
【図１０】
2011096080.tif 000013
【図１１】
2011096080.tif 000014
【図１２】
2011096080.tif 000015
【図１３】
2011096080.tif 000016
【図１４】
2011096080.tif 000017
【図１５】
2011096080.tif 000018