(57)【要約】【課題】タッチパネル式の表示部を備える携帯端末のユーザーインターフェイスを活かして、キャラクタを移動させるゲームを実現する。【解決手段】受付部４１は、所定の軌道を繰り返しなぞるプレーヤからの操作入力を受け付ける。軌跡長算出部４４は、受付部４１により受け付けられた操作入力に基づいて、プレーヤが軌道を１周なぞる操作を行う毎に、プレーヤが操作表示部１０を実際になぞった軌跡の長さである左単位軌跡長ＬＬ及び右単位軌跡長ＲＬを算出する。移動距離算出部４５は、左単位軌跡長ＬＬ及び右単位軌跡長ＲＬを基に、ゲーム空間内におけるキャラクタの１ストロークあたりの移動距離である単位移動距離ＴＬを算出する。移動部４６は、単位移動距離ＴＬが算出される毎に、ゲーム空間内において、単位移動距離ＴＬ分、基準方向に沿ってキャラクタＣＡを移動させる。【選択図】図１
2010253016.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネル式の表示部を備えるゲーム装置にゲームの進行を制御させるゲーム制御プログラムであって、
前記ゲームは、ゲーム空間内において、所定のキャラクタを移動させるものであり、
前記表示部の表示画面上において、所定の軌道が繰り返されるように指を接触移動させるプレーヤからの操作入力を受け付ける受付手段と、
所定のキャラクタを前記表示部に表示させ、前記受付手段により受け付けられた操作入力に基づいて、前記キャラクタの表示態様を変化させる表示制御手段と、
前記受付手段により受け付けられた操作入力に基づいて、プレーヤが前記表示部の表示画面上を実際に接触移動させた軌跡の長さを算出する軌跡長算出手段と、
前記軌跡長算出手段により算出された軌跡の長さに応じて、ゲーム空間内における前記キャラクタの移動距離を算出する移動距離算出手段と、
前記移動距離算出手段により算出された移動距離に従って、前記キャラクタをゲーム空間内で移動させる移動手段としてゲーム装置を機能させることを特徴とするゲーム制御プログラム。
【請求項２】
前記キャラクタは人間を模したものであり、
前記表示制御手段は、プレーヤが指で前記軌道を１周接触移動させる操作に連動して、前記キャラクタの左腕、右腕、左脚、及び右脚の少なくともいずれか１つが動作するように前記キャラクタの表示態様を変化させることを特徴とする請求項１記載のゲーム制御プログラム。
【請求項３】
前記軌跡長算出手段は、プレーヤが指で前記軌道を１周接触移動させる操作を行う毎に、プレーヤが前記表示部を実際に接触移動させた軌跡の長さである単位軌跡長を算出し、
前記移動距離算出手段は、前記軌跡長算出手段により算出された単位軌跡長を基に、ゲーム空間内における前記キャラクタの１動作あたりの移動距離である単位移動距離を算出し、
前記移動手段は、前記移動距離算出手段により算出された単位移動距離で前記キャラクタをゲーム空間内の所定の基準方向に沿って移動させることを特徴とする請求項１又は２記載のゲーム制御プログラム。
【請求項４】
前記軌道は、左右一対の左軌道と右軌道とを含み、
前記単位軌跡長は、前記左軌道に対応する左単位軌跡長と前記右軌道に対応する右単位軌跡長とを含み、
前記受付手段は、前記左軌道を左指で接触移動させる操作入力と、前記右軌道を右指で接触移動させる操作入力とを受け付け、
前記軌跡長算出手段は、プレーヤが前記左軌道を１周接触移動させる毎に前記左単位軌跡長を算出し、プレーヤが前記右軌道を１周接触移動させる毎に前記右単位軌跡長を算出し、
前記移動距離算出手段は、前記左単位軌跡長と前記右単位軌跡長との差が増大するにつれて、値が増大する距離減少値を算出し、前記単位移動距離から前記距離減少値を減じることで前記単位移動距離を補正することを特徴とする請求項３記載のゲーム制御プログラム。
【請求項５】
前記表示制御手段は、前記左単位軌跡長と前記右単位軌跡長との差が所定の値より大きい場合において、前記左単位軌跡長が前記右単位軌跡長より短い場合は、前記キャラクタを所定の基準方向から左側に傾斜表示させ、前記右単位軌跡長が前記左単位軌跡長より短い場合は、前記キャラクタを前記基準方向から右側に傾斜表示させ、かつ、前記基準方向に前記キャラクタの残像を表示させることを特徴とする請求項４記載のゲーム制御プログラム。
【請求項６】
前記受付手段は、前記左軌道を左指で接触移動させる操作入力と、前記右軌道を右指で接触移動させる操作入力とを交互に受け付け、
前記移動距離算出手段は、前記左単位軌跡長が算出される毎に前記単位移動距離を算出すると共に、前記右単位軌跡長が算出される毎に前記単位移動距離を算出し、今回の左単位軌跡長と前回の右単位軌跡長との差又は今回の右単位軌跡長と前回の左単位軌跡長との差が増大するにつれて、値が大きくなるように前記距離減少値を算出し、今回の単位移動距離から前記距離減少値を減じることで前記今回の単位移動距離を補正することを特徴とする請求項４又は５記載のゲーム制御プログラム。
【請求項７】
前記受付手段は、前記左軌道を左指で接触移動させる操作入力と、前記右軌道を右指で接触移動させる操作入力とを同時に受け付け、
前記移動距離算出手段は、前記左単位軌跡長及び前記右単位軌跡長が算出される毎に前記単位移動距離を算出し、前記左単位軌跡長と前記右単位軌跡長との差が増大するにつれて、値が増大するように前記距離減少値を算出し、前記単位移動距離から前記距離減少値を減じることで前記単位移動距離を補正することを特徴とする請求項４又は５記載のゲーム制御プログラム。
【請求項８】
前記左軌道及び前記右軌道は、閉ループ形状を有し、
前記移動距離算出手段は、プレーヤが前記表示部を実際に接触移動させた左右の指の軌跡の形状が前記閉ループ形状からずれた場合、前記単位移動距離が減少するように前記単位移動距離を補正することを特徴とする請求項７記載のゲーム制御プログラム。
【請求項９】
前記閉ループ形状は、直線と前記直線の両端を繋ぐ弧とを含み、
前記移動距離算出手段は、プレーヤが前記弧を接触移動させる操作を開始したときの前記表示部における指の位置である弧開始点を検出し、前記弧開始点を基準として前記表示部の所定の位置に弧判定点を設定し、プレーヤが接触移動させた弧の軌跡が前記弧判定点の外側を通過した場合、当該軌跡の形状が前記閉ループ形状からずれていないと判定することを特徴とする請求項８記載のゲーム制御プログラム。
【請求項１０】
前記左軌道及び前記右軌道は線分であり、
前記受付手段は、前記左軌道を左指で接触移動させる操作が前記線分の終端までくると前記左指を前記表示画面上から離して前記線分の先端に戻す操作入力と、前記右軌道を右指で接触移動させる操作が前記線分の終端までくると前記右指を前記表示画面上から離して前記線分の先端に戻す操作入力とを受け付け、
前記移動距離算出手段は、前記左指が前記線分の先端に戻されて前記表示画面上に接触するタイミングと、前記右指が前記線分の先端に戻されて前記表示画面上に接触するタイミングとがずれた場合、前記単位移動距離が減少するように前記単位移動距離を補正することを特徴とする請求項７記載のゲーム制御プログラム。
【請求項１１】
前記ゲームは水泳ゲームであり、
左指を表示画面上で接触移動させる操作入力と右指を表示画面上で接触移動させる操作入力とが前記受付手段により交互に受け付けられた場合、プレーヤは前記キャラクタをクロールで泳がせていると判定し、左指と右指とが表示画面から離れないように接触移動されている操作入力が前記受付手段により受け付けられた場合、左指と右指とが表示画面からほぼ同時に離れた後、ほぼ同時に表示画面に接触する操作入力が前記受付手段により受け付けられた場合、前記プレーヤが前記キャラクタをバタフライで泳がせていると判定する判定手段として前記ゲーム装置を更に機能させることを特徴とする請求項１〜１０のいずれかに記載のゲーム制御プログラム。
【請求項１２】
前記表示制御手段は、前記判定手段により前記キャラクタがクロールで泳がされていると判定された場合、前記キャラクタがクロールで泳いでいるように表示させ、前記判定手段により前記キャラクタが平泳ぎで泳がされていると判定された場合、前記キャラクタが平泳ぎで泳いでいるように表示させ、前記判定手段により前記キャラクタがバタフライで泳がされていると判定された場合、前記キャラクタがバタフライで泳いでいるように表示させることを特徴とする請求項１１記載のゲーム制御プログラム。
【請求項１３】
タッチパネル式の表示部を備えるゲーム装置であって、
前記ゲームは、ゲーム空間内において、所定のキャラクタを移動させるものであり、
前記表示部の表示画面上において、所定の軌道が繰り返されるように指を接触移動させるプレーヤからの操作入力を受け付ける受付手段と、
所定のキャラクタを前記表示部に表示させ、前記受付手段により受け付けられた操作入力に基づいて、前記キャラクタの表示態様を変化させる表示制御手段と、
前記受付手段により受け付けられた操作入力に基づいて、プレーヤが前記表示部の表示画面上を実際に接触移動させた軌跡の長さを算出する軌跡長算出手段と、
前記軌跡長算出手段により算出された軌跡の長さに応じて、ゲーム空間内における前記キャラクタの移動距離を算出する移動距離算出手段と、
前記移動距離算出手段により算出された移動距離に従って、前記キャラクタをゲーム空間内で移動させる移動手段としてゲーム装置を機能させる特徴とするゲーム装置。
【請求項１４】
タッチパネル式の表示部を備えるゲーム装置がゲームの進行を制御するゲーム制御方法であって、
前記ゲームは、ゲーム空間内において、所定のキャラクタを移動させるものであり、
前記ゲーム装置が、前記表示部の表示画面上において、所定の軌道が繰り返されるように指を接触移動させるプレーヤからの操作入力を受け付ける受付ステップと、
前記ゲーム装置が、所定のキャラクタを前記表示部に表示させ、前記受付ステップにより受け付けられた操作入力に基づいて、前記キャラクタの表示態様を変化させる表示制御ステップと、
前記ゲーム装置が、前記受付ステップにより受け付けられた操作入力に基づいて、プレーヤが前記表示部の表示画面上を実際に接触移動させた軌跡の長さを算出する軌跡長算出ステップと、
前記ゲーム装置が、前記軌跡長算出ステップにより算出された軌跡の長さに応じて、ゲーム空間内における前記キャラクタの移動距離を算出する移動距離算出ステップと、
前記ゲーム装置が、前記移動距離算出ステップにより算出された移動距離に従って、前記キャラクタをゲーム空間内で移動させる移動ステップとを備えることを特徴とするゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネル式の表示部を備えるゲーム装置がゲームの進行を制御する技術に関するものである。
【背景技術】
【０００２】
近年、タッチパネル式の表示部を備える携帯電話機が普及している（例えばｉ−ｐｈone（登録商標））。この携帯電話機では、ユーザは、全ての操作をタッチパネルにタッチすることで行うことができる。そのため、テンキー等の物理的なボタンを携帯電話機に設ける必要がなく、シンプルな外観が実現されている。また、この携帯電話機では、タッチパネル上を指でなぞったり、指で軽く押したりという操作が基本となる、つまり、押す操作に加えてなぞるという操作が新たに加わっているため、押す操作が基本であった従来の携帯電話機に比べて、斬新なユーザーインターフェイスが実現されている。
【０００３】
そして、このタッチパネル式の表示部を備える携帯電話機は、従来の携帯電話機と同様、ゲームを行うことが可能であり、この斬新なユーザーインターフェイスを活かしたゲームの開発が注目されている。
【０００４】
ところで、従来のゲーム装置として、タッチパネル式の表示部を備え、表示画面上でタッチペンをなぞるように動かすことで、ゲーム空間内でキャラクタを移動させることが可能なゲーム装置が知られている。
【０００５】
例えば、特許文献１では、タッチペンの操作によって守備キャラクタを移動させ、打者キャラクタが打ち返したボールをこの守備キャラクタに捕球させる野球ゲームが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３８２２２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１のゲームは、タッチペンの使用が前提とされているため、指の操作を基本とするタッチパネル式の表示部を備える携帯電話機のユーザーインターフェイスの特徴を充分に活かすことはできない。例えば、画面に接触させるタッチペンの操作としては、単に操作対象のキャラクタ（守備キャラクタ）をその姿勢や形状のまま目標位置にまで移動させるものであって、比較的、単純な操作に留まるものであり、キャラクタ自体の動きや動作に関与するものではない。出願人はこの点に着目し、指の操作によってキャラクタ自体の複雑且つ微妙な動きを操作し得て、その操作の巧拙によるキャラクタの移動状態や移動結果に基づき評価や対戦相手との勝敗が決定されるようなシステムを構築することで、従来にない興趣性に満ちたゲームを実現できると考えた。
【０００８】
本発明の目的は、タッチパネル式の表示部を備える携帯端末のユーザーインターフェイスを活かして、キャラクタ自体の動きや動作を操作し、その動作に基づいて移動速度や移動距離等を変化させるゲームを実現することができるゲーム制御プログラム等を提供することである。
【課題を解決するための手段】
【０００９】
（１）本発明の一局面によるゲーム制御プログラムは、タッチパネル式の表示部を備えるゲーム装置にゲームの進行を制御させるゲーム制御プログラムであって、前記ゲームは、ゲーム空間内において、所定のキャラクタを移動させるものであり、前記表示部の表示画面上において、所定の軌道が繰り返されるように指を接触移動させるプレーヤからの操作入力を受け付ける受付手段と、所定のキャラクタを前記表示部に表示させ、前記受付手段により受け付けられた操作入力に基づいて、前記キャラクタの表示態様を変化させる表示制御手段と、前記受付手段により受け付けられた操作入力に基づいて、プレーヤが前記表示部の表示画面上を実際に接触移動させた軌跡の長さを算出する軌跡長算出手段と、前記軌跡長算出手段により算出された軌跡の長さに応じて、ゲーム空間内における前記キャラクタの移動距離を算出する移動距離算出手段と、前記移動距離算出手段により算出された移動距離に従って、前記キャラクタをゲーム空間内で移動させる移動手段としてゲーム装置を機能させることを特徴とする。
【００１０】
また、本発明の別の一局面によるゲーム装置は、タッチパネル式の表示部を備えるゲーム装置であって、前記ゲームは、ゲーム空間内において、所定のキャラクタを移動させるものであり、前記表示部の表示画面上において、所定の軌道が繰り返されるように指を接触移動させるプレーヤからの操作入力を受け付ける受付手段と、所定のキャラクタを前記表示部に表示させ、前記受付手段により受け付けられた操作入力に基づいて、前記キャラクタの表示態様を変化させる表示制御手段と、前記受付手段により受け付けられた操作入力に基づいて、プレーヤが前記表示部の表示画面上を実際に接触移動させた軌跡の長さを算出する軌跡長算出手段と、前記軌跡長算出手段により算出された軌跡の長さに応じて、ゲーム空間内における前記キャラクタの移動距離を算出する移動距離算出手段と、前記移動距離算出手段により算出された移動距離に従って、前記キャラクタをゲーム空間内で移動させる移動手段としてゲーム装置を機能させる特徴とする。
【００１１】
また、本発明の別の一局面によるゲーム制御方法は、タッチパネル式の表示部を備えるゲーム装置がゲームの進行を制御するゲーム制御方法であって、前記ゲームは、ゲーム空間内において、所定のキャラクタを移動させるものであり、前記ゲーム装置が、前記表示部の表示画面上において、所定の軌道が繰り返されるように指を接触移動させるプレーヤからの操作入力を受け付ける受付ステップと、前記ゲーム装置が、所定のキャラクタを前記表示部に表示させ、前記受付ステップにより受け付けられた操作入力に基づいて、前記キャラクタの表示態様を変化させる表示制御ステップと、前記ゲーム装置が、前記受付ステップにより受け付けられた操作入力に基づいて、プレーヤが前記表示部の表示画面上を実際に接触移動させた軌跡の長さを算出する軌跡長算出ステップと、前記ゲーム装置が、前記軌跡長算出ステップにより算出された軌跡の長さに応じて、ゲーム空間内における前記キャラクタの移動距離を算出する移動距離算出ステップと、前記ゲーム装置が、前記移動距離算出ステップにより算出された移動距離に従って、前記キャラクタをゲーム空間内で移動させる移動ステップとを備えることを特徴とする。
【００１２】
これらの構成によれば、プレーヤは、所定の軌道を指で繰り返し接触移動させる（なぞる）操作を行うと、その操作に応じて表示部に表示されるキャラクタの表示態様が変化する。また、プレーヤが所定の軌道をなぞる操作を行うと、プレーヤが表示部を実際になぞった軌跡の長さである軌跡長が算出される。
【００１３】
そして、算出された軌跡長を基に、ゲーム空間内におけるキャラクタの移動距離が算出される。そして、ゲーム空間内において、キャラクタが移動距離に従って移動される。
【００１４】
すなわち、プレーヤは、所定の軌道をなぞったときの軌跡長を長くする、つまり、表示部に指を接触移動させる距離を長くするほど、キャラクタの移動速度を速くすることができる。
【００１５】
よって、プレーヤには、指を接触移動させる距離を確保すると同時に、軌道をなぞる回数を多くすることが要求され、これがゲームの面白みになっている。
【００１６】
従来の水泳ゲームや陸上競技ゲームでは、表示画面上をなぞるという操作がないため、プレーヤにこのような要求が課されることはない。また、特許文献１に示すゲームは守備キャラクタをタッチペンで目標位置まで移動させるものであり、所定の軌道を繰り返しなぞるようなものではないため、プレーヤにこのような要求が課されることはない。
【００１７】
したがって、上記構成によれば、表示部を指で繰り返しなぞるという操作を行うことでキャラクタを移動させることができ、タッチパネル式の表示部を備える携帯端末のユーザーインターフェイスを活かして、キャラクタ自体の動きや動作を操作し、その動作に基づいて移動速度や移動距離等を変化させるゲームを実現することができる。
【００１８】
（２）前記キャラクタは人間を模したものであり、前記表示制御手段は、プレーヤが指で前記軌道を１周接触移動させる操作に連動して、前記キャラクタの左腕、右腕、左脚、及び右脚の少なくともいずれか１つが動作するように前記キャラクタの表示態様を変化させることが好ましい。なお、ここでいう１周とは、表示部へ指を接触させる始点から指を接触移動させ、再び始点に戻るまでの周回軌道を示す場合の他、表示部へ指を接触させる始点から指を接触移動させ、所定地点で指を表示部から離す終点までの区間を示す場合も含める。
【００１９】
この構成によれば、プレーヤが所定の軌道を指でなぞる操作を行うと、１周なぞる毎に、このなぞる操作に連動して、キャラクタの左腕、右腕、左脚、及び右脚の少なくともいずれか１つが動作されるようにキャラクタの表示態様が変化される。
【００２０】
これにより、プレーヤは、表示画面上をなぞる操作を行うことでキャラクタの体の一部（例えば腕）を個々に動作させることができ、あたかも直接、キャラクタの腕を動かすことでその体を移動（前進）させているかのような感覚を得ることができ、従来にはない興趣性を有するゲームを提供することができる。
【００２１】
（３）前記軌跡長算出手段は、プレーヤが前記軌道を１周なぞる操作を行う毎に、プレーヤが前記表示部を実際に接触移動させた軌跡の長さである単位軌跡長を算出し、前記移動距離算出手段は、前記軌跡長算出手段により算出された単位軌跡長を基に、ゲーム空間内における前記キャラクタの１動作あたりの移動距離である単位移動距離を算出し、前記移動手段は、前記移動距離算出手段により算出された単位移動距離で前記キャラクタをゲーム空間内の所定の基準方向に沿って移動させることが好ましい。
【００２２】
この構成によれば、プレーヤが所定の軌道を１周なぞる操作を行う毎に、プレーヤが表示部を実際になぞった軌跡の長さである単位軌跡長が算出される。
【００２３】
そして、算出された単位軌跡長を基に、ゲーム空間内におけるキャラクタの１動作あたりの移動距離である単位移動距離が算出される。そして、ゲーム空間内において、キャラクタが単位移動距離だけ移動される。
【００２４】
つまり、プレーヤは所定の軌道をなぞる回数を多くするほど、単位移動距離の算出回数が多くなって、その分キャラクタの移動速度を速くすることができる。
【００２５】
一方、プレーヤは、所定の軌道を１周なぞったときの軌跡長を長くする、つまり、表示部に指を接触移動させた距離を長くするほど、単位移動距離が長くなるため、キャラクタの移動速度を速くすることができる。
【００２６】
（４）前記軌道は、左右一対の左軌道と右軌道とを含み、前記単位軌跡長は、前記左軌道に対応する左単位軌跡長と前記右軌道に対応する右単位軌跡長とを含み、前記受付手段は、前記左軌道を左指で接触移動させる操作入力と、前記右軌道を右指で接触移動させる操作入力とを受け付け、前記軌跡長算出手段は、プレーヤが前記左軌道を１周接触移動させる毎に前記左単位軌跡長を算出し、プレーヤが前記右軌道を１周接触移動させる毎に前記右単位軌跡長を算出し、前記移動距離算出手段は、前記左単位軌跡長と前記右単位軌跡長との差が増大するにつれて、値が増大する距離減少値を算出し、前記単位移動距離から前記距離減少値を減じることで前記単位移動距離を補正することが好ましい。
【００２７】
この構成によれば、左単位軌跡長と右単位軌跡長との差が増大するにつれて、すなわち、左指で表示部をなぞったときの接触移動距離と右指で表示部をなぞったときの接触移動距離とのバランスが悪くなるにつれて、単位移動距離が減少される。つまり、左右のバランスが悪いほど、キャラクタの進行も遅くなってしまうので、プレーヤには、左指と右指とをバランスよく動かすことが要求され、ゲームの面白みを更に増大させることができる。
【００２８】
（５）前記表示制御手段は、前記左単位軌跡長と前記右単位軌跡長との差が所定の値より大きい場合において、前記左単位軌跡長が前記右単位軌跡長より短い場合は、前記キャラクタを所定の基準方向から左側に傾斜表示させ、前記右単位軌跡長が前記左単位軌跡長より短い場合は、前記キャラクタを前記基準方向から右側に傾斜表示させ、かつ、前記基準方向に前記キャラクタの残像を表示させることが好ましい。
【００２９】
この構成によれば、左単位軌跡長と右単位軌跡長との差が大きい場合、キャラクタの進行方向が基準方向からずれていることをプレーヤに報知することができる。これにより、プレーヤは左右の指の操作のバランスの悪さを視覚的に容易に認識することができ、操作を修正することができる。
【００３０】
（６）前記受付手段は、前記左軌道を左指で接触移動させる操作入力と、前記右軌道を右指で接触移動させる操作入力とを交互に受け付け、前記移動距離算出手段は、前記左単位軌跡長が算出される毎に前記単位移動距離を算出すると共に、前記右単位軌跡長が算出される毎に前記単位移動距離を算出し、今回の左単位軌跡長と前回の右単位軌跡長との差又は今回の右単位軌跡長と前回の左単位軌跡長との差が増大するにつれて、値が大きくなるように前記距離減少値を算出し、今回の単位移動距離から前記距離減少値を減じることで前記今回の単位移動距離を補正することが好ましい。
【００３１】
この構成は、例えば水泳ゲームにおけるクロールや、陸上競技ゲームにおける１００m走、トラック競技や、ゲーム内における匍匐前進等のキャラクタ操作に該当するもので、プレーヤは、左右の指を交互に動かすようになぞる操作を行うことでキャラクタを進行方向に移動させることができる。このとき、左右の指の動きのバランスが悪い場合は、キャラクタの単位移動距離が減少するように単位移動距離が算出される。
【００３２】
（７）前記受付手段は、前記左軌道を左指で接触移動させる操作入力と、前記右軌道を右指で接触移動させる操作入力とを同時に受け付け、前記移動距離算出手段は、前記左単位軌跡長及び前記右単位軌跡長が算出される毎に前記単位移動距離を算出し、前記左単位軌跡長と前記右単位軌跡長との差が増大するにつれて、値が増大するように前記距離減少値を算出し、前記単位移動距離から前記距離減少値を減じることで前記単位移動距離を補正することが好ましい。
【００３３】
この構成は、例えば水泳ゲームにおける平泳ぎ、バタフライや、ゲーム内におけるうさぎ跳び等のキャラクタ操作に該当するもので、プレーヤは、左指と右指とを左右対称に動かすことでキャラクタを移動させることができる。このとき、左右の指の動きのバランスが悪い場合は、キャラクタの単位移動距離が減少するように単位移動距離が算出される。
【００３４】
（８）前記左軌道及び前記右軌道は、閉ループ形状を有し、前記移動距離算出手段は、プレーヤが前記表示部を実際に接触移動させた左右の指の軌跡の形状が前記閉ループ形状からずれた場合、前記単位移動距離が減少するように前記単位移動距離を補正することが好ましい。
【００３５】
この構成は、例えば水泳ゲームにおける平泳ぎに該当するもので、左右の指の軌跡の形状が目標とする閉ループの形状からずれると、値が減少するように単位移動距離が算出される。そのため、プレーヤは、指の軌跡の形状が目標となる閉ループ形状になるように左右の指を動かすことが要求される。これによりゲームの面白みをより増大させることができる。
【００３６】
（９）前記閉ループ形状は、直線と前記直線の両端を繋ぐ弧とを含み、前記移動距離算出手段は、プレーヤが前記弧を接触移動させる操作を開始したときの前記表示部における指の位置である弧開始点を検出し、前記弧開始点を基準として前記表示部の所定の位置に弧判定点を設定し、プレーヤが接触移動させた弧の軌跡が前記弧判定点の外側を通過した場合、当該軌跡の形状が前記閉ループ形状からずれていないと判定することが好ましい。
【００３７】
この構成は、例えば水泳ゲームにおける平泳ぎに該当するものである。そして、プレーヤが弧をなぞる操作を開始したときの表示部における指の位置である弧開始点が検出され、弧開始点を基準として表示部の所定の位置に弧判定点が設定される。そして、プレーヤが実際になぞった弧の軌跡が弧判定点の外側を通過した場合に、弧の形状が閉ループからずれていないと判定される。
【００３８】
そのため、プレーヤが実際になぞった弧の軌跡が弧判定点の外側を通過したか否かによって、当該軌跡の形状が閉ループからずれているか否かが判定され、処理の簡便化を図ることができる。
【００３９】
（１０）前記左軌道及び前記右軌道は線分であり、前記受付手段は、前記左軌道を左指で接触移動させる操作が前記線分の終端までくると前記左指を前記表示画面上から離して前記線分の先端に戻す操作入力と、前記右軌道を右指で接触移動させる操作が前記線分の終端までくると前記右指を前記表示画面上から離して前記線分の先端に戻す操作入力とを受け付け、前記移動距離算出手段は、前記左指が前記線分の先端に戻されて前記表示画面上に接触するタイミングと、前記右指が前記線分の先端に戻されて前記表示画面上に接触するタイミングとがずれた場合、前記単位移動距離が減少するように前記単位移動距離を補正することが好ましい。
【００４０】
この構成は、例えば水泳ゲームにおけるバタフライに該当するもので、プレーヤは、左右の指が軌道となる線分の終端までくると、左右の指を表示画面上から離して軌道となる線分の先端に戻す操作を繰り返すことで、キャラクタを移動させる。このとき、左右の指を先端に戻したときのタイミング、すなわち、左右の指が表示画面に接触したときのタイミングがずれている場合、そのずれが大きいほど、単位移動距離が短くなる。
【００４１】
そのため、プレーヤは左右の指をバランスよく動かすことが要求され、ゲームの面白みをより増大させることができる。
【００４２】
（１１）前記ゲームは水泳ゲームであり、左指を表示画面上で接触移動させる操作入力と右指を表示画面上で接触移動させる操作入力とが前記受付手段により交互に受け付けられた場合、プレーヤは前記キャラクタをクロールで泳がせていると判定し、左指と右指とが表示画面から離れないように接触移動されている操作入力が前記受付手段により受け付けられた場合、左指と右指とが表示画面からほぼ同時に離れた後、ほぼ同時に表示画面に接触する操作入力が前記受付手段により受け付けられた場合、前記プレーヤが前記キャラクタをバタフライで泳がせていると判定する判定手段として前記ゲーム装置を更に機能させることが好ましい。
【００４３】
この構成によれば、プレーヤは、指の動作パターンを変更することで、キャラクタをクロール、平泳ぎ、及びバタフライのいずれかで泳がせることができ、キャラクタを操る自由度が増し、ゲームの面白みをより増大させることができる。
【００４４】
（１２）前記表示制御手段は、前記判定手段により前記キャラクタがクロールで泳がされていると判定された場合、前記キャラクタがクロールで泳いでいるように表示させ、前記判定手段により前記キャラクタが平泳ぎで泳がされていると判定された場合、前記キャラクタが平泳ぎで泳いでいるように表示させ、前記判定手段により前記キャラクタがバタフライで泳がされていると判定された場合、前記キャラクタがバタフライで泳いでいるように表示させることが好ましい。
【００４５】
この構成によれば、泳ぎの種類に応じた表示態様でキャラクタが表示されるため、プレーヤは速やかにキャラクタの現在の泳ぎを認識することができる。
【発明の効果】
【００４６】
本発明によれば、タッチパネル式の表示部を備える携帯端末のユーザーインターフェイスを活かし、プレーヤの指の操作によってキャラクタ自体の複雑且つ微妙な動きを操作し得て、その操作の巧拙によるキャラクタの移動状態や移動結果に基づく評価や対戦相手との勝敗が決定されるシステムを構築することで、従来にない興趣性に満ちたゲームを実現することができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態によるゲーム装置を携帯電話機に適用した場合の携帯電話機のブロック図を示している。
【図２】クロールにおけるプレーヤの指の動きを示した図である。
【図３】平泳ぎにおけるプレーヤの指の動きを示した図である。
【図４】バタフライにおけるプレーヤの指の動きを示した図である。
【図５】平泳ぎの場合に、移動距離算出部が、プレーヤが操作表示部を実際になぞった左右の指の軌跡の形状が平泳ぎの軌道の形からずれているか否かの判定処理を説明するための図である。
【図６】ゲーム空間内において、移動するキャラクタを示した模式図である。
【図７】図１に示す携帯電話機がゲーム装置として機能する場合のゲーム装置の動作を示すフローチャートである。
【図８】クロール処理の詳細を示すフローチャートである。
【図９】表示制御部が操作表示部に表示する画像の一例を示した図である。
【図１０】図７の平泳ぎ処理の詳細を示すフローチャートである。
【図１１】図７に示すバタフライ処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００４８】
図１は、本発明の実施の形態によるゲーム装置を携帯電話機に適用した場合の携帯電話機のブロック図を示している。この携帯電話機は、タッチパネル式の表示部を備える携帯電話機である。
【００４９】
携帯電話機が接続される携帯電話網としては、移動体通信事業者によって提供される例えばパケット通信網が使用され、携帯電話機とは各ユーザが契約している移動体通信事業者の基地局等を介して接続されている。
【００５０】
なお、ゲーム装置としては、携帯電話機に限定されず、ＰＨＳ（Personal Handy phone System）、ＰＤＡ（Personal Data Assistance）等の通信機能を備えた携帯端末を採用してもよい。
【００５１】
また、以下の説明では、ゲームとしてプレーヤが水泳選手のキャラクタを操作して、ゴールに到達するまでの時間を競う水泳ゲームを採用する。
【００５２】
図１に示す携帯電話機は、操作表示部１０、通信部２０、音声出力部３０、制御部４０、及び記憶部５０を備えている。操作表示部１０は、例えば、液晶パネルと液晶パネルの表示面上に貼り付けられたタッチパッドとにより構成されている。
【００５３】
タッチパッドとしては、例えば静電容量方式のものや抵抗膜方式のものが採用され、プレーヤがタッチした表示画面上の位置を示す２次元データである位置信号を制御部４０に出力する。制御部４０は、この位置信号からプレーヤがタッチした表示画面上の位置を認識する。
【００５４】
液晶パネルとしては、例えば、ＴＦＴ（Thin Film Transistor)やＳＴＮ（Super Twisted Nematic）等の液晶パネルが用いられ、例えば４０９６色のカラー表示が可能である。なお、液晶パネルに代えて、有機ＥＬ（Electro Luminescence)パネル等を採用してもよい。
【００５５】
通信部２０は、アンテナ２１を備え、無線公衆回線を介しての着信や送信の回線制御及び音声データの送受信の他、サーバからゲーム制御プログラム等の各種データを受信する。具体的には、通信部２０は、制御部４０により生成された送信対象のデータを、例えばＣＤＭＡ（Code Division Multiple Access)等により拡散処理した後、ＱＡＭ（Quadrature Amplitude phase Modulation）、ＰＳＫ（Phase Shift Keying）、ＱＰＳＫ（Quadrature Phase Shift Keying）等により変調して送信する処理や、受信したデータを復調した後、逆拡散処理し、得られたデータを制御部４０に出力する処理を行う。
【００５６】
音声出力部３０は、圧電スピーカ等で構成され、通話時には通話音声を出力すると共に、ゲーム実行時にはゲーム音楽や効果音等を出力する。
【００５７】
制御部４０は、演算処理を実行するＣＰＵ（Central Processing Unit）、携帯電話機を動作させるための基本プログラム等が記憶されたＲＯＭ（Read-Only Memory）、データを一時的に記憶するＲＡＭ（Random Access Memory）等により構成されている。
【００５８】
そして、制御部４０は、受付部４１、判定部４２、表示制御部４３、軌跡長算出部４４、移動距離算出部４５、移動部４６、及び計時部４７を備えている。なお、これらの機能は、ＲＯＭに記憶された基本プログラム、及びゲーム制御プログラム記憶部５２に記憶されたゲーム制御プログラムをＣＰＵが実行することで実現される。図１では、本発明に関連する機能を表すブロックのみ図示し、他のブロックは図示を省略している。
【００５９】
受付部４１は、所定の軌道を繰り返し指で接触移動させる（なぞる）プレーヤからの操作入力を受け付ける。本実施の形態の水泳ゲームにおいて、プレーヤは、クロール、平泳ぎ、又はバタフライのいずれかを用いてキャラクタをゲーム空間内で泳がせることが可能である。
【００６０】
したがって、軌道としては、クロールの軌道と、平泳ぎの軌道と、バタフライの軌道とが存在する。
【００６１】
図２は、クロールにおけるプレーヤの指の動きを示した図である。クロールにおいては、プレーヤは、操作表示部１０に対して、左右の指（例えば親指）を上から下に接触移動させる操作を交互に行うことで、キャラクタをゴールに向けて前進させる。
【００６２】
図２において、上方向は、キャラクタＣＡの進行方向を示し、携帯電話機を把持するプレーヤの奥側を指している。また、下方向は、プレーヤの手前側を指している。また、左方向は、携帯電話機を把持したプレーヤから見て左側を指している。また、右方向は、携帯電話機を把持したプレーヤから見て右側を指している。
【００６３】
具体的には、まず、プレーヤは、左右一方の指を操作表示部１０の任意の位置Ｐ１に接触させ、接触させた指をプレーヤの手前側に向けて（上側から下側に向けて）直線状に接触移動させる。
【００６４】
次に、手前側に接触移動させた指を操作表示部１０の任意の位置Ｐ２から離し、再度、位置Ｐ１付近に接触させ、指を元の位置に戻す。プレーヤは、この操作を左右交互に繰り返し実行する。
【００６５】
したがって、クロールの軌道は、左右一対の左軌道と右軌道とを含み、左軌道及び右軌道とはそれぞれ線分となる。
【００６６】
図３は、平泳ぎにおけるプレーヤの指の動きを示した図である。図３において、上、下、左、右の方向は、図２と同一である。平泳ぎにおいては、プレーヤは、操作表示部１０に対して、左右の指をそれぞれ、ほぼ半月状の軌道を繰り返しなぞるように接触移動させることで、キャラクタをゴールに向けて前進させる。
【００６７】
具体的には、まず、プレーヤは、左右の指をほぼ同時に操作表示部１０の任意の位置Ｐ１，Ｐ１に接触させる。次に、プレーヤは、接触させた左右の指が外側に弧を描くように、左右の指を手前側に向けて接触移動させる。つまり、プレーヤは、左側に膨らんだ弧の外周を手前側に向けて左指でなぞり、同時に、右側に膨らんだ弧の外周を手前側に向けて右の指でなぞるように左右の指を接触移動させる。
【００６８】
次に、プレーヤは、接触移動させた左右の指が、位置Ｐ１，Ｐ１のほぼ真下であって、操作表示部１０の任意の位置である位置Ｐ２，Ｐ２に到達すると、左右の指を位置Ｐ２，Ｐ２から位置Ｐ１，Ｐ１に向けて直線状に接触移動させる。
【００６９】
次に、プレーヤは、左右の指が位置Ｐ１，Ｐ１付近に到達すると、再度、左右の指が外側に弧を描くように左右の指を接触移動させる。プレーヤはこの操作を繰り返し実行する。
【００７０】
したがって、平泳ぎにおける軌道は、左右一対の左軌道と右軌道とを含み、左軌道は、線分Ｌ１と、線分Ｌ１の両端を繋ぐように、左側に膨らんだ弧Ｌ２とを含み、右軌道は、線分Ｌ３と、線分Ｌ３の両端を繋ぐように、右側に膨らんだ弧Ｌ４とを含む。
【００７１】
図４は、バタフライにおけるプレーヤの指の動きを示した図である。図４において、上、下、左、右の方向は、図２及び図３と同一である。バタフライにおいて、プレーヤは、操作表示部１０に対して、左右の指をそれぞれ、上側から下側に向けて直線状の軌道を繰り返しなぞるように接触移動させることで、キャラクタを前進させる。
【００７２】
具体的には、まず、プレーヤは、左右の指をほぼ同時に操作表示部１０の任意の位置Ｐ１，Ｐ１に接触させる。次に、プレーヤは、接触させた左右の指をほぼ同時に手前側に向けて直線状に接触移動させる。
【００７３】
次に、プレーヤは、接触移動させた左右の指が、位置Ｐ１，Ｐ１のほぼ真下であって、操作表示部１０の任意の位置である位置Ｐ２，Ｐ２に到達すると、左右の指を位置Ｐ２，Ｐ２から離して、位置Ｐ１，Ｐ１付近に再度接触させる。次に、プレーヤは、接触させた左右の指を再度、手前側に向けて直線状に接触移動させる。プレーヤは、この操作を繰り返し実行する。
【００７４】
したがって、バタフライにおける軌道は、左右一対の左軌道と右軌道とを含み、左軌道及び右軌道は、同一の長さの線分となる。
【００７５】
図１に戻り、判定部４２は、左指を表示画面上で接触移動させる操作入力と右指を表示画面上で接触移動させる操作入力とが受付部４１により交互に受け付けられた場合、プレーヤはキャラクタをクロールで泳がせていると判定する。
【００７６】
また、判定部４２は、左指と右指とが表示画面から離れないように接触移動されている操作入力が受付部４１により受け付けられた場合、プレーヤはキャラクタを平泳ぎで泳がせていると判定する。
【００７７】
また、判定部４２は、左指と右指とが表示画面からほぼ同時（左右の指が所定時間以内にずれて）に離れた後、ほぼ同時（左右の指が所定時間以内にずれて）に表示画面に接触する操作入力が受付部４１により受け付けられた場合、プレーヤはキャラクタをバタフライで泳がせていると判定する。
【００７８】
表示制御部４３は、水泳選手のキャラクタの画像データを画像データ記憶部５１から読み出して操作表示部１０に表示させ、受付部４１により受け付けられた操作入力に基づいて、キャラクタの表示態様を変化させる。
【００７９】
具体的には、図２〜図４に示すように、表示制御部４３は、プレーヤが軌道を１周なぞる操作に連動して、キャラクタＣＡの左腕ＬＡ、右腕ＲＡ、左脚ＬＦ、及び右脚ＲＦの少なくともいずれか１つが動作するようにキャラクタＣＡの表示態様を変化させる。
【００８０】
より具体的には、表示制御部４３は、判定部４２により、プレーヤがキャラクタをクロールで泳がせていると判定された場合、予め定められたクロールの動作表示パターンで、キャラクタを動かす。
【００８１】
ここで、クロールの動作表示パターンは例えば以下のようになる。図２に示すように、プレーヤの右の指が位置Ｐ１から位置Ｐ２に接触移動する間、表示制御部４３は、キャラクタＣＡの右腕ＲＡが前方から後方に向けて水中を掻くように表示させる。
【００８２】
また、プレーヤの右の指が位置Ｐ２から離れたとき、表示制御部４３は、キャラクタＣＡの右腕ＲＡを、水中から出して前方に向けて回転させ、水中に入水させた後、前方に向けて伸びるように表示させる。
【００８３】
また、表示制御部４３は、キャラクタＣＡの左腕ＬＡも、プレーヤの左指の動きに従って、右腕ＲＡの場合と同様にして操作表示部１０に表示させる。
【００８４】
本実施の形態では、クロールにおいては、キャラクタＣＡの右腕ＲＡが伸びた状態から、１周して元の伸びた状態に戻るまでが１ストロークとなり、キャラクタＣＡの左腕ＬＡが伸びた状態から１周して元の伸びた状態に戻るまでが１ストロークとなる。
【００８５】
つまり、クロールにおいては、プレーヤが右指を操作表示部１０に接触させて、図２に示す動作を行い、再度、操作表示部１０に接触させるまでが１ストロークとなり、プレーヤが左指を操作表示部１０に接触させて、図２に示す動作を行い、再度、操作表示部１０に左指を接触させるまでが１ストロークとなる。
【００８６】
また、表示制御部４３は、キャラクタＣＡの右脚ＲＦ及び左脚ＬＦもキャラクタＣＡの右腕ＲＡ及び左腕ＬＡの動作と連動させてバタ足動作するように表示させる。
【００８７】
具体的には、キャラクタＣＡの右腕ＲＡが１ストロークの動作を行う間、表示制御部４３は、キャラクタＣＡの左脚ＬＦ及び右脚ＲＦが交互に所定回数（例えば３回）、バタ足動作するように表示する。また、キャラクタＣＡの左腕ＬＡが１ストロークの動作を行う間、表示制御部４３は、キャラクタＣＡの左脚ＬＦ及び右脚ＲＦが交互に所定回数（例えば３回）、バタ足動作するように表示する。
【００８８】
また、表示制御部４３は、判定部４２により、プレーヤがキャラクタＣＡを平泳ぎで泳がせていると判定された場合、予め定められた平泳ぎの動作表示パターンで、キャラクタＣＡを表示する。
【００８９】
ここで、平泳ぎの動作表示パターンは以下のようになる。図３に示すように、プレーヤの左右の指が位置Ｐ１，Ｐ１から位置Ｐ２，Ｐ２に向けて弧を描くように接触移動されると、表示制御部４３は、キャラクタＣＡの左腕ＬＡ及び右腕ＲＡを、前方から後方に向けて掻くように表示させる。
【００９０】
このとき、表示制御部４３は、後方に向けて伸びた状態にあるキャラクタＣＡの左脚ＬＦ及び右脚ＲＦを胴体側に縮むように表示する。
【００９１】
また、プレーヤの左右の指が位置Ｐ２，Ｐ２から位置Ｐ１，Ｐ１に向けて直線状に接触移動されると、表示制御部４３は、キャラクタＣＡの左腕ＬＡ及び右腕ＲＡを、後方から前方に伸びるように表示させる。
【００９２】
このとき、表示制御部４３は、胴体側に縮んだ状態にあるキャラクタＣＡの左脚ＬＦ及び右脚ＲＦを、後方に向けて伸びるように表示させる。
【００９３】
本実施の形態では、平泳ぎにおいては、前方に伸びた状態にあるキャラクタＣＡの左腕ＬＡ及び右腕ＲＡが後方に向けて掻く動作を行った後、再度、伸びた状態に戻る動作を行うまでが１ストロークとなる。
【００９４】
つまり、平泳ぎにおいては、プレーヤの左右の指が、位置Ｐ１，Ｐ１から接触移動を開始して、再度、位置Ｐ１，Ｐ１に戻るまでが１ストロークとなる。
【００９５】
また、表示制御部４３は、判定部４２により、プレーヤがキャラクタＣＡをバタフライで泳がせていると判定された場合、予め定められたバタフライの動作表示パターンで、キャラクタＣＡを表示する。
【００９６】
ここで、バタフライの動作パターンは以下のようになる。図４に示すように、プレーヤの左右の指が位置Ｐ１，Ｐ１から位置Ｐ２，Ｐ２に向けて後方に接触移動する間、表示制御部４３は、前方に向けて伸びた状態にあるキャラクタＣＡの左腕ＬＡ及び右腕ＲＡを、後方に向けて掻くように表示する。
【００９７】
また、プレーヤの左右の指が位置Ｐ２，Ｐ２から離れると、左腕ＬＡ及び右腕ＲＡを水中から出して前方に回転させて入水させた後、前方に伸びるように表示する。
【００９８】
ここで、表示制御部４３は、キャラクタＣＡが左腕ＬＡ右腕ＲＡが水中から出て、前方に伸びるまでの動作に連動させて、左脚ＬＦ及び右脚ＲＦが両膝を中心として水面に対して上向きに回転させた後、両膝を中心として、水面に対して下向きに回転させて、左脚ＬＦ及び右脚ＲＦで水を蹴るように表示する。
【００９９】
本実施の形態では、バタフライにおいては、前方に伸びた状態にあるキャラクタＣＡの左腕ＬＡ及び右腕ＲＡが後方に向けて掻く動作を行った後、再度、伸びた状態に戻る動作を行うまでが１ストロークとなる。
【０１００】
つまり、バタフライにおいては、プレーヤの左右の指が、位置Ｐ１，Ｐ１から接触移動を開始して、再度、位置Ｐ１，Ｐ１に戻るまでが１ストロークとなる。
【０１０１】
図１に戻り、軌跡長算出部４４は、受付部４１により受け付けられた操作入力に基づいて、プレーヤが軌道を１周なぞる操作を行う毎に、プレーヤが操作表示部１０を実際になぞった軌跡の長さである単位軌跡長を算出する。
【０１０２】
ここで、単位軌跡長には、左単位軌跡長と、右単位軌跡長とが含まれ、軌跡長算出部４４は、プレーヤが左軌道を１周なぞる毎に左単位軌跡長を算出し、プレーヤが右軌道を１周なぞる毎に右単位軌跡長を算出する。
【０１０３】
具体的には、クロールの場合、図２に示すように、プレーヤが位置Ｐ１から位置Ｐ２まで右指を実際に接触移動させた距離が右単位軌跡長となり、プレーヤが位置Ｐ１から位置Ｐ２まで左指を実際に接触移動させた距離が左単位軌跡長となる。
【０１０４】
そして、軌跡長算出部４４は、クロールの場合、プレーヤが位置Ｐ２から左指を操作表示部１０から離したとき、プレーヤが左軌道を１周なぞったと判定し、左指の軌跡の先端から終端までの長さを、左単位軌跡長として算出する。また、軌跡長算出部４４は、クロールの場合、プレーヤが位置Ｐ２から右指を操作表示部１０から離したとき、プレーヤが右軌道を１周なぞったと判定し、右指の軌跡の先端から終端までの長さを、右単位軌跡長として算出する。
【０１０５】
また、平泳ぎの場合、図３に示すように、プレーヤが位置Ｐ１，Ｐ１から左右の指の接触移動を開始して、左右の指位が位置Ｐ１，Ｐ１に戻るまでに、左右の指を実際に接触移動させた距離が左単位軌跡長及び右単位軌跡長となる。
【０１０６】
具体的には、軌跡長算出部４４は、平泳ぎの場合、取得した左右の指のそれぞれの軌跡から位置Ｐ１に対応する上側の屈曲点を検出し、この屈曲点を軌跡の始点として検出する。そして、軌跡長算出部４４は、左右の軌跡の始点を検出したとき、プレーヤが左軌道及び右軌道を１周なぞったと判定し、前回検出した軌跡の始点から今回検出した軌跡の始点までの左右の軌跡のそれぞれの長さを、左単位軌跡長及び右単位軌跡長として算出する。
【０１０７】
また、バタフライの場合、図４に示すように、プレーヤが位置Ｐ１，Ｐ１から左右の指の移動を開始してから、位置Ｐ２，Ｐ２で左右の指を操作表示部１０から離すまでに、実際に左右の指を接触移動させた軌跡のそれぞれの長さが左単位軌跡長及び右単位軌跡長となる。
【０１０８】
そして、軌跡長算出部４４は、バタフライの場合、プレーヤが位置Ｐ２で左右の指を操作表示部１０から離したとき、プレーヤが左軌道及び右軌道を１周なぞったと判定し、左右の指の軌跡の先端から終端までのそれぞれの長さを、左単位軌跡長及び右単位軌跡長として算出する。
【０１０９】
なお、軌跡長算出部４４は、操作表示部１０の矩形状の表示画面上の各位置を表す２次元座標空間において、受付部４１が受け付けた位置信号により示される位置をプロットしていくことで、左右の指の軌跡を取得すればよい。
【０１１０】
また、軌跡長算出部４４は、例えば、２次元座標空間に前回プロットした位置と今回プロットした位置との差分ベクトルを随時求め、今回求めた差分ベクトルと前回求めた差分ベクトルとのなす角度が所定の値より大きい場合、前回プロットした位置を屈曲点として判定すればよい。
【０１１１】
移動距離算出部４５は、軌跡長算出部４４により算出された左単位軌跡長及び右単位軌跡長を基に、ゲーム空間内におけるキャラクタの１動作あたりの移動距離である単位移動距離を算出する。
【０１１２】
本実施の形態では、水泳ゲームを想定しているため、１動作あたりの移動距離としては、１ストロークあたりの移動距離を採用することができる。
【０１１３】
クロールの場合、移動距離算出部４５は、軌跡長算出部４４により左単位軌跡長が算出される毎にキャラクタの１ストロークあたりの単位移動距離を算出し、軌跡長算出部４４により右単位軌跡長が算出される毎にキャラクタの１ストロークあたりの単位移動距離を算出する。
【０１１４】
具体的には、移動距離算出部４５は、クロールの場合、軌跡長算出部４４により算出された左単位軌跡長ＬＬと右単位軌跡長ＲＬとのそれぞれに対して、予め定められたクロール用の移動係数α１を乗じることで、単位移動距離ＴＬ（＝ＬＬ・α１，＝ＲＬ・α１）を算出する。
【０１１５】
平泳ぎ及びバタフライの場合、軌跡長算出部４４により、左単位軌跡長ＬＬと右単位軌跡長ＲＬとはほぼ同一タイミングで算出されるため、移動距離算出部４５は、左単位軌跡長ＬＬと右単位軌跡長ＲＬとの両方が算出される毎に単位移動距離ＴＬを算出する。
【０１１６】
具体的には、移動距離算出部４５は、平泳ぎ及びバタフライの場合、軌跡長算出部４４により算出された左単位軌跡長ＬＬと右単位軌跡長ＲＬとの代表値ＰＬを求め、この代表値ＰＬに予め定められた平泳ぎ用の移動係数β１及びバタフライ用の移動係数γ１を乗じることで単位移動距離ＴＬ（＝ＰＬ・β１，ＰＬ・γ１）を算出する。なお、代表値ＰＬとしては、例えば左単位軌跡長ＬＬと右単位軌跡長ＲＬとの平均値（＝（ＬＬ＋ＲＬ）／２，＝√（ＬＬ・ＲＬ））を採用してもよいし、和（＝ＬＬ＋ＲＬ）を採用してもよい。
【０１１７】
また、クロール用の移動係数α１、平泳ぎ用の移動係数β１、及びバタフライ用の移動係数γ１としては、例えば、軌跡長算出部４４が算出した単位軌跡長が所定の標準的な長さである場合に、一般的な競泳選手が１ストロークで進むことのできるクロール、平泳ぎ、及びバタフライの距離となるような値を採用すればよい。
【０１１８】
また、移動距離算出部４５は、左単位軌跡長ＬＬと右単位軌跡長ＲＬとの差が増大するにつれて、値が増大する距離減少値ＤＬを算出し、単位移動距離ＴＬから距離減少値ＤＬを減じることで単位移動距離ＴＬを補正する。
【０１１９】
この場合、移動距離算出部４５は、例えば、左単位軌跡長ＬＬと右単位軌跡長ＲＬとの差の絶対値に対して所定の減少係数（クロール用の減少係数α２、平泳ぎ用の減少係数β２、バタフライ用の減少係数γ２）を乗じることで、距離減少値ＤＬ（＝｜ＬＬ−ＲＬ｜・α２、＝｜ＬＬ−ＲＬ｜・β２，＝｜ＬＬ−ＲＬ｜・γ２）を算出すればよい。
【０１２０】
なお、移動距離算出部４５は、｜ＬＬ−ＲＬ｜が閾値ＴＨ１より小さい場合、距離減少値ＤＬを算出せず、単位移動距離ＴＬの補正を行わないようにしてもよい。これにより、ゲームの難易度を低くすることができる。
【０１２１】
実際の人間が水中を泳ぐ場合、左腕ＬＡで水を掻く力が右腕ＲＡで水を掻く力よりも大きいと、スタート地点からゴール地点を結ぶ直線の方向である基準方向に対して、進行方向が右側に傾斜する。
【０１２２】
また、右腕ＲＡで水を掻く力が左腕ＬＡで水を掻く力よりも大きいと、実際の人間は、進行方向が基準方向に対して左側に傾斜する。
【０１２３】
したがって、移動距離算出部４５は、左単位軌跡長ＬＬと右単位軌跡長ＲＬとの差が増大するにつれて、値が増大する距離減少値ＤＬを算出し、単位移動距離ＴＬから距離減少値ＤＬを減じて単位移動距離ＴＬを補正することにより、上記の左腕ＬＡ及び右腕ＲＡの水を掻くときの力の差に応じて発生する基準方向に対する進行方向のずれによる基準方向への移動距離の低下を再現することができる。
【０１２４】
具体的には、移動距離算出部４５は、クロールの場合、左単位軌跡長ＬＬが算出される毎に単位移動距離ＴＬを算出すると共に、右単位軌跡長ＲＬが算出される毎に単位移動距離ＴＬを算出し、今回の左単位軌跡長ＬＬと前回の右単位軌跡長ＲＬとの差の絶対値（＝｜ＬＬ−ＲＬ｜又は今回の右単位軌跡長ＲＬと前回の左単位軌跡長ＬＬとの差の絶対値（＝｜ＲＬ−ＬＬ｜）が増大するにつれて、値が大きくなるように距離減少値ＤＬを算出し、今回の単位移動距離ＴＬから距離減少値ＤＬを減じることで今回の単位移動距離ＴＬ（＝ＴＬ−ＤＬ）を補正する。
【０１２５】
また、移動距離算出部４５は、平泳ぎの場合、プレーヤが操作表示部１０を実際になぞった左右指の軌跡の形状が平泳ぎの軌道の形状からずれた場合、単位移動距離ＴＬが減少するように単位移動距離ＴＬを補正する。
【０１２６】
図５は、プレーヤが操作表示部１０を実際になぞった左右の指の軌跡の形状が平泳ぎの軌道の形からずれているか否かの判定処理の説明図である。
【０１２７】
図５に示すように、移動距離算出部４５は、プレーヤが図３に示す弧Ｌ２，Ｌ４をなぞる操作を開始したときの操作表示部１０における指の位置Ｐ１，Ｐ１（弧開始点）を検出し、位置Ｐ１，Ｐ１を基準として操作表示部１０の表示画面上の所定の位置に弧判定点ＰＨ１，ＰＨ２を設定し、プレーヤがなぞった弧Ｌ２，Ｌ４の軌跡Ｋ２，Ｋ４が弧判定点ＰＨ１，ＰＨ２の外側を通過した場合、軌跡Ｋ２，Ｋ４の形状が平泳ぎの軌道の形状からずれていないと判定する。
【０１２８】
つまり、移動距離算出部４５は、軌跡Ｋ２が弧判定点ＰＨ１の左側を通過し、軌跡Ｋ４が弧判定点ＰＨ２の右側を通過した場合、軌跡Ｋ２，Ｋ４の形状が平泳ぎの軌道の形状からずれていないと判定する。
【０１２９】
一方、移動距離算出部４５は、軌跡Ｋ２，Ｋ４が弧判定点ＰＨ１，ＰＨ２の内側を通過した場合、軌跡Ｋ２，Ｋ４の形状が平泳ぎの軌道からずれていると判定する。
【０１３０】
つまり、移動距離算出部４５は、軌跡Ｋ２が弧判定点ＰＨ１の右側を通過し、軌跡Ｋ４が弧判定点ＰＨ２の左側を通過した場合、軌跡Ｋ２，Ｋ４の形状が平泳ぎの軌道の形状からずれていると判定する。
【０１３１】
ここで、移動距離算出部４５は、軌跡Ｋ２，Ｋ４が平泳ぎの軌道の形状からずれていると判定した場合、予め定められた値を単位移動距離ＴＬから減じることで、単位移動距離ＴＬを補正してもよいし、平泳ぎの軌道の形状に対する軌跡Ｋ２，Ｋ４のずれを求め、ずれが増大するにつれて、単位移動距離ＴＬから減じる値を増大させてもよい。
【０１３２】
この場合、移動距離算出部４５は、軌跡Ｋ２が平泳ぎの軌道の形状からずれていると判定した場合、軌跡Ｋ２と弧判定点ＰＨ１との最短距離ｄ１を求め、最短距離ｄ１に、減少係数β２を乗じた値（＝ｄ１・β２）を求め、単位移動距離ＴＬからこの値を減じることで、単位移動距離ＴＬ（＝ＴＬ−ｄ１・β２）を補正すればよい。
【０１３３】
なお、弧判定点ＰＨ１の位置としては、例えば、左側の位置Ｐ１から下方向に左軌道の線分Ｌ１を引き、線分Ｌ１の中点ＰＭ１から、線分Ｌ１に直交する方向であって、中点ＰＭ１の左側に所定距離離れた位置を採用することができる。
【０１３４】
また、弧判定点ＰＨ２の位置としては、例えば、右側の位置Ｐ１から下方向に右軌道の線分Ｌ３を引き、線分Ｌ３の中点ＰＭ２から、線分Ｌ３に直交する方向であって中点ＰＭ２の右側に所定距離離れた位置を採用することができる。
【０１３５】
また、移動距離算出部４５は、軌跡Ｋ４が平泳ぎの軌道の形状からずれていると判定した場合、軌跡Ｋ４と弧判定点ＰＨ２との最短距離ｄ２を求め、最短距離ｄ２に、減少係数β２を乗じた値（＝ｄ２・β２）を求め、単位移動距離ＴＬ（＝ＴＬ−ｄ２・β２）からこの値を減じればよい。
【０１３６】
また、移動距離算出部４５は、軌跡Ｋ２，Ｋ４のうち少なくともいずれか一方が弧判定点ＰＨ１，ＰＨ２の外側を通過しなかった場合、プレーヤの操作が平泳ぎの軌道からずれていると判定してもよいし、軌跡Ｋ２，Ｋ４の両方が弧判定点ＰＨ１，ＰＨ２の外側を通過しなかった場合、プレーヤの操作が平泳ぎの軌道からずれていると判定してもよい。
【０１３７】
なお、図５に示す処理は一例であり、別の処理を採用してもよい。この場合、例えば、軌跡Ｋ２，Ｋ４の長さが弧Ｌ２，Ｌ４の長さよりも短い場合、軌跡Ｋ２，Ｋ４が平泳ぎの軌道の形状からずれていると判定してもよい。また、パターン認識により軌跡Ｋ２，Ｋ４の形状と弧Ｌ２，Ｌ４の形状との相互相関値を求め、この相互相関値に従って、軌跡Ｋ２，Ｋ４の形状の平泳ぎの軌道の形状に対するずれを求めても良い。
【０１３８】
また、移動距離算出部４５は、バタフライの場合、左指が左軌道となる線分の先端に戻されて操作表示部１０の表示画面上に接触するタイミングと、右指が右軌道となる線分の先端に戻されて操作表示部１０の表示画面上に接触するタイミングとがずれた場合、単位移動距離ＴＬが減少するように単位移動距離を補正する。
【０１３９】
ここで、移動距離算出部４５は、左指が操作表示部１０の表示画面上に接触するタイミングと、右指が操作表示部１０の表示画面上に接触するタイミングとの差の絶対値が所定の閾値ＴＨ２以上の場合、両タイミングがずれていると判定する。但し、これに限定されず、移動距離算出部４５は、左指が操作表示部１０の表示画面上に接触するタイミングと、右指が操作表示部１０の表示画面上に接触するタイミングとが少しでもずれている場合、両タイミングがずれていると判定してもよい。
【０１４０】
また、移動距離算出部４５は、両タイミングがずれていると判定した場合、単位移動距離ＴＬから予め定められた値を減じ、単位移動距離ＴＬを補正する。
【０１４１】
但し、これに限定されず、移動距離算出部４５は、両タイミングのずれに応じて単位移動距離ＴＬから差し引く値を動的に変更してもよい。この場合、移動距離算出部４５は、両タイミングの差分時間ＤＴを測定し、差分時間ＤＴに予め定められた係数γ２を乗じた値（＝ＤＴ・γ２）を求め、単位移動距離ＴＬからこの値（Ｄ２・γ２）を減じることで、単位移動距離ＴＬ（＝ＴＬ−γ２・Ｄ２）を補正すればよい。
【０１４２】
表示制御部４３は、左単位軌跡長ＬＬと右単位軌跡長ＲＬとの差の絶対値（＝｜ＬＬ−ＲＬ｜）が所定の閾値ＴＨ３より大きい場合において、左単位軌跡長ＬＬが右単位軌跡長ＲＬより短い場合は、キャラクタＣＡを基準方向から左側に傾斜表示させ、右単位軌跡長ＲＬが左単位軌跡長ＬＬより短い場合は、キャラクタＣＡを基準方向から右側に傾斜表示させる。このとき、表示制御部４３は、基準方向にキャラクタＣＡの残像を表示させてもよい。
【０１４３】
これにより、プレーヤは、左右の指の動きのバランスが悪いため、キャラクタがゲーム空間内を効率良く前進できていないことを認識することができる。
【０１４４】
移動部４６は、移動距離算出部４５により単位移動距離ＴＬが算出される毎に、ゲーム空間内において、単位移動距離ＴＬ分、基準方向に沿ってキャラクタＣＡを移動させる。
【０１４５】
図６は、ゲーム空間内において、移動するキャラクタＣＡを示した模式図である。ここで、ゲーム空間としては、例えば、仮想２次元空間を採用することができる。ゲーム空間内の所定の位置にはスタート地点ＳＰとゴール地点ＧＰとが設定されている。スタート地点ＳＰとゴール地点ＧＰとを結ぶ基準方向に沿った線分が、実際のプールの１レーンを仮想的に表している。
【０１４６】
したがって、移動部４６は、キャラクタＣＡを、例えば基準方向に沿った線分を移動する質点とみなし、移動距離算出部４５により単位移動距離ＴＬの積算値を求め、この積算値が線分の長さＺ１以上になった場合、キャラクタＣＡがゴール地点ＧＰに到達したと判定すればよい。
【０１４７】
計時部４７は、キャラクタＣＡがスタート地点ＳＰからゴール地点ＧＰに到達するまでの時間を計時し、計時した時間をプレーヤの成績として算出する。
【０１４８】
したがって、プレーヤは、この時間が短いほど、ゲームに対する成績が良いことを知ることができる。また、対戦相手と同じゲームを行った場合に、どちらの時間が短いかを比較することで互いに勝敗を判断することができる。
【０１４９】
図１に戻り、記憶部５０は、例えば、ＥＥＰＲＯＭ等の不揮発性の書き換え可能な記憶装置から構成され、画像データ記憶部５１及びゲーム制御プログラム記憶部５２を備えている。
【０１５０】
画像データ記憶部５１は、水泳選手であるキャラクタＣＡの画像データ、キャラクタＣＡが泳ぐプール等の背景の画像データ等を記憶する。
【０１５１】
ゲーム制御プログラム記憶部５２は、携帯電話機をゲーム装置として機能させるゲーム制御プログラムを記憶している。
【０１５２】
図７は、図１に示す携帯電話機がゲーム装置として機能する場合の携帯電話機の動作を示すフローチャートである。まず、ステップＳ１において、プレーヤによりゲームの開始が指示されると、（ステップＳ１でＹＥＳ）、表示制御部４３は、キャラクタＣＡの画像データ、キャラクタＣＡの背景の画像データ等を画像データ記憶部５１から読み出し、操作表示部１０に表示する（ステップＳ２）。
【０１５３】
なお、プレーヤは、例えば操作表示部１０に表示されるゲーム開始ボタンをタッチすることで、ゲームを開始させればよい。
【０１５４】
次に、プレーヤにより操作表示部１０の表示画面上にクロール、平泳ぎ、又はバタフライの軌道をなぞる操作入力が行われ、受付部４１は、プレーヤからの操作入力を受け付ける（ステップＳ３）。
【０１５５】
次に、判定部４２は、プレーヤが、クロール、平泳ぎ、及びバタフライのいずれの操作入力を行ったかを判定する（ステップＳ４）。この場合、判定部４２は、プレーヤが、クロール、平泳ぎ、及びバタフライのいずれの軌道をなぞっているかを認識することができるまで、キャラクタＣＡを前進させないようにしてもよい。なお、判定部４２の判定処理の詳細については上述した。
【０１５６】
次に、判定部４２が、クロールと判定した場合（ステップＳ４でＡ）、クロール処理が開始される（ステップＳ５）。また、判定部４２が、平泳ぎと判定した場合（ステップＳ４でＢ）、平泳ぎ処理が開始される（ステップＳ６）。また、判定部４２が、バタフライと判定した場合（ステップＳ４でＣ）、バタフライ処理が開始される（ステップＳ７）。
【０１５７】
図８は、クロール処理の詳細を示すフローチャートである。まず、受付部４１が、操作表示部１０の表示画面上にプレーヤの左右の指のうち一方の指が接触したことを検出すると（ステップＳ１１でＹＥＳ）、軌跡長算出部４４は、プレーヤが操作表示部１０の表示画面上を実際になぞる軌跡を取得する（ステップＳ１２）。
【０１５８】
ここで、受付部４１は、操作表示部１０に表示される図２に示すキャラクタの中心線ＣＨＬに対して右側の領域に指が接触した場合、接触した指を右指と判定し、中心線ＣＨＬに対して左側に領域に指が接触した場合、接触した指を左指として判定する。なお、この判定は、平泳ぎ、バタフライの場合も同じである。
【０１５９】
次に、軌跡長算出部４４は、受付部４１によりプレーヤの指が操作表示部１０の表示画面上から離れたことが検出されると（ステップＳ１３でＹＥＳ）、左単位軌跡長ＬＬ又は右単位軌跡長ＲＬを算出する（ステップＳ１４）。
【０１６０】
ここで、軌跡長算出部４４は、左指が操作表示部１０から離れたと受付部４１により判定された場合、ステップＳ１２で取得した左指の軌跡から左単位軌跡長ＬＬを算出し、右指が操作表示部１０から離れたと受付部４１により判定された場合、ステップＳ１２で取得した右指の軌跡から右単位軌跡長ＲＬを算出する。
【０１６１】
一方、左指又は右指が、操作表示部１０から離れたことが受付部４１により検出されない場合（ステップＳ１３でＹＥＳ）、処理がステップＳ１２に戻され、軌跡長算出部４４は、左指又は右指の軌跡を引き続き取得する。
【０１６２】
ステップＳ１５において、移動距離算出部４５は、左単位軌跡長ＬＬ又は右単位軌跡長ＲＬから単位移動距離ＴＬを算出する（ステップＳ１５）。ここで、移動距離算出部４５は、ステップＳ１４で左単位軌跡長ＬＬが算出された場合、左単位軌跡長ＬＬにクロールの移動係数α１を乗じて、単位移動距離ＴＬ（＝ＬＬ・α１）を算出すればよい。
【０１６３】
一方、移動距離算出部４５は、ステップＳ１４で右単位軌跡長ＲＬが算出された場合、右単位軌跡長ＲＬにクロールの移動係数α１を乗じて単位移動距離ＴＬ（＝ＲＬ・α１）を算出すればよい。
【０１６４】
次に、移動距離算出部４５は、左単位軌跡長ＬＬと右単位軌跡長ＲＬとの差分の絶対値（＝｜ＬＬ−ＲＬ｜）を求め、この差分の絶対値が閾値ＴＨ１以上の場合、プレーヤの左右の指の動きのバランスが悪いと判定し（ステップＳ１６でＹＥＳ）、処理をステップＳ１７に進める。
【０１６５】
次に、移動距離算出部４５は、｜ＬＬ−ＲＬ｜・α２により距離減少値ＤＬを求め、ステップＳ１５で算出した単位移動距離ＴＬから距離減少値ＤＬを減じ、単位移動距離ＴＬを補正する（ステップＳ１７）。
【０１６６】
一方、移動距離算出部４５は、｜ＬＬ−ＲＬ｜が閾値ＴＨ１より小さい場合、プレーヤの左右の指の動きのバランスが良いと判定し（ステップＳ１６でＮＯ）、ステップＳ１７をスルーして処理をステップＳ１８に進める。
【０１６７】
次に、ステップＳ１８において、｜ＬＬ−ＲＬ｜が閾値ＴＨ３以上の場合、表示制御部４３は、左右の指の動作のバランスが悪いことをプレーヤに報知する必要があると判定し（ステップＳ１８でＹＥＳ）、処理をステップＳ１９に進める。
【０１６８】
次に、表示制御部４３は、プレーヤの左右の指の動きのバランスが悪いことを操作表示部１０を用いて報知する（ステップＳ１９）。図９は、プレーヤの左右の指の動きのバランスが悪い場合に操作表示部１０に表示される画像の一例を示した図である。
【０１６９】
図９では、左単位軌跡長ＬＬが右単位軌跡長ＲＬよりも短いため、キャラクタＣＡは基準方向に対して角度θだけ左側に（反時計回りに）傾斜して表示されている。また、中心線ＣＨＬが基準方向と平行になるようにキャラクタＣＡの残像ＺＺが表示されている。ここで、キャラクタＣＡと残像ＺＺとは異なる色で表示してもよいし、残像ＺＺの輝度がキャラクタＣＡの輝度よりも低くなるように表示してもよい。なお、この報知は、プレーヤがその後も継続して行う指の操作により、左単位軌跡長ＬＬと右単位軌跡長ＲＬとが同じになった時点で解消すればよい。
【０１７０】
一方、ステップＳ１８において、｜ＬＬ−ＲＬ｜が所定の閾値ＴＨ３より小さい場合、表示制御部４３は、報知する必要がないと判定し（ステップＳ１８でＮＯ）、ステップＳ１９の処理をスルーして、処理をステップＳ２０に進める。
【０１７１】
次に、移動部４６は、単位移動距離ＴＬを積算し、キャラクタＣＡをゲーム空間内で前進させる（ステップＳ２０）。
【０１７２】
次に、移動部４６は、キャラクタＣＡがゴール地点ＧＰに到達したと判定した場合（ステップＳ２１でＹＥＳ）、処理を終了する。一方、移動部４６は、キャラクタＣＡがゴール地点ＧＰに到達していないと判定した場合（ステップＳ２１でＮＯ）、処理をステップＳ１１に戻す。
【０１７３】
図１０は、図７の平泳ぎ処理の詳細を示すフローチャートである。まず、ステップＳ３１において、軌跡長算出部４４は、プレーヤが操作表示部１０の表示画面上を実際になぞる軌跡を取得する（ステップＳ３１）。
【０１７４】
次に、軌跡長算出部４４は、取得した軌跡から位置Ｐ１，Ｐ１を検出すると（ステップＳ３２でＹＥＳ）、図５に示すように、弧判定点ＰＨ１，ＰＨ２を設定する（ステップＳ３３）。
【０１７５】
ここで、軌跡長算出部４４は、左側の位置Ｐ１を検出したときに、弧判定点ＰＨ１を設定し、右側の位置Ｐ１を検出したときに、弧判定点ＰＨ２を設定すればよい。
【０１７６】
一方、ステップＳ３２において、位置Ｐ１，Ｐ１が検出されなかった場合（ステップＳ３２でＮＯ）、軌跡長算出部４４は、処理をステップＳ３１に戻し、軌跡の取得を継続する。
【０１７７】
ステップＳ３４において、軌跡長算出部４４は、ステップＳ３１と同様にして、軌跡を取得する。
【０１７８】
次に、軌跡長算出部４４は、左指の軌跡の上側の屈曲点である位置Ｐ１を検出することで左軌道を１周なぞる操作が終了したと判定し、右指の軌跡の上側の屈曲点である位置Ｐ１を検出することで、右軌道を１周なぞる操作が終了したか否かを判定し（ステップＳ３５）、左軌道及び右軌道の両軌道を１周なぞる操作が終了したと判定した場合（ステップＳ３５でＹＥＳ）、左単位軌跡長ＬＬ及び右単位軌跡長ＲＬを算出する（ステップＳ３６）。
【０１７９】
具体的には、軌跡長算出部４４は、今回検出した左側の位置Ｐ１と、前回検出した左側の位置Ｐ１とを繋ぐ左指の軌跡の長さを算出することで左単位軌跡長ＬＬを算出すると共に、今回検出した右側の位置Ｐ１と、前回検出した右側の位置Ｐ１とを繋ぐ右指の軌跡の長さを算出することで右単位軌跡長ＲＬを算出する。
【０１８０】
次に、移動距離算出部４５は、左単位軌跡長ＬＬと右単位軌跡長ＲＬとの平均値を代表値ＰＬとして求め、ＴＬ＝ＰＬ・β１により単位移動距離ＴＬを算出する（ステップＳ３７）。
【０１８１】
次に、図８のステップＳ１６と同様にして、｜ＬＬ−ＲＬ｜を閾値ＴＨ１と比較することで、左右の指の動きのバランスが悪いか否かを判定し（ステップＳ３８）、左右の指の動きのバランスが悪いと判定した場合（ステップＳ３８でＹＥＳ）、処理をステップＳ３９に進める。
【０１８２】
次に、移動距離算出部４５は、｜ＬＬ−ＲＬ｜・β２により距離減少値ＤＬを求め、ステップＳ３７で算出した単位移動距離ＴＬから距離減少値ＤＬを減じ、単位移動距離ＴＬ（＝ＴＬ−ＤＬ）を補正する（ステップＳ３９）。
【０１８３】
一方、移動距離算出部４５は、左右の指の動きのバランスが悪くないと判定した場合（ステップＳ３８でＮＯ）、ステップＳ３９をスルーして、処理をステップＳ４０に進める。
【０１８４】
次に、表示制御部４３は、図８に示すステップＳ１８と同様、｜ＬＬ−ＲＬ｜と閾値ＴＨ３とを比較することで、左右の指の動作のバランスが悪いことをプレーヤに報知する必要があるか否かを判定する（ステップＳ４０）。
【０１８５】
そして、表示制御部４３は、左右の指の動作のバランスが悪いことをプレーヤに報知する必要があると判定した場合（ステップＳ４０でＹＥＳ）、操作表示部１０を用いて、左右の指の動作のバランスが悪いことをプレーヤに報知する（ステップＳ４１）。
【０１８６】
一方、表示制御部４３は、左右の指の動作のバランスが悪いことをプレーヤに報知する必要がないと判定した場合（ステップＳ４０でＮＯ）、ステップＳ４１をスルーして、処理をステップＳ４２に進める。
【０１８７】
ステップＳ４２において、移動距離算出部４５は、図５に示すように、プレーヤがなぞった軌跡Ｋ２，Ｋ４が弧判定点ＰＨ１，ＰＨ２の内側を通過した場合、軌跡Ｋ２，Ｋ４の形状が平泳ぎの軌道の形状からずれていると判定し（ステップＳ４２でＹＥＳ）、単位移動距離ＴＬを補正する（ステップＳ４３）。
【０１８８】
一方、ステップＳ４２において、移動距離算出部４５は、軌跡Ｋ２，Ｋ４が弧判定点ＰＨ１，ＰＨ２の外側を通過した場合、軌跡Ｋ２，Ｋ４の形状が平泳ぎの軌道の形状からずれていないと判定し（ステップＳ４２でＮＯ）、ステップＳ４３をスルーして、処理をステップＳ４４に進める。
【０１８９】
ステップＳ４４、Ｓ４５の処理は、図８のステップＳ２０，Ｓ２１と同一であるため、説明を省略する。
【０１９０】
図１１は、図７に示すバタフライ処理の詳細を示すフローチャートである。まず、受付部４１が、操作表示部１０の表示画面上にプレーヤの左右の指が接触したことを検出すると（ステップＳ５１でＹＥＳ）、軌跡長算出部４４は、プレーヤが操作表示部１０の表示画面上を実際になぞる左指の軌跡と右指の軌跡とのそれぞれを取得する（ステップＳ５２）。
【０１９１】
次に、軌跡長算出部４４は、受付部４１によりプレーヤの左右の指が操作表示部１０の表示画面上から離れたことが検出されると（ステップＳ５３でＹＥＳ）、左単位軌跡長ＬＬ又は右単位軌跡長ＲＬを算出する（ステップＳ５４）。
【０１９２】
ここで、軌跡長算出部４４は、左指が操作表示部１０の表示画面上から離れたときに左単位軌跡長ＬＬを算出し、右指が操作表示部１０の表示画面上から離れたとき、右単位軌跡長ＲＬを算出すればよい。
【０１９３】
次に、移動距離算出部４５は、左単位軌跡長ＬＬと右単位軌跡長ＲＬとの代表値ＰＬを求め、代表値ＰＬにバタフライの移動係数γ１を乗じて単位移動距離ＴＬ（＝ＰＬ・γ１）を算出する（ステップＳ５５）。
【０１９４】
ステップＳ５６，Ｓ５７において、移動距離算出部４５は、図１０のステップＳ３８，Ｓ３９の処理と同様にして、左右の指の動きのバランスが悪い場合、単位移動距離ＴＬを補正する。
【０１９５】
ステップＳ５８において、移動距離算出部４５は、左指が左軌道となる線分の先端に戻されて操作表示部１０の表示画面上に接触するタイミングＴＩＭ１と、右指が右軌道となる線分の先端に戻されて操作表示部１０の表示画面上に接触するタイミングＴＩＭ２とを検出し、｜ＴＭ１−ＴＭ２｜が閾値ＴＨ２以上の場合、タイミングＴＩＭ１とタイミングＴＭ１とがずれていると判定し（ステップＳ５８でＹＥＳ）、処理をステップＳ５９に進める。
【０１９６】
次に、移動距離算出部４５は、単位移動距離ＴＬから所定の値を減じ、単位移動距離を補正する（ステップＳ５９）。
【０１９７】
次に、ステップＳ６０，６１において、表示制御部４３は、図１０に示すステップＳ４０，Ｓ４１と同様にして、プレーヤの左右の指の動きのバランスが悪いか否かを判定し、バランスが悪い場合は、クロールの場合と同様にしてそのことを操作表示部１０を用いて報知する。
【０１９８】
次に、ステップＳ６２，Ｓ６３において、移動部４６は、図１０に示すステップＳ４４，Ｓ４５と同様にして、ゴール地点ＧＰに到達するまでキャラクタを移動させる。
【０１９９】
一方、移動距離算出部４５は、｜ＴＩＭ１−ＴＩＭ２｜が閾値ＴＨ２未満の場合、タイミングＴＩＭ１とタイミングＴＩＭ２とがずれていないと判定し（ステップＳ５８でＮＯ）、ステップＳ５９をスルーして処理をステップＳ６０に進める。
【０２００】
このように、本実施の形態によるゲーム装置によれば、プレーヤは、クロール、平泳ぎ又はバタフライの軌道を繰り返しなぞる操作を行うと、その操作に応じて操作表示部１０に表示されるキャラクタの表示態様が変化する。また、プレーヤがクロール、平泳ぎ、又はバタフライの軌道を１周なぞる操作を行う毎に、プレーヤが操作表示部１０を左右の指で実際になぞった軌跡の長さである左単位軌跡長ＬＬと右単位軌跡長ＲＬとが算出される。
【０２０１】
そして、算出された左単位軌跡長ＬＬ、右単位軌跡長ＲＬを基に、ゲーム空間内におけるキャラクタの１ストロークあたりの移動距離である単位移動距離ＴＬが算出される。そして、ゲーム空間内において、キャラクタＣＡが単位移動距離ＴＬだけ移動される。
【０２０２】
つまり、プレーヤは所定の軌道をなぞる回数を多くするほど、単位移動距離ＴＬの算出回数が多くなって、その分キャラクタＣＡの移動速度を速くすることができる。
【０２０３】
一方、プレーヤは、クロール、平泳ぎ、又はバタフライの軌道を１周なぞったときの左単位軌跡長ＬＬ及び右単位軌跡長ＲＬを長くする、つまり、操作表示部１０に指を接触移動させた距離を長くするほど、単位移動距離ＴＬが長くなるため、キャラクタＣＡの移動速度を速くすることができる。
【０２０４】
よって、プレーヤには、指を接触移動させる軌道１周あたりの距離をできるだけ長くすると同時に、軌道をなぞる回数をできるだけ多くすることが要求される。
【０２０５】
これにより、操作表示部１０を指で繰り返しなぞるという操作を行うことでキャラクタを移動させることができ、タッチパネル式の表示部を備える携帯端末のユーザーインターフェイスを活かして、キャラクタを移動させるゲームを実現することができる。
【０２０６】
なお、上記実施の形態では、操作表示部１０に１つのキャラクタＣＡを表示し、このキャラクタＣＡによるスタート地点ＳＰからゴール地点ＧＰまで移動する時間を競う態様を示したが、本発明はこれに限定されない。
【０２０７】
すなわち、操作表示部１０に２つのキャラクタＣＡを表示し、一方のキャラクタＣＡを制御部４０の制御によって自動的に移動させるようにし、他方のキャラクタＣＡをプレーヤによる操作によって移動させるようにし、制御部４０によって移動されるキャラクタＣＡとプレーヤの操作によって移動されるキャラクタＣＡとを競わせるような態様を採用してもよい。
【０２０８】
また、スタート地点ＳＰからゴール地点ＧＰまでの距離をプレーヤが任意に選択できるようにしてもよい。例えば、ゲームを開始する前にプレーヤに５０ｍ、１００ｍ、２００ｍ、５００ｍ、１ｋｍというようにスタート地点ＳＰからゴール地点ＧＰまでの距離を選択させ、プレーヤにより選択された距離をキャラクタＣＡに泳がせるような態様を採用してもよい。
【０２０９】
また、上記実施の形態では、キャラクタＣＡのスタート直後に判定部４２がプレーヤの操作からキャラクタＣＡの泳ぎの種類を判定し、判定した種類の泳ぎ方でキャラクタＣＡを泳がせる態様を採用したが、これに限定されない。
【０２１０】
すなわち、ゲームを開始する前に、プレーヤに泳ぎ方の種類を選択させ、プレーヤが選択した泳ぎ方によって、キャラクタＣＡを泳がせるような態様を採用してもよい。
【０２１１】
また、上記実施の形態では、水泳ゲームを例示したが、本発明はこれに限定されない。例えば、陸上競技ゲーム、スピードスケートゲーム等のスタート地点ＳＰからゴール地点ＧＰまでに要する時間を競うようなゲームであればどのようなゲームであっても適用可能である。
【０２１２】
陸上競技ゲームとしては、例えば１００ｍ走、２００ｍ走等の徒競走やトラック競技が挙げられる。上記の水泳ゲームの場合は、プレーヤの指の動きに連動してキャラクタＣＡの両腕を交互に、あるいは同時に動かす操作を行うが、これら陸上競技ゲームの場合は、キャラクタＣＡの両脚を交互に動かす操作を行うような構成とすればよい。また、１００ｍハードル走、２００ｍハードル走というような障害物競走にも適用可能である。この場合、プレーヤには上述したクロール、平泳ぎ、又はバタフライの操作を課し、キャラクタＣＡが障害物の手前に到達したときにキャラクタＣＡが自動的に障害物を飛び越えるような表示態様を採用すればよい。スピードスケートゲームも態様も上記の陸上競技ゲームと同様のものを採用すればよい。
【符号の説明】
【０２１３】
１０  操作表示部
２０  通信部
２１  アンテナ
３０  音声出力部
４０  制御部
４１  受付部
４２  判定部
４３  表示制御部
４４  軌跡長算出部
４５  移動距離算出部
４６  移動部
４７  計時部
５０  記憶部
５１  画像データ記憶部
５２  ゲーム制御プログラム記憶部
【図１】
2010253016.tif 000003
【図２】
2010253016.tif 000004
【図３】
2010253016.tif 000005
【図４】
2010253016.tif 000006
【図５】
2010253016.tif 000007
【図６】
2010253016.tif 000008
【図７】
2010253016.tif 000009
【図８】
2010253016.tif 000010
【図９】
2010253016.tif 000011
【図１０】
2010253016.tif 000012
【図１１】
2010253016.tif 000013