(57)【要約】      【課題】  タッチパネルを使ってアミダ線を描くことにより、オブジェクトを正しくゴールに導くゲームを提供する。      【解決手段】  プレイヤはタッチパネル１５を介してアミダ線の横線３９ｂを入力する。そして正しく横線を追加し、オブジェクトを正しいゴールに導く。このときタッチ操作の内容を判定し、判定内容に応じて正しくアミダ線の横線が追加されるように処理する。タッチ操作の軌跡が、縦線と交差しなかったときには描画開始点と終了点に基づいて横線を追加する。１つの縦線と交差したときは交点と判定点に基づいて横線を追加する。２つ以上の縦線と交差したときには最初の二つの交点に基づいて横線を追加する。【選択図】    図１０
2006102123.tif 000002
【特許請求の範囲】
【請求項１】
表示手段を備え、表示手段に重ねて形成されたタッチパネルを操作してプレイするゲーム装置であって、
複数の相互に交わらない関係にある第１の線と、これら第１の線の内、隣合う線同志を結び、かつその交点を端部とした複数の第２の線から成るアミダ線状の線データを記憶した、線データ記憶手段
前記表示手段に、前記線データ記憶手段に基づいて、アミダ線状の線画像を表示する線描画手段、
前記タッチパネルを連続的にタッチした軌跡に基づいて、手書き線データを入力する線データ入力手段、
前記入力された手書き線データと前記アミダ線状の線データとの関係を判定し、判定に応じた線データを前記線データ記憶手段に追加記憶する、線データ判定追加手段、
少なくとも一つのオブジェクトを、前記線データに基づいて、一方通行で前記表示手段上を移動表示させる、オブジェクト移動表示手段、
前記オブジェクト移動表示手段に応じて、前記オブジェクトが、所定の表示位置に到達したかどうかを判定する、ゴール判定手段を備えたゲーム装置。
【請求項２】
前記線データ判定追加手段は、前記手書き線データの開始位置と終了位置とが、隣り合う２つの前記第１の線の中間線をまたぐ位置関係でないときには、前記手書き線データの入力が無いと判定し、線データを追加記憶しない、請求項１に記載のゲーム装置。
【請求項３】
前記線データ判定追加手段は、前記手書き線データの開始位置と終了位置とが、前記第１の線のいずれか１本と交差している位置関係であるときには、交点を、追加する線データの一方の端部とし、開始位置と終了位置のいずれか一方であって、該交点から遠い側の位置に最も近い前記第１の線上の位置を、他方の端部とする、請求項１に記載のゲーム装置。
【請求項４】
前記線データ判定追加手段は、前記手書き線データの開始位置と終了位置とが、前記第１の線の２本以上と交差する位置関係であるとき、開始位置からみて、一つ目の交点を、追加する線データの一方端部とし、二つ目の交点を、多方端部とする、請求項１に記載のゲーム装置。
【請求項５】
表示手段と、表示手段に重ねて形成されたタッチパネルと、線データ記憶手段とを備えたゲーム装置であって、線データ記憶手段は、複数の相互に交わらない関係にある第１の線とこれら第１の線の内隣合う線同志を結び、かつその交点を端部とした複数の第２の線から成るアミダ線状の線データを記憶したゲーム装置を、タッチパネルを操作してプレイするゲーム装置として機能させるゲームプログラムであって、ゲーム装置のコンピュータに、
前記表示手段に、前記線データ記憶手段に基づいて、アミダ線状の線画像を表示する線描画ステップ、
前記タッチパネルを連続的にタッチした軌跡に基づいて、手書き線データを入力する線データ入力ステップ、
前記入力された手書き線データと前記アミダ線状の線データとの関係を判定し、判定に応じた線データを前記線データ記憶手段に追加記憶する、線データ判定追加ステップ、
少なくとも一つのオブジェクトを、前記線データに基づいて、一方通行で前記表示手段上を移動表示させる、オブジェクト移動表示ステップ、
前記オブジェクト移動表示手段に応じて、前記オブジェクトが、所定の表示位置に到達したかどうかを判定する、ゴール判定ステップを実行させるゲームプログラム。
【請求項６】
前記線データ判定追加ステップは、前記手書き線データの開始位置と終了位置とが、隣り合う２つの前記第１の線の中間線をまたぐ位置関係でないときには、前記手書き線データの入力が無いと判定し、線データを追加記憶しない、請求項５に記載のゲームプログラム。
【請求項７】
前記線データ判定追加ステップは、前記手書き線データの開始位置と終了位置とが、前記第１の線のいずれか１本と交差している位置関係であるときには、交点を、追加する線データの一方の端部とし、開始位置と終了位置のいずれか一方であって該交点から遠い側の位置に最も近い前記第１の線上の位置を、他方の端部とする、請求項５に記載のゲームプログラム。
【請求項８】
前記線データ判定追加ステップは、前記手書き線データの開始位置と終了位置とが、前記第１の線の２本以上と交差する位置関係であるとき、開始位置からみて、一つ目の交点を、追加する線データの一方端部とし、二つ目の交点を多方端部とする、請求項５に記載のゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はゲーム装置およびゲームプログラムに関し、特に例えば、タッチパネルのタッチ操作に基づいて、オブジェクトの移動経路を追加し、オブジェクトを所望の位置に導くようなパズルゲームをプレイするゲーム装置およびゲームプログラムに関する。
【背景技術】
【０００２】
古くから、アミダくじを引く遊びが知られている。アミダくじでは、複数の縦線がまず紙の上などに平行に描かれ、一方の端部にはあたりやはずれなど、何らかの特典にかかる記号や情報を記載し、この記載が見えないように隠しておく。そして、平行する複数の縦線の隣合う２本の直線に端部が接するように、横線を無秩序に複数描いた上で、特典が記載された端部とは反対側の端部において、いずれかの縦線をくじの参加者に選ばせる。このとき横線を無秩序に描いたことにより、横線を描いた人間や特典を記載した人間ですら、どの縦線の端部が特典に結びつくか予測することができないので、公平なくじを引くことができる。
【０００３】
特許文献１に記載の技術では、このようなアミダくじの原理をビデオゲームに応用した技術を開示している。アミダくじの線を、水滴がたどる経路に設定し、複数の縦経路の上方端部からは水滴が注入され、下方端部には種子が表示されている。プレイヤは横線にあたる経路を、縦線に適宜追加或いは削除し、水滴が種子にうまく落下するように、経路を作っていく。このとき、下方端部には複数の種子が表示され、一方上方端部においては、水滴はどの経路に注入されるかが分からないので、上手く経路を設定しないと、ゲームクリアができないように配慮されている。
【０００４】
【特許文献１】特開１２０１−７３９
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、アミダくじのような経路を通過してきた水滴が、種子に落下した回数と、この回数に応じた種子の変化、すなわち発芽して成長することが重視されており、アミダくじの本来の楽しみである、横線の追加と、予測の困難性をより楽しむことについては、配慮されていなかった。また、横線の追加については、カーソルを操作部によって動かし、経路の追加箇所に持っていくよう構成されており、本来のアミダくじのように、横線を描くことそれ自体の楽しみが再現されていなかった。すなわち、一般的なパソコンにおける入力と同じ操作を強いられるので、プレイヤはゲーム本来の楽しみを阻害される恐れがあった。
【０００６】
それ故にこの発明の主たる目的は、アミダくじの興趣性を採り入れ、かつタッチパネル操作を組み合わせた、新しいゲームを提供することである。
この発明のその他の目的は、タッチパネル操作を上手く行うことができるように、タッチパネル操作特有の操作誤差を吸収した、新しいゲームを提供することである。
【課題を解決するための手段】
【０００７】
請求項１の発明は、表示手段（図１および図２の１１，１２：実施例で相当する参照番号。以下同様）を備え、表示手段に重ねて形成されたタッチパネル（１５）を操作してプレイするゲーム装置（１０）であって、線データ記憶手段（２４）と、線描画手段（２１，２６，２７）と、線データ入力手段（１５，２１）と、線データ判定追加手段（２１，２４）と、オブジェクト移動表示手段（２１，２４，２６，２７，２８，２９，３１，３２）と、ゴール判定手段（２１，２４）とを備える。
【０００８】
線データ記憶手段は、複数の相互に交わらない関係にある第１の線と、これら第１の線の内、隣合う線同志を結び、かつその交点を端部とした複数の第２の線から成るアミダ線状の線データを記憶している。線描画手段は、表示手段に、線データ記憶手段に基づいて、アミダ線状の線画像を表示する。線データ入力手段は、タッチパネルを連続的にタッチした軌跡に基づいて、手書き線データを入力する。線データ判定追加手段は、入力された手書き線データとアミダ線状の線データとの関係を判定し、判定に応じた線データを線データ記憶手段に追加記憶する。オブジェクト移動表示手段は、少なくとも一つのオブジェクトを、線データに基づいて、一方通行で表示手段上を移動表示させる。そして、ゴール判定手段は、オブジェクト移動表示手段に応じて、オブジェクトが、所定の表示位置に到達したかどうかを判定する。
【０００９】
請求項２の発明は、請求項１に従属し、線データ判定追加手段は、手書き線データの開始位置と終了位置とが、隣り合う２つの第１の線の中間線をまたぐ位置関係でないときには、手書き線データの入力が無いと判定し、線データを追加記憶しない。
【００１０】
請求項３の発明は、請求項１に従属し、線データ判定追加手段は、手書き線データの開始位置と終了位置とが、第１の線のいずれか１本と交差している位置関係であるときには、交点を、追加する線データの一方の端部とし、開始位置と終了位置のいずれか一方であって、該交点から遠い側の位置に最も近い第１の線上の位置を、他方の端部とする。
【００１１】
請求項４の発明は、請求項１に従属し、線データ判定追加手段は、手書き線データの開始位置と終了位置とが、第１の線の２本以上と交差する位置関係であるとき、開始位置からみて、一つ目の交点を、追加する線データの一方端部とし、二つ目の交点を、多方端部とする。
【００１２】
請求項５の発明は、表示手段と、表示手段に重ねて形成されたタッチパネルと、線データ記憶手段とを備えたゲーム装置であって、線データ記憶手段は、複数の相互に交わらない関係にある第１の線とこれら第１の線の内隣合う線同志を結び、かつその交点を端部とした複数の第２の線から成るアミダ線状の線データを記憶したゲーム装置を、タッチパネルを操作してプレイするゲーム装置として機能させるゲームプログラムであって、ゲーム装置のコンピュータに、線描画ステップ（３３ｆ，３４ｃ，Ｓ１２）と、線データ入力ステップ（３３ｃ，３４ａ，３４ｂ，Ｓ１３）と、線データ判定追加ステップ（３３ｄ，３３ｅ，３４ｃ，Ｓ１３）と、オブジェクト移動表示ステップ（３３ｇ，３４ｄ，Ｓ１４）と、ゴール判定ステップ（３３ｈ，３４ｅ，３４ｄ，Ｓ１５，Ｓ１６）とを実行させる。
【００１３】
線描画ステップは、表示手段に、線データ記憶手段に基づいて、アミダ線状の線画像を表示する。線データ入力ステップは、タッチパネルを連続的にタッチした軌跡に基づいて、手書き線データを入力する。線データ判定追加ステップは、入力された手書き線データとアミダ線状の線データとの関係を判定し、判定に応じた線データを線データ記憶手段に追加記憶する。オブジェクト移動表示ステップは、少なくとも一つのオブジェクトを、線データに基づいて、一方通行で表示手段上を移動表示させる。ゴール判定ステップは、オブジェクト移動表示手段に応じて、オブジェクトが、所定の表示位置に到達したかどうかを判定する。
【００１４】
請求項６の発明は、請求項５に従属し、線データ判定追加ステップは、手書き線データの開始位置と終了位置とが、隣り合う２つの第１の線の中間線をまたぐ位置関係でないときには、手書き線データの入力が無いと判定し、線データを追加記憶しない。
【００１５】
請求項７の発明は、請求項５に従属し、線データ判定追加ステップは、手書き線データの開始位置と終了位置とが、第１の線のいずれか１本と交差している位置関係であるときには、交点を、追加する線データの一方の端部とし、開始位置と終了位置のいずれか一方であって該交点から遠い側の位置に最も近い第１の線上の位置を、他方の端部とする。
【００１６】
請求項８の発明は、請求項５に従属し、線データ判定追加ステップは、手書き線データの開始位置と終了位置とが、第１の線の２本以上と交差する位置関係であるとき、開始位置からみて、一つ目の交点を、追加する線データの一方端部とし、二つ目の交点を多方端部とする。
【発明の効果】
【００１７】
請求項１に記載の発明によれば、表示画面上で実際に描くように横線を追加でき、さもアミダくじを描いているような楽しみをユーザに提供できる。また、手書きされた線と縦線との関係に応じて、最終的に追加される横線が描画されるので、タッチパネルの操作特有の操作感とのずれを吸収でき、描画の操作感を向上できる。さらに、アミダの線上をオブジェクトが移動しており、このオブジェクトを正しくゴールに導くように横線を追加しなければならないので、アミダの作画にオブジェクトの移動を加味した新しいゲームを提供することができる。
【００１８】
請求項２に記載の発明によれば、請求項１の発明に加えて、誤入力と考え得るような、非常に短い線の入力があったとき、これが実際に描画されることが無いので、タッチパネルの操作感をより向上することができる。
請求項３に記載の発明によれば、請求項１の発明に加えて、必ずしも正確に縦線と交わるように横線を描画することなく、効率的に横線を追加することができるので、さらにタッチパネルの操作感を向上することができる。
請求項４に記載の発明によれば、請求項１の発明に加えて、縦線２本に交差するようタッチ操作を行ったつもりが、タッチ入力を急いで行うなど、３本以上の縦線と交差してしまう誤操作を行っても、縦線２本に対して横線が追加されるので、さらにタッチパネルの操作感を向上することができる。
【００１９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２０】
図１を参照して、この発明の一実施例であるゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１１および第２のＬＣＤ１２を含む。このＬＣＤ１１およびＬＣＤ１２は、所定の配置位置となるようにハウジング１３に収納される。この実施例では、ハウジング１３は、上側ハウジング１３ａと下側ハウジング１３ｂとによって構成され、ＬＣＤ１１は上側ハウジング１３ａに収納され、ＬＣＤ１２は下側ハウジング１３ｂに収納される。したがって、ＬＣＤ１１とＬＣＤ１２とは縦（上下）に並ぶように近接して配置される。
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ（Electronic Luminescence）ディスプレイなどを用いるようにしてもよい。
【００２１】
図１からも分かるように、上側ハウジング１３ａは、ＬＣＤ１１の平面形状よりも大きな平面形状を有し、一方主面からＬＣＤ１１の表示面を露出するように開口部が形成される。一方、下側ハウジング１３ｂは、その平面形状が上側ハウジング１３ａと同程度に形成され、横方向の略中央部にＬＣＤ１２の表示面を露出するように開口部が形成される。また、上側ハウジング１３ａには、音抜き孔１８が形成される。音抜き穴１８は上側ハウジングに形成されたＬＣＤ１１を挟むように、右側に音抜き穴１８ａと左側に音抜き穴１８ｂが対称に形成される。またハウジング１３には操作スイッチ１４（１４ａ，１４ｂ，１４ｃ，１４ｄ，１４ｅ，１４ｆおよび１４ｇ，１４Ｌ，１４Ｒ）および電源スイッチ２１が配置される。
【００２２】
また、上側ハウジング１３ａと下側ハウジング１３ｂとは、上側ハウジング１３ａの下辺（下端）と下側ハウジング１３ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１１の表示面とＬＣＤ１２の表示面とが対面するように、上側ハウジング１３ａを回動させて折りたたんでおけば、ＬＣＤ１１の表示面およびＬＣＤ１２の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１３ａと下側ハウジング１３ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１３を形成するようにしてもよい。
【００２３】
操作スイッチ１４は、方向指示スイッチ（十字スイッチ）１４ａ，スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、動作スイッチ（Ａボタン）１４ｄ、動作スイッチ（Ｂボタン）１４ｅ、動作スイッチ（Ｘボタン）１４ｆ、動作スイッチ（Ｙボタン）１４ｇ、動作スイッチ（Ｌボタン）１４Ｌおよび動作スイッチ（Ｒボタン）１４Ｒを含む。スイッチ１４ａは、下側ハウジング１３ｂの一方主面において、ＬＣＤ１２の左側に配置される。また、スイッチ１４ｂないし１４ｇは、下側ハウジング１３ｂの一方主面において、ＬＣＤ１２の右側に配置される。さらに、スイッチ１４Ｌおよびスイッチ１４Ｒは、それぞれ、下側ハウジング１３ｂの上端（天面）の一部において、上側ハウジング１３ａとの連結部以外に当該連結部を挟むように、左右に配置される。
【００２４】
方向指示スイッチ１４ａは、ディジタルジョイスティックとして機能し、４つの押圧部の１つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ１４ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止（Pause）したりする等に用いられる。セレクトスイッチ１４ｃは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【００２５】
動作スイッチ１４ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(ＲＰＧ)やシミュレーションＲＰＧにおいては、アイテムの取得、武器またはコマンドの選択および決定等を指示することができる。動作スイッチ１４ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ１４ｃで選択したゲームモードの変更やＡボタン１４ｄで決定したアクションの取り消し等のために用いられる。
【００２６】
動作スイッチ１４ｅすなわちＸボタン、および動作スイッチ１４ｆすなわちＹボタンは、プッシュボタンで構成され、プッシュボタンＡとプッシュボタンＢだけでは、ゲーム進行ができないときに、補助的な操作ボタンとして用いられる。もちろん、ゲームプレイにおいてＸボタンとＹボタンを必ずしも使用しなくてよい。
【００２７】
動作スイッチ１４Ｌ（左押しボタン）および動作スイッチ１４Ｒ（右押しボタン）は、プッシュボタンで構成され、左押しボタン（Ｌボタン）１４Ｌおよび右押しボタン（Ｒボタン）１４Ｒは、Ａボタン１４ｄおよびＢボタン１４ｅと同様の操作に用いることができ、また、Ａボタン１４ｄおよびＢボタン１４ｅの補助的な操作に用いることができる。
【００２８】
また、このゲーム装置１０はタッチパネルを用いたゲーム装置であり、ＬＣＤ１２の上面には、タッチパネル１５が装着される。タッチパネル１５としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル１５は、その上面をスティック１６ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック１６等」という場合がある。）で、押圧したり撫でたり（触れたり）することにより操作すると、スティック１６等の座標位置を検出して座標データを出力する。
【００２９】
なお、この実施例では、ＬＣＤ１２（ＬＣＤ１１も同じ、または略同じ。）の表示面の解像度は２２８ｄｏｔ×１９２ｄｏｔであり、タッチパネル１５の検出精度も表示画面に対応して２２８ｄｏｔ×１９２ｄｏｔとしてあるが、タッチパネル１５の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【００３０】
この実施例では、たとえばタッチパネル１５の設けられるＬＣＤ１２には、プレイヤに見せかつ操作させるためのゲーム画面が表示され、ＬＣＤ１１にはプレイヤに見せるためのゲーム画面が表示される。具体的には、ＬＣＤ１１には横線と縦線で形成されたアミダくじのような軌道上をオブジェクトが移動してくる画像が表示される。ＬＣＤ１２に表示されるゲーム画面には、未完成のアミダくじのように、縦線のみが表示されており、プレイヤはＬＣＤ１２に表示された縦線に対して、スティック１６等で直接触れるようにしてタッチパネル１５上に横線を描くような操作をする。こうして、ＬＣＤ１１に表示される軌道の続きをＬＣＤ１２に描いて、移動してくるオブジェクトを所定位置に導くための軌道を作るのである。なお、ＬＣＤ１２は、ゲームの種類に応じてその他各種の入力指示を行うようにしてもよく、たとえばＬＣＤ１２の表示画面に文字情報やアイコン等を表示してコマンドを選択させたりすることができる。
【００３１】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１１およびＬＣＤ１２を有し、いずれか一方（この実施例では、ＬＣＤ１２）の表示画面上にタッチパネル１５が設けられるので、２画面（ＬＣＤ１１，１２）と２系統の操作部（１４，１５）を有する構成となるのである。
【００３２】
また、この実施例では、スティック１６は、たとえば上側ハウジング１３ａの中央より側面寄（右寄）に設けられる収納部（収納穴）（図示せず）に収納することができ、必要に応じて取り出される。ただし、スティック１６を設けない場合には、収納部を設ける必要もない。
【００３３】
さらに、ゲーム装置１０はメモリカード（またはゲームカートリッジ）１７を含み、このメモリカード１７は着脱自在であり、下側ハウジング１３ｂの裏面ないしは上端（側面）に設けられる挿入口（図示せず）から挿入される。図１では省略するが、挿入口の奥部には、メモリカード１７の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ２３（図２参照）が設けられており、したがって、メモリカード１７が挿入口に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア２１（図２参照）がメモリカード１７にアクセス可能となる。
【００３４】
なお、図１では表現できないが、下側ハウジング１３ｂの内部において、この下側ハウジング１３ｂの音抜き孔１８ａと対応する位置には、右スピーカ３０ａおよび音抜き孔１８ｂと対応する位置には、左スピーカ３０ｂ（図２参照）が設けられる。
【００３５】
また、図１では省略するが、たとえば、下側ハウジング１３ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１３ｂの底面側には、音量調節つまみ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【００３６】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板２０を含み、この電子回路基板２０にはＣＰＵコア２１等の回路コンポーネントが実装される。ＣＰＵコア２１は、バス２２を介してコネクタ２３に接続されるととともに、ＲＡＭ２４、第１のグラフィック処理ユニット（ＧＰＵ）２６、第２のＧＰＵ２７、入出カインターフエース回路（以下、「Ｉ／Ｆ回路」という。）２５およびＬＣＤコントローラ３１が接続される。
【００３７】
コネクタ２３には、上述したように、メモリカード１７が着脱自在に接続される。メモリカード１７は、ＲＯＭ１７ａおよびＲＡＭ１７ｂを含み、図示は省略するが、ＲＯＭ１７ａおよびＲＡＭ１７ｂは、互いにバスで接続され、さらに、コネクタ２３と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア２１は、ＲＯＭ１７ａおよびＲＡＭ１７ｂにアクセスすることができるのである。
【００３８】
ＲＯＭ１７ａは、ゲーム装置１０で実行すべきゲーム（仮想ゲーム）のためのゲームプログラム、画像（キャラクタ画像、背景画像、アイテム画像、メッセージ画像など）データおよびゲームに必要な音ないし音楽のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）１７ｂは、そのゲームの途中データやゲームの結果データを記憶（セーブ）する。
【００３９】
ＲＡＭ２４は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア２１は、メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラム、および画像データ、音データ等のデータをＲＡＭ２４にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア２１は、ゲームの進行に応じて一時的に発生するデータ（ゲームデータやフラグデータ）をＲＡＭ２４に記憶しつつゲーム処理を実行する。
【００４０】
なお、ゲームプログラム、画像データおよび音データ等は、ＲＯＭ１７ａから一度に全部、または必要に応じて部分的かつ順次的に読み出され、ＲＡＭ２４に記憶される。また、ＲＯＭ１７ａが直接ＣＰＵ２１と接続可能であれば、メモリ空間をＲＡＭ２４と重ならないように設定することができる。この場合は、ＲＯＭ１７ａの内容はＲＡＭ２４に読み出されずに、直接ＣＰＵ２１が読み出して処理することができる。
【００４１】
ＧＰＵ２６およびＧＰＵ２７は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア２１からのグラフィックスコマンド（graphics command ：作画命令）を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵコア２１は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ２６およびＧＰＵ２７のそれぞれに送る。
【００４２】
なお、ＧＰＵ２６およびＧＰＵ２７が作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンやテクスチャ等のデータ）は、ＧＰＵ２６およびＧＰＵ２７がそれぞれ、ＲＡＭ２４にアクセスして取得する。
【００４３】
また、ＧＰＵ２６には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）２８が接続され、ＧＰＵ２７には、第２のＶＲＡＭ２９が接続される。ＧＰＵ２６は作成したゲーム画像データをＶＲＡＭ２８に描画し、ＧＰＵ２７は作成したゲーム画像データをＶＲＡＭ２９に描画する。
【００４４】
ＶＲＡＭ２８およびＶＲＡＭ２９は、ＬＣＤコントローラ３１に接続される。ＬＣＤコントローラ３１はレジスタ３２を含み、レジスタ３２はたとえば１ビットで構成され、ＣＰＵコア２１の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ３１は、レジスタ３２のデータ値が「０」である場合には、ＶＲＡＭ２８に描画されたゲーム画像データをＬＣＤ１１に出力し、ＶＲＡＭ２９に描画されたゲーム画像データをＬＣＤ１２に出力する。また、ＬＣＤコントローラ３１は、レジスタ３２のデータ値が「１」である場合には、ＶＲＡＭ２８に描画されたゲーム画像データをＬＣＤ１２に出力し、ＶＲＡＭ２９に描画されたゲーム画像データをＬＣＤ１１に出力する。
【００４５】
Ｉ／Ｆ回路２５には、操作スイッチ１４，タッチパネル１５およびスピーカ３０が接続される。ここで、操作スイッチ１４は、上述したスイッチ１４ａ，１４ｂ，１４ｃ，１４ｄ，１４ｅ，１４ｆ，１４ｇ１４Ｌおよび１４Ｒであり、操作スイッチ１４が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路２５を介してＣＰＵコア２１に入力される。また、タッチパネル１５からの座標データがＩ／Ｆ回路２５を介してＣＰＵコア２１に入力される。さらに、ＣＰＵコア２１は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ２４から読み出し、Ｉ／Ｆ回路２５を介してスピーカ３０から出力する。
【００４６】
図３はゲーム装置１０でこの発明にかかるゲームプログラムが動作しているときのＲＡＭ２４のメモリマップである。メモリマップは大きく分けて、プログラム記憶領域３３とデータ記憶領域３４とに分かれる。そしてＣＰＵコア２１が、データ記憶領域３４に記憶されたデータに基づいて、プログラム記憶領域３３に記憶されたプログラムを処理することによりゲーム装置が機能する。
【００４７】
プログラム記憶領域３３は更に、ゲーム処理プログラム記憶領域３３ａ，初期設定プログラム記憶領域３３ｂ，タッチパネル操作プログラム記憶領域３３ｃ，手書き入力判定プログラム記憶領域３３ｄ，手書き線データ生成プログラム記憶領域３３ｅ，アミダ線描画プログラム記憶領域３３ｆ，オブジェクト移動描画プログラム記憶領域３３ｇ，ゲームクリア判定プログラム記憶領域３３ｈを含む。
【００４８】
ゲーム処理プログラム記憶領域３３ａは、図４に示すような、タッチパネルで横線を描画することによって、移動オブジェクト３６が移動するアミダ線状の軌道を追加してプレイするようなゲームを処理するプログラムを記憶した領域である。具体的には、ゲームスタートの処理、ゲームオーバの処理、ゲームの進行に伴うサウンドの処理や、メッセージの表示の処理などを含む。
【００４９】
初期設定プログラム記憶領域３３ｂは、図４に示すゲームをスタートさせたとき、ゲーム処理に伴うパラメータなどを初期設定するためのプログラムを記憶した領域である。例えば、図４に示すようなアミダ線状の軌道を描画するための、アミダ線のデータを初期状態に設定したり、ゲーム処理に使用されるフラグ情報の初期化などの処理を行う。
【００５０】
タッチパネル操作プログラム記憶領域３３ｃは、タッチパネル１５のタッチがなされている（タッチオン）かどうかを判定し、そのタッチ位置を検出する処理を行うプログラムを記憶した領域である。具体的には、ゲームのプレイヤがタッチパネル１５を指でタッチしたり、スティック１６などでタッチしたとき、そのタッチ座標を２次元の座標データとして検出し、ゲームのコントロールデータとして使用することができるように処理する。このとき、タッチがなされていない（タッチオフ）との判定がされるまでは、タッチ座標は順次後述するタッチ座標バッファ３４ｂに記憶される。
【００５１】
手書き入力判定プログラム記憶領域３３ｄは、図７ないし図９で詳述するように、タッチパネル１５における描画操作がどのような操作内容であったかを判定するプログラムを記憶した領域である。手書き線データ生成プログラム記憶領域３３ｅは、タッチパネル１５の操作に応じて、描画操作の内容に基づいて、アミダ線上の軌道に追加されるべき線のデータを生成するプログラムである。アミダ線描画プログラム記憶領域３３ｆは、移動オブジェクト３６の軌道となるアミダ線のデータについて、最初から用意されていたデータと、描画操作に基づいて生成されたデータとから、ＬＣＤ１１およびＬＣＤ１２にアミダ線を描画するプログラムを記憶した領域である。具体的には後述するアミダ線データバッファ領域３４ｃに記憶されているデータに基づいてリアルタイムにアミダ線を描画するプログラムである。
【００５２】
オブジェクト移動描画プログラム記憶領域３３ｇは、図４に示すような移動オブジェクト３６をアミダ線の軌道に沿って移動表示するプログラムを記憶した領域である。具体的には、後述するアミダ線データバッファ３４ｃに記憶されている、アミダ線状の軌道のデータに基づいて、対応するＬＣＤ１１とＬＣＤ１２とで構成されるゲーム画面上の位置に、移動オブジェクトを表示するプログラムである。この処理は、ゲーム処理がＬＣＤ１１とＬＣＤ１２の表示にともない、所定周期（例えば１／６０秒）で繰り返し処理が行われている（すなわち、表示にともなうＶブランクの周期を基準にした処理の周期）ことに基づく。すなわち、オブジェクト移動描画処理が所定周期毎に繰り返し行われるので、アミダ線状の軌道のデータの読み出し位置を所定周期毎に更新することにより、移動オブジェクトが移動しているかのようにＬＣＤ１１やＬＣＤ１２上に表示される。
【００５３】
ゲームクリア判定プログラム記憶領域３３ｈは、移動オブジェクトがアミダ線状の軌道に沿って、正しい場所に移動したかどうかに応じて、ゲームがクリアされたかどうかを判定するプログラムを記憶した領域である。具体的には、ＬＣＤ１１とＬＣＤ１２で構成されるゲーム画面上に予め決められているゴール位置と、アミダ線状の軌道に沿って移動してきた移動オブジェクトの位置とが一致したかどうかに応じてゲームクリアを判定する。
【００５４】
データ記憶領域３４は、タッチ操作フラグ領域３４ａ，タッチ座標バッファ３４ｂ，アミダ線データバッファ３４ｃ，移動オブジェクトデータ記憶領域３４ｄ，ゴール位置データ記憶領域３４ｅを含む。
【００５５】
タッチ操作フラグ領域３４ａは、ゲームのプレイヤがスティック１５や指でタッチパネルをタッチして、アミダ線状の軌道を描画する状態であるかどうかを示すフラグを記憶する領域である。フラグが立っていれば描画すべき状態であり、そうでなければタッチパネルで線の描画を行っていない状態であることを示す。
【００５６】
タッチ座標バッファ３４ｂは、所定周期でタッチ座標を記憶しておく領域である。すなわちゲーム処理の処理周期毎にタッチパネル操作に応じたタッチ座標を検出して記憶しておくので、複数周期に渡ってタッチ座標を記憶することにより、ゲームのプレイヤがどのような軌跡でタッチ操作を行ったのかを知ることが可能になる。
【００５７】
移動オブジェクトデータ記憶領域３４ｄは、位置データ記憶領域３４ｄａとオブジェクト画像データ記憶領域３４ｄｂとを更に含む。位置データ記憶領域３４ｄａは、移動オブジェクトが表示されるべき位置のデータを記憶した領域である。オブジェクト移動描画プログラム記憶領域３３ｇに記憶されたプログラムは、アミダ線データバッファ領域３４ｃに記憶された、アミダ線状の軌道に沿って移動処理されるが、そのときＬＣＤ１１とＬＣＤ１２とで構成されるゲーム画面のどの位置に移動オブジェクトが表示されているのかをリアルタイムに（所定周期毎に）記憶する。オブジェクト画像データ記憶領域３４ｄｂは、移動オブジェクトが表示されるべき位置に表示される、オブジェクト画像のデータを記憶した領域である。すなわち、第１ＧＰＵ２６および第２ＧＰＵ２７は、このオブジェクト画像のデータに基づいて、オブジェクトが表示されるべき位置にオブジェクトを描画するのである。
【００５８】
ゴール位置データ記憶領域３４ｅは、図４に示す移動オブジェクト３６がアミダ線状の軌道に沿って最終的にたどり着くべきゲーム画面上の位置を記憶したデータである。ゲームクリア判定プログラム記憶領域３３ｈに記憶されたプログラムは、このゴール位置に関するデータと、移動オブジェクトの位置とから、ゲームクリアを判定する。
【００５９】
図４は、アミダ線を利用したゲームの概要を説明した図である。ゲームプレイヤがゲームを開始したときのゲーム画面は図４ａのようになっている。ＬＣＤ１１には上ゲーム画面３５ａが表示され、予め縦線３８ａと横線３９ａによってアミダ状の軌道が描かれている。ＬＣＤ１２には下ゲーム画面３５ｂが表示され、予め縦線３８ｂは表示されているが、横線は表示されていない。また、ＬＣＤ１２上にはタッチパネル１５が形成されている。移動オブジェクト３６は、図４ａに示すように、右から２本目の縦線をスタート位置として、アミダ状の軌道に沿って、上ゲーム画面３５ａ内を一方通行で移動開始する。また下ゲーム画面３５ｂにおいて、いずれかの縦線３８ｂの下端部にゴール３７が設定される。プレイヤは移動オブジェクト３６がゴール３７に移動するように、タッチパネル１５を介して下ゲーム画面３５ｂに上手く線を追加してゲームをプレイする。
【００６０】
図４ｂでは、ゲームの進行中におけるゲーム画面３５の状況を説明している。移動オブジェクトはアミダ線に沿って、図中破線矢印のように移動する。上ゲーム画面３５ａのアミダ線に沿った場合、移動オブジェクト３６は、上ゲーム画面３５ａ内では縦線３８ａの最も左端の線に移動して、下ゲーム画面３５ｂの縦線３８ｂの最も左端の線に移動してくる事が予測される。このため、プレイヤはスティック１６などでタッチパネル１５をタッチ操作し、下ゲーム画面３５ｂにおける縦線３８ｂ同志を、横線３９ｂを追加することによってつなぐ。こうして上手く移動オブジェクト３６がゴール３７の位置に到達するアミダ線状の軌道を作る。
【００６１】
図４ｃでは、移動オブジェクト３６が無事にゴール３７に到達してゲームクリアとなった状況を示している。このとき、下ゲーム画面３５ｂにはゲームクリアに関するメッセージ表示４０が表示される。無事に移動オブジェクト３６がゴールに到達し、ゲームクリアとなった後は、別のゲーム画面において、同様のゲームをプレイすればよい。
【００６２】
あるいは、現在のアミダ状の軌道を全て残したまま、移動オブジェクト３６を再び上ゲーム画面３５ａ上の縦線３８ａにおいて、先のスタート位置とは別の位置から移動を開始するように設定してもよい。また、ゴール３７も別の位置に設定する。こうすることで、先のゲームで追加された下ゲーム画面３５ｂの横線３９ｂも考慮して、プレイヤは横線をさらに追加しなければならない。こうしてゲームの難易度が上がっていき、その興趣性も向上する。先のゲームで追加されたアミダ線を残したままゲームクリアを繰り返すと、下ゲーム画面３５ｂには多数の横線が描画されることとなるので、繰り返しの回数とゲームクリアの回数とが多ければ多いほど高得点となるようにゲームを構成すれば、よりゲームへの挑戦に対する興味が増すことになる。
【００６３】
図４ｄでは、移動オブジェクト３６が無事にゴール３７に到達できなかった状態の一例を示す。このとき、ゲームクリアできなかったことを示す表示４１が下ゲーム画面３５ｂに表示される。図４ｂでは、下ゲーム画面３５ｂにおいて、横線が不適切に追加されたため、移動オブジェクト３６が、縦線３８ｂの右端の下端に到達してしまった状態を示している。
【００６４】
図５は、図４ａに示すゲーム開始時における、アミダ線データバッファ３４ｃの初期状態を図式化したものである。４２ａで示す範囲が図４における上ゲーム画面３５ａに対応し、４２ｂで示す範囲が図４における下ゲーム画面３５ｂに対応する。図５に示すデータをもとに、アミダ線描画プログラム３３ｆが、初期画面として図４ａのようなゲーム画面のアミダ線を描画する。タッチパネルが形成されない上ゲーム画面３５ａに対応する領域４２ａには、横線３９ａのデータがあらかじめ用意されている。
【００６５】
図６は、図４ｂのように、ゲームプレイ中における、アミダ線データバッファ３４ｃの状態を図式化したものである。ゲームプレイ中においては、下ゲーム画面３５ｂにもともと用意されていたアミダ線状の軌跡に横線が追加されていくので、図５の領域４２ｂに対応する領域４２ｂ’では、横線のデータが追加されている。
【００６６】
そして、オブジェクト移動描画プログラム記憶領域３３ｇは図５または図６に図式化されたデータに基づいて、移動オブジェクト３６を移動させるのである。
【００６７】
図７ないし図９は、プレイヤがタッチパネル１５をタッチ操作したとき、その状況に合わせてどのように横線３９ｂを追加描画していくかを状況別に分けて解説した図である。以下はそれぞれの条件に対応した、具体的な処理の一例である。
【００６８】
図７は、タッチパネル１５を操作したとき、図７ａに示すように、タッチオンしてからタッチオフするまでのタッチ座標が、その軌跡５０ａのように、隣り合う縦線３８ｂに対して、どちらの縦線にも交差せず、その中間点をまたいでいるときの処理について解説した図である。なお下記の解説において、ＬＣＤ１１または１２の表示において、その横方向をＸ軸、縦方向をＹ軸と定義する。
【００６９】
タッチオンがあった点、すなわち描画開始点５１の座標を（Ｘｓ，Ｙｓ）とし、その描画終了点５２の座標を（Ｘｔ，Ｙｔ）とする。このとき、所定の隣接する縦線、例えば縦線１（Ｘ座標：Ｘ１）と縦線２（Ｘ座標：Ｘ２）の間に、描画開始点５１と描画終了点５２とが両方含まれているかどうかを判定する。
【００７０】
次に、
Ｘｔ−Ｘｓ＞（Ｘ２−Ｘ１）／２  （数１）
を満たすかどうかを判定する。以上の条件を満たせば、隣り合う縦線３８ｂに対して、どちらの縦線にも交差せず、その中間点をまたいでいることが判定される。なお、数１以外にも中間点をまたいでいるかどうかを判定する方法が考え得るが、自明の事柄であるので、ここでは説明しない。数１を満たさないときには、タッチパネルの横線描画操作が短すぎるとして、何も横線が入力されない。
【００７１】
軌跡５０ａが隣り合う縦線のいずれとも交差しないが、その中間点をまたいでいるときは、追加する横線の端点（始点と終点）を図７ｂのように定義する。すなわち、描画開始点５１と描画終了５２のそれぞれに最も近い縦線上に、追加する横線の端点をそれぞれ定義する。具体的には、一方の端点（始点）５１’は、
（Ｘ１，Ｙｓ）                   （数２）
とされ、もう一方の端点（終点）５２’は、
（Ｘ２，Ｙｔ）                   （数３）
とされる。そして数２と数３で定義される直線がアミダ線の横線として図７ｃに示すように追加される。
【００７２】
実際には、数１を含む上述の判定は、手書き入力判定プログラム記憶領域３３ｄに記憶されたプログラムによって処理される。そして数２の始点の情報と、数３の終点の情報とに基づき、アミダ線描画プログラム記憶領域３３ｆに記憶されたプログラムが、アミダ線データバッファ３４ｃに追加の横線３９ｂを描画する。
【００７３】
図８は、タッチパネル１５を操作したとき、図８ａに示すように、タッチオンしてからタッチオフするまでのタッチ座標が、その軌跡５０ｂのように、縦線３８ｂのいずれか１本と交差したときの処理について解説した図である。
【００７４】
まず、所定の隣接する縦線、例えば縦線１（Ｘ座標：Ｘ１）と縦線２（Ｘ座標：Ｘ２）の間に、描画開始点５１と描画終了点５２とが両方含まれているかどうかについての、図７の場合と同様の条件判定を行う。そこで含まれていないと判断されたとき、軌跡５０ｂは、いずれかの縦線と交差したことになる。次に、描画開始点５１と描画終了点５２との間に縦線が１本だけ挟まれているかどうかを判定する。
【００７５】
描画開始点５１と描画終了点５２との間に縦線が１本だけ挟まれていると判定されたことに続いて、軌跡５０ｂと交差する縦線（図８の場合では縦線２）との交点５３の座標を求める。交点は、描画開始点５１と描画終了点５２とを結ぶ直線において、交差する縦線のＸ座標（図８においては、Ｘ２）と、このＸ座標に対応するＹ座標を算出すればよい。算出されたＹ座標をＹ２としたとき、交点５３の座標は、
（Ｘ２，Ｙ２）                   （数４）
と表すことができる。
【００７６】
次に、判定点５４（図８ｂを参照）を求める。判定点５４は、描画開始点５１と描画終了点５２のうち、交差する縦線（図８では縦線２）に対して遠い方とする。図８においては、描画開始点５１の方が描画終了点５２よりも、縦線２から遠いので、描画開始点５１が判定点５４（Ｘｄ，Ｙｄ）として選択される。
【００７７】
そして、判定点５４と交点５３とを結ぶ直線が、図７の判定条件と同様に、となり合う縦線の中間点をまたいでいるかどうかを判定する。図８ｂの場合では、
Ｘ２−Ｘｄ＞（Ｘ２−Ｘ１）／２  （数５）
を満たすかどうかを判定すればよい。これを満たさなければ、横線は入力されない。
【００７８】
図８に示すような、タッチオンしてからタッチオフするまでの軌跡５０ｂが、縦線３８ｂのいずれか１本と交差したときには、追加される横線の端点は、図８ｂのように定義される。すなわち、追加される端点の一方は、交点５３であり、一方は、判定点５４に最も近い縦線上に選ばれる。図８ｂにおいては、交点５３は数４で定義されており、これが一方の端点（終点）となる。もう一方の端点（始点）５４’は、判定点５４が描画開始点５１であることから、
（Ｘ１，Ｙｄ）                   （数６）
となる。そして数４と数６で定義される直線がアミダ線の横線として図８ｃに示すように追加される。なお、数６において、もし描画終了点５２が判定点であれば、交点５３に対するもう一方の端点は、（Ｘ２，Ｙｄ）と定義される。
【００７９】
図９は、タッチパネル１５を操作したとき、図９ａに示すように、タッチオンしてからタッチオフするまでのタッチ座標が、その軌跡５０ｃように、縦線３８ｂのいずれか２本以上と交差したときの処理について解説した図である。すなわち、描画開始点５１と描画開始点５２との間に、２本以上の縦線が存在していることが検出されれば、図９の状態である事を示す。
【００８０】
この場合は、縦線との交点のうち、描画開始点５１に近いものから２つを選んで、それぞれを横線の端点とする。例えば、図９では、描画した軌跡５０ｃは、交点５５で縦線１と、交点５６で縦線２と、そして交点５７で縦線３と交差している。この場合は、描画開始点５１と描画終了点５２とを結ぶ直線と縦線１との交点５５を横線の始点とし、縦線２との交点５６を横線の終点とする。
【００８１】
以上は、縦線と描画した軌跡５０との関係の判定と、その処理方法の一例に過ぎず、他にも縦線と描画した軌跡との関係を調べる方法は考え得るので、この判定方法に限定されるべきものではない。
【００８２】
図１０は、タッチパネル上にアミダ線上の軌道に横線を追加し、オブジェクトをゴールに導く、図４に示すようなゲームについての、メインのゲーム処理に関するフローチャートである。ステップ１０において、まず図４に示すゲームをスタートさせたとき、ゲーム処理に伴うパラメータなどを初期設定する。具体的には、ゲーム処理プログラム記憶領域３３ａに記憶されたプログラムに基づいて、図４に示すようなアミダ線状の軌道を描画するための、アミダ線のデータを初期状態に設定したり、プレイするゲームのステージを選択したり、タッチパネルの初期化などの処理を行う。
【００８３】
次にステップ１１に進み、初期設定プログラム記憶領域３３ｂに記憶されたプログラムに基づいて、選択したステージに対応したデータの初期設定を行う。すなわち、選択されたゲームに関して、アミダ線データを描画用データにコピーしたり、タッチ中フラグをオフしたり、横移動中フラグをオフしたりする。具体的には、メモリカード１７にもともと用意されていたアミダ線のデータを、アミダ線データバッファ３４ｃにコピーする。そして、選択されたステージに応じたゲーム処理を行うためのフラグをオフにしておく。
【００８４】
アミダ線データが描画用データにコピー、すなわちアミダ線データバッファ３４ｃにコピーされたことに基づいて、ステップ１２において、ＬＣＤ１１およびＬＣＤ１２にアミダ線を描画する。具体的には、アミダ線データバッファ領域３４ｂに記憶されたデータに基づいて、アミダ線描画プログラム記憶領域３３ｆに記憶されたプログラムが、アミダ線を描画処理する。そしてステップ１３に進み、描画されたアミダ線に対して、プレイヤのタッチパネル操作に基づいて、横線を追加していく処理を行う。この処理は図１１において詳述される。
【００８５】
続いて、アミダ線状の軌道に沿って、ステップ１４において、オブジェクトを移動表示処理していく。この処理は図１３において詳述される。そしてステップ１５において、オブジェクトがゴール位置に到達したかどうかを判断する。すなわち、図４において、下ゲーム画面３５ｂのアミダ線の縦線が尽きるところまでオブジェクトが移動したかどうかを判定する。
【００８６】
ステップ１５でＮｏと判定されるとステップ１２に戻るので、、ステップ１２からステップ１５までの処理は、繰り返し順番に行われる。すなわち、リアルタイムに手書き入力を行いながら、オブジェクトがアミダ線の軌道上を移動するようにゲームを処理することができる。一方、ステップ１５において、オブジェクトがゴール位置まで移動したと判定されると、続くステップ１６において、そのゴール位置が正しいかどうかを判定する。具体的にはゲームクリア判定プログラム記憶領域３３ｈに記憶されたプログラムに基づき、ゴール位置データ記憶領域３４ｅに記憶されたデータを参照して処理される。ステップ１６でゴール位置が正しくないと判定されたときには、ステップ１７に進み、ゲームを終了するかどうかを判定する。
【００８７】
ステップ１７において、ゲームを終了すると判定されたときにはこのままゲームを終了する。そうでなければステップ１０に戻り、新たにゲームのプレイをやり直すべく、ゲーム処理の初期設定を行い、別のゲームをプレイする。
【００８８】
ステップ１６において、ゴール位置が正しいと判定されたときには、勿論このままゲームクリアと判定しても良い。しかしながら、一つのオブジェクトについて、横線を追加したことにより、アミダ線の描画用データは複雑化しているので、このデータを基にさらに移動オブジェクトをゴールに誘導すれば、よりゲームのプレイ自体も複雑化して面白い。それ故、ゴール位置が正しいと判定されたときには、再びステップ１１に戻る。ステップ１０のように完全に初期化されるステップには戻らず、今までプレイしたアミダ線の描画データを利用して、再びゲーム処理を行うのである。
【００８９】
図１１は、図１０におけるステップ１３をより詳しく説明したフローチャートである。まずステップ２１において、タッチパネル入力があるかどうかを検出する。具体的にはタッチパネル操作プログラム記憶領域３３ｃに記憶されたプログラムに基づいて、タッチ入力が検出される。ここでタッチ入力があると判定されたときには、ステップ２２において、現在タッチ中フラグがオンであるかを確認する。すなわち、タッチ操作フラグ記憶領域３４ａにおいて、タッチ中フラグが立っているかどうかを確認する。もし立っていなければ、ステップ２３において、タッチ中フラグをオンにする。言い換えればタッチ操作フラグ記憶領域３４ａにタッチ中であることを示す情報を書き込むのである。そしてステップ２４に進む。
【００９０】
一方、ステップ２２において、タッチ中フラグがオンであれば、そのままステップ２４に進む。ステップ２４では、タッチ位置に基づいて、描画用データに手書き線を追加する。すなわち、タッチ操作フラグ記憶領域３４ａにおいてタッチ中フラグがオンであることは、アミダ線状の軌道を描画する状態であるかどうかを示すフラグがオンであるので、タッチパネル操作プログラム記憶領域３３ｃに記憶されたプログラムに基づいて、手書き線、つまり描画の軌跡５０が入力される。
【００９１】
図１０の処理で、ステップ１２ないしステップ１５が繰り返し処理されるので、ステップ２４が実行されれば、図１０のステップ１４の処理に進む。一方ステップ２１でタッチ入力が無いと判定されれば、ステップ２４の処理が終了したか、あるいは未だタッチ入力を行っていない事が分かる。そこでステップ２５に進み、タッチ中フラグがオンかどうかを判定する。
【００９２】
ステップ２５でタッチ中フラグがオンであることは、未だアミダ線状の軌道を描画する状態であることを示すので、ステップ２６に進みタッチ中フラグをオフにする。すなわち、タッチ操作フラグ記憶領域３４ａに、タッチ中でないことを示す情報を書き込む。一方、ステップ２５でタッチ中フラグがオンでないと判定されれば、これは未だタッチ入力を行っていない状況であるので、ステップ１４に進み、ゲーム処理が実行される。
【００９３】
ステップ２６において、タッチ中フラグがオフされると、タッチパネルを介したアミダ線の描画操作が終わったことが分かるので、ステップ２７の判定処理に進む。ステップ２７は図１２において詳述される。
【００９４】
図１２は、図１１のステップ２７を更に詳しく説明したフローチャートである。タッチパネル操作によって軌跡が入力されると、まずステップ３１に進み、手書き線と縦線とが１本も交差していないのかどうかを判定する。すなわち、図７で解説された条件に該当する。ここで、手書き線と縦線とが１本も交差していないと判定されれば、ステップ３２に進み、手書き線の始点と終点とを結ぶ線分が縦線の中間点をまたいでいるかどうかを判定する。ここで、中間点をまたいでいると判定されれば、ステップ３３に進み、手書き線の始点と終点とをそれぞれ一番近い縦線上まで移動させ、移動後の線上値を結ぶ線分を追加アミダ線とする。なお、ステップ３２で中間点をまたいでいないと判定されたときには、入力ミスとして横線は追加されず、ステップ３９に進む。
【００９５】
一方、ステップ３１において、Ｎｏすなわち、縦線と手書き線とが交差していると判定されれば、ステップ３４に進み、手書き線と縦線が１本だけ交差しているかどうかをさらに判定する。すなわち図８で解説された条件に該当する。ここで、１本だけ交差していると判定されれば、ステップ３５に進み、判定点と交点とを結ぶ線分が、縦線の中間点をまたいでいるかどうかを判定する。ここでまたいでいると判定されれば、ステップ３６に進み、判定点を一番近い縦線上まで移動させた点と交点とを結ぶ線分を追加アミダ線とする。なお、ステップ３５で中間点をまたいでいないと判定されたときには、入力ミスとして横線は追加されず、ステップ３９に進む。
【００９６】
ステップ３４において、手書き線と縦線が１本だけ交差しているかどうかの判定でＮｏ、すなわち手書き線と縦線が複数交差していると判定されれば、ステップ３７に進み、手書き線と縦線の交点のうち、最初に交差した２つの交点を結ぶ線分を追加アミダ線とする。
【００９７】
これら一連の処理は、具体的には、手書き入力判定プログラム記憶領域３３ｄに記憶されたプログラムが、図７ないし図９で解説した内容を処理することによって行われている。
【００９８】
こうして、ステップ３３、ステップ３６およびステップ３７でそれぞれの判定条件に基づいて定義された追加アミダ線は、ステップ３８で、アミダ線データに追加される。具体的には手書き線データ生成プログラム記憶領域３３ｅに記憶されたプログラムに基づいて、追加すべき横線が実際にアミダ線として追加更新される。
【００９９】
続いて、判定処理に基づいて新たに更新されたアミダ線データは、ステップ３９において描画用データにコピーされる。すなわち、アミダ線データバッファ領域３４ｃに描画データとして記憶される。
【０１００】
次に図１０のステップ１４について詳述する。図１３において、まず、現在オブジェクトが縦線沿いか横線沿いか、どちらに沿って移動中であるかを確認するため、ステップ４１において、横移動中フラグがオンであるかどうかを確認する。ここで横移動中で無ければ、ステップ４２に進み、縦線上を下方向に移動する。
【０１０１】
次にステップ４３に進み、移動した位置が、横線が伸びる位置であるかどうかを判定する。ここでＹｅｓであれば、ステップ４４に進み、横移動中フラグをオンにする。そして図１０のメインフローに戻り、ステップ１５に進む。もしステップ４３でＮｏと判定されれば、次回の処理周期では縦線上の移動処理をそのまま続けるので、直接図１０のメインフローに戻る。
【０１０２】
ステップ４１で横移動中フラグがオンであると判定されれば、ステップ４５に進み、横線上を移動する。次にステップ４６に進み、移動したところが縦線上かどうかを判定する。ここでＹｅｓであれば、ステップ４７に進み、横移動中フラグをオフにする。そして図１０のメインフローに戻りステップ１５に進む。もしステップ４６でＮｏと判定されれば、次回の処理周期では横線上の移動処理をそのまま続けるので、直接図１０のメインフローに戻る。
【０１０３】
なお、図１０のフローでは、ステップ１１からステップ１５の処理を繰り返し処理するようになっているので、オブジェクトがＬＣＤ１１やＬＣＤ１２を移動表示しながら、一方で横線を追加描画していくゲームが実現できる。この場合、迫り来るオブジェクトに焦燥感を感じながら、横線を追加描画するので、興趣性の高いゲームを提供できる。
【０１０４】
しかしながら、例えば、全ての横線を描画し終わってから、オブジェクト移動処理を開始してもよい。このような変形例として、図１４では別のゲームの例を説明している。図１４ａは、ゲーム開始直後のゲーム画面の例である。上ゲーム画面３５ａには複数の移動オブジェクト６１，６２が、別々の縦線３８ａ上端部に配置されている。また同じく上ゲーム画面３５ａには予め横線３９ａが描かれている。
【０１０５】
一方下ゲーム画面３５ｂには、横線が全く描かれておらず、縦線３８ｂのみが表示されている。また、その下端部にはゴールとして６１’と６２’が用意される。このゲームでは複数のオブジェクト６１，６２はそれぞれ同じ画像のゴール６１’，６２’にゴールしなければならないので、図１４ａの状態では、ゲームをクリアすることができない。
【０１０６】
そこでまず、図１４ｂのように、横線３９ｂを下ゲーム画面３５ｂに描画して、複数のオブジェクト６１，６２が対応するゴールに移動できるようなアミダ線状の軌道を作成する。作成し終わったら、オブジェクトの移動を開始させる。図１４ｃはその途中経過の図である。アミダくじのルールに従えば、図１４ｃの軌道であれば、無事に移動オブジェクトそれぞれのゴールに到達できることが分かる。そして図１４ｄのように、ゴールすればゲームクリアとなる。
【０１０７】
図４のゲームと同様に、無事にクリアしたあと、描画した軌道をそのままにしておいて、別のオブジェクトを配置位置を変えて準備すると、このゲームは極端に難易度が高くなる。そのためより興趣性の高いゲームを提供できるようになる。
【０１０８】
図１５は図１４のゲーム処理に関するフローチャートである。まず、ステップ６０で図４に解説したゲームのメインフローと同様に、初期設定を行う。続いて、ステップ６１において、複数のオブジェクトを上ゲーム画面３５ａ上の縦線上端部に配置するとともに、下ゲーム画面３５ｂの縦線下端部に、複数のオブジェクトそれぞれに対応するゴールを配置する。
【０１０９】
その後、ステップ６２に進みアミダ画面を表示する。続いてステップ６３においてアミダ線追加処理を行う。この内容は図１１で詳述したものと同じであるため、説明は省略する。このステップ６２とステップ６３の処理は続くステップ６４において、アミダ線の描画が終わったと判断されるまでは繰り返し行われるので、表示されるアミダ線を見ながら、下ゲーム画面３５ｂ上に横線を追加することができる。
【０１１０】
ステップ６４において、アミダ線の描画が終了したと判断されれば（例えば、図示しないアイコンなどをタッチして、描画処理が終了したことをプレイヤが入力するなどに基づいて判断）、ステップ６５に進み、上ゲーム画面３５ａに複数配置されたオブジェクトそれぞれについて、オブジェクトの移動処理を行う。ここのオブジェクトについて行われる移動処理は、図１３で詳述したものと同じであるため、説明を省略する。
【０１１１】
ステップ６５の移動処理は、続くステップ６６において、全てのオブジェクトがゴール位置（下ゲーム画面３５ｂの縦線下端部）まで到達したと判断されるまで、繰り返し行われる。そしてステップ６７に進み、全てのオブジェクトが、正しいゴール位置に到達したかどうかを判定する。ここで正しいと判定されれば、今まで描画されたアミダ線をそのまま残して、新しくゲームをスタートするべく、ステップ６１に戻る。
【０１１２】
一つでもオブジェクトのゴール位置が誤っていた場合には、ゲームがクリアできなかったと判断され、ステップ６８に進み、ゲームを終了させるかどうかを判断する。ここでゲーム終了であると判断されればゲームプレイが終了し、そうでなければ、ステップ６０に戻り、新しくゲームプレイをやり直す。
【図面の簡単な説明】
【０１１３】
【図１】この発明のゲーム装置の一例を示す外観図である。
【図２】図１のゲーム装置の電気的な構成を示す内部ブロック図である。
【図３】図２に示すＲＡＭのメモリマップである。
【図４】この発明にかかるゲームの一例を示す図である。
【図５】図２に示すＲＡＭに記憶されるゲーム開始時点のアミダ線データの図である。
【図６】図５のアミダ線データの状態からある程度ゲームが進んだ状態の、アミダ線データの図である。
【図７】図５のアミダ線データに横線を追加するときの条件の一つに関する概念図である。
【図８】図７とは別の条件に関する概念図である。
【図９】図７とはさらに別の条件に関する概念図である。
【図１０】図４で説明されたゲームのメインフローチャートである。
【図１１】図１０のアミダ線追加処理に関するフローチャートである。
【図１２】図１０の判定処理に関するフローチャートである。
【図１３】図１０のオブジェクト移動処理に関するフローチャートである。
【図１４】この発明にかかる別のゲームの例を示す図である。
【図１５】図１４で説明されたゲームのメインフローチャートである。
【符号の説明】
【０１１４】
１０  …ゲーム装置
１１  …ＬＣＤ１１（上画面）
１２  …ＬＣＤ１２（下画面）
１５  …タッチパネル
１７  …メモリカード
２１  …ＣＰＵ
２４  …ＲＡＭ
【図１】
2006102123.tif 000003
【図２】
2006102123.tif 000004
【図３】
2006102123.tif 000005
【図４】
2006102123.tif 000006
【図５】
2006102123.tif 000007
【図６】
2006102123.tif 000008
【図７】
2006102123.tif 000009
【図８】
2006102123.tif 000010
【図９】
2006102123.tif 000011
【図１０】
2006102123.tif 000012
【図１１】
2006102123.tif 000013
【図１２】
2006102123.tif 000014
【図１３】
2006102123.tif 000015
【図１４】
2006102123.tif 000016
【図１５】
2006102123.tif 000017