(57)【要約】  【課題】  ラケット型入力の変位加速度を圧電ブザー素子で検出して、加速度スイッチや圧電ジャイロを用いる場合に比べて、簡単かつ安価な入力装置を提供する。  【解決手段】  ２つのラケット型入力装置３２が用いられ、対戦型ゲームを行う。ラケット型入力装置３２は、圧電ブザー素子６６を含み、ラケット型入力装置３２が変位されたときこの圧電ブザー素子６６に生じる加速度相関電気信号をＭＣＵ５０が処理して加速度データを得て、その加速度データを赤外線ＬＥＤ３４から送信コードとして送信する。ゲームプロセサは、赤外線受光素子よって受信された受信コードから、加速度データを検出し、その加速度データに基づいて、テレビジョンモニタ上での卓球ゲームのボールの移動を制御する。【選択図】  図３
2011161259.tif 000002
【特許請求の範囲】
【請求項１】
載置された表示装置の画面上に少なくともキャラクタを表示してゲームをプレイする体感ゲーム装置であって、
載置されたゲーム機と、
第１ゲームプレイヤによって３次元空間内で移動される第１入力手段と、
第２ゲームプレイヤによって３次元空間内で移動される第２入力手段と、を備え、
前記第１入力手段は、
前記第１入力手段を３次元空間内で移動させたときの加速度に応じて第１加速度相関信号を出力する第１加速度センサと、
前記第１加速度相関信号を前記ゲーム機に送信する第１送信手段と、を含み、
前記第２入力手段は、
前記第２入力手段を３次元空間内で移動させたときの加速度に応じて第２加速度相関信号を出力する第２加速度センサと、
前記第２加速度相関信号を前記ゲーム機に送信する第２送信手段と、を含み、
前記ゲーム機は、
前記第１加速度相関信号及び前記第２加速度相関信号を受信する受信手段と、
前記受信手段が受信した前記第１加速度相関信号及び前記第２加速度相関信号に基づいて、前記画面上に表示されている前記キャラクタに変化を生ぜしめるゲームプロセサと、を含む体感ゲーム装置。
【請求項２】
前記ゲームプロセサは、前記キャラクタの座標および前記第１加速度相関信号に基づいて、前記第１ゲームプレイヤによる打球後の前記キャラクタの速度を算出し、前記第２ゲームプレイヤに対応する相手側方向へ向かって移動させ、前記第１ゲームプレイヤによる打球後の前記キャラクタの座標および前記第２加速度相関信号に基づいて、前記第２ゲームプレイヤによる打球後の前記キャラクタの速度を算出し、前記第１ゲームプレイヤに対応する相手側方向へ向かって移動させる、請求項１記載の体感ゲーム装置。
【請求項３】
前記ゲームプロセサは、前記第２ゲームプレイヤによる打球後の前記キャラクタの座標および前記第１加速度相関信号に基づいて、前記第１ゲームプレイヤによる打球後の前記キャラクタの速度を算出し、前記第２ゲームプレイヤに対応する相手側方向へ向かって移動させる、請求項２記載の体感ゲーム装置。
【請求項４】
前記第１入力手段は、前記第１ゲームプレイヤによって操作可能なスイッチをさらに備え、
前記ゲームプロセサは、前記スイッチの操作に応答して、前記キャラクタを変位し、その際の前記キャラクタの座標および前記第１加速度相関信号に基づいて、前記第１ゲームプレイヤによる打球後の前記キャラクタの速度を算出する、請求項２記載の体感ゲーム装置。
【請求項５】
前記ゲームプロセサは、前記キャラクタの速度および前記第１加速度相関信号に基づいて、前記第１ゲームプレイヤによる打球後の前記キャラクタの速度を算出し、前記第２ゲームプレイヤに対応する相手側方向へ向かって移動させ、前記第１ゲームプレイヤによる打球後の前記キャラクタの速度および前記第２加速度相関信号に基づいて、前記第２ゲームプレイヤによる打球後の前記キャラクタの速度を算出し、前記第１ゲームプレイヤに対応する相手側方向へ向かって移動させる、請求項１記載の体感ゲーム装置。
【請求項６】
前記ゲームプロセサは、前記第２ゲームプレイヤによる打球後の前記キャラクタの速度および前記第１加速度相関信号に基づいて、前記第１ゲームプレイヤによる打球後の前記キャラクタの速度を算出し、前記第２ゲームプレイヤに対応する相手側方向へ向かって移動させる、請求項５記載の体感ゲーム装置。
【請求項７】
前記第１入力手段は、前記第１ゲームプレイヤによって操作可能なスイッチをさらに備え、
前記ゲームプロセサは、前記スイッチの操作に応答して、前記キャラクタを変位し、その際の前記キャラクタの速度および前記第１加速度相関信号に基づいて、前記第１ゲームプレイヤによる打球後の前記キャラクタの速度を算出する、請求項５記載の体感ゲーム装置。
【請求項８】
前記ゲームプロセサは、前記第１ゲームプレイヤが移動させる前記第１入力手段の前記第１加速度センサからの前記第１加速度相関信号に基づいて、前記第１ゲームプレイヤのレシーブ成功と判断した場合、前記第２ゲームプレイヤにレシーバを変更し、前記第２ゲームプレイヤが移動させる前記第２入力手段の前記第２加速度センサからの前記第２加速度相関信号をレシーバのデータとして扱い、前記第２ゲームプレイヤが移動させる前記第２入力手段の前記第２加速度センサからの前記第２加速度相関信号に基づいて、前記第２ゲームプレイヤのレシーブ成功と判断した場合、前記第１ゲームプレイヤにレシーバを変更し、前記第１ゲームプレイヤが移動させる前記第１入力手段の前記第１加速度センサからの前記第１加速度相関信号をレシーバのデータとして扱う、請求項１記載の体感ゲーム装置。
【請求項９】
テレビジョンモニタの画面上に少なくともキャラクタを表示してゲームをプレイする体感ゲーム方法であって、
第１ゲームプレイヤによって３次元空間内で移動される第１入力手段に組み込まれた第１加速度センサが検出した、前記第１入力手段を３次元空間内で移動させたときの加速度に応じた第１加速度相関信号を受信するステップと、
第２ゲームプレイヤによって３次元空間内で移動される第２入力手段に組み込まれた第２加速度センサが検出した、前記第２入力手段を３次元空間内で移動させたときの加速度に応じた第２加速度相関信号を受信するステップと、
前記第１加速度相関信号及び前記第２加速度相関信号に基づいて、前記画面上に表示されている前記キャラクタに変化を生ぜしめるステップと、を含む体感ゲーム方法。
【請求項１０】
テレビジョンモニタの画面上に少なくともキャラクタを表示してゲームをプレイする体感ゲーム装置としてコンピュータを機能させるコンピュータプログラムを記録した記録媒体であって、
前記コンピュータプログラムは、
第１ゲームプレイヤによって３次元空間内で移動される第１入力手段に組み込まれた第１加速度センサが検出した、前記第１入力手段を３次元空間内で移動させたときの加速度に応じた第１加速度相関信号を受信するステップと、
第２ゲームプレイヤによって３次元空間内で移動される第２入力手段に組み込まれた第２加速度センサが検出した、前記第２入力手段を３次元空間内で移動させたときの加速度に応じた第２加速度相関信号を受信するステップと、
前記第１加速度相関信号及び前記第２加速度相関信号に基づいて、前記画面上に表示されている前記キャラクタに変化を生ぜしめるステップと、を前記コンピュータに実行させる、記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はプロセサ用入力装置に関し、特にたとえば、操作者が入力装置を空間内で変位させたときの変位加速度をコンピュータ，データプロセサ，ゲームプロセサ等（まとめて「プロセサ」という。）に入力する、プロセサ用入力装置に関する。
【背景技術】
【０００２】
この種の入力装置が特にゲームの分野で種々提案されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のプロセサ用加速度入力装置の多くは、変位加速度が一定以上または以下に達するとオンまたはオフする加速度スイッチを用いるものであり、したがって、構造が複雑で故障し易いという欠点がある。
【０００４】
このような欠点を解消するために、圧電ジャイロセンサを利用することも考えられるが、この圧電ジャイロは高価である。
【０００５】
それゆえに、この発明の主たる目的は、簡単かつ安価な構成でプロセサに変位加速度を入力できる、プロセサ用入力装置を提供することである。
【課題を解決するための手段】
【０００６】
この発明に従ったプロセサ用入力装置は、操作者が空間内で変位させ、その変位の加速度に相関する信号をプロセサの入力信号として与える入力装置であって、圧電ブザー素子、および入力装置が変位されたとき圧電ブザー素子に生じる加速度相関電気信号に基づいて加速度相関信号をプロセサに与える信号出力手段を備える、プロセサ用入力装置である。
【０００７】
信号出力手段は、加速度相関電気信号に従ったディジタル信号を作成するディジタル信号作成手段、およびディジタル信号をプロセサに伝送するディジタル信号伝送手段を含む。
【０００８】
このディジタル信号伝送手段はディジタル信号をワイアレスでプロセサに伝送するワイアレス信号伝送手段を含む。
実施例では、圧電ブザー素子は、金属板と金属板上に設けられる圧電セラミック板とを含み、圧電セラミック板の主面が第１軸に直交するように圧電ブザー素子が配置される。
【０００９】
２つの圧電ブザー素子を設ける場合、圧電セラミック板の主面が第１軸と直交する第２軸に直交するように第２圧電ブザー素子を配置し、信号出力手段は圧電ブザー素子の加速度相関電気信号および第２圧電ブザー素子の加速度相関電気信号に基づいて第１軸方向の加速度相関信号および第２軸方向の加速度相関信号をプロセサに出力する。
【００１０】
３つの圧電ブザー素子を設ける場合、圧電セラミック板の主面が第１軸および第２軸とそれぞれ直交する第３軸に直交するように第３圧電ブザー素子を配置し、信号出力手段は圧電ブザー素子の加速度相関電気信号，第２圧電ブザー素子の加速度相関電気信号および第３圧電ブザー素子の加速度相関信号に基づいて第１軸方向の加速度相関信号，第２軸方向の加速度相関信号および第３軸方向の加速度相関信号をプロセサに出力する。
【００１１】
なお、プロセサは、このようなプロセサ用入力装置からの加速度相関信号を受け、画像表示手段、および加速度相関信号に従って画像表示手段によって表示された画像に変化を生ぜしめる画像変化手段を備える。
【作用】
【００１２】
操作者によって入力装置が３次元空間中で移動される。たとえばバット型入力装置やラケット型入力装置であれば、操作者は、それを持って振る。応じて、入力装置が変位し、その変位に従って、圧電ブザー素子の電極間に加速度相関電気信号が発生する。
【００１３】
入力装置に設けられたＭＣＵ（マイクロコントローラユニット）のような処理装置は、その出力ポートから矩形波信号を出力して圧電ブザー素子の一方電極に印加し、圧電ブザー素子の他方電極から入力ポートに信号を受ける。ＭＣＵは、入力ポートに入力された圧電ブザー素子からの信号に含まれる加速度相関電気信号を加速度データに変換する。
【００１４】
信号出力手段は、このＭＣＵとたとえば赤外線ＬＥＤを含み、ＭＣＵが上記加速度データに応じて赤外線ＬＥＤを駆動する。したがって、赤外線ＬＥＤから加速度データの赤外線信号が出力される。
【００１５】
プロセサは、たとえば、この赤外線信号を受ける赤外線受光部からの受光信号を復調して加速度データを得る。そして、たとえばその加速度データに応じて表示画像に変化を生ぜしめる。
【発明の効果】
【００１６】
この発明によれば、圧電ブザー素子を用いるので、可動部分がなく、構造が簡単で故障の心配がない。また、圧電ブザー素子は既に大量生産されているものであり、非常に安価である。そのため、加速度スイッチや圧電ジャイロを用いる入力装置に比べて、非常に有利である。
【００１７】
この発明のその他の目的、特徴および利点は、添付図面に関連して行われる以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００１８】
【図１】この発明の一実施例の体感卓球ゲーム装置の全体構成を示す図解図である。
【図２】図１実施例におけるテレビジョンモニタに表示されるゲーム画面の一例を示す図解図である。
【図３】図１実施例を示すブロック図である。
【図４】図１実施例におけるラケット型入力装置の内部構造を示す図解図である。
【図５】ラケット型入力装置の回路図である。
【図６】ラケット型入力装置の動作を示す各部波形図である。
【図７】図１実施例の全体動作を示すフロー図である。
【図８】図１実施例の状態ないしステートの遷移を示す図解図である。
【図９】図３実施例におけるＭＣＵの全体動作を示すフロー図である。
【図１０】図９に示す加速度検出処理の具体的動作を示すフロー図である。
【図１１】図９実施例におけるコード送信処理の具体的動作を示すフロー図である。
【図１２】図７実施例にけるゲームプロセサによるコード受信処理の具体的動作を示すフロー図である。
【図１３】図７実施例におけるゲームプロセサによるトス前処理の具体的動作を示すフロー図である。
【図１４】図７実施例におけるゲームプロセサによるトス中処理の具体的動作を示すフロー図である。
【図１５】図７実施例におけるゲームプロセサによるラリー処理の具体的動作を示すフロー図である。
【図１６】図７実施例におけるゲームプロセサによるボール座標演算処理の具体的動作を示すフロー図である。
【図１７】図７実施例におけるゲームプロセサによるポイント処理の具体的動作を示すフロー図である。
【図１８】２つの圧電ブザー素子を用いる場合の配置の一例を示す図解図である。
【図１９】２つの圧電ブザー素子を用いたラケット型入力装置の要部を示す回路図である。
【図２０】２つの圧電ブザー素子を用いる場合の図９に示す加速度検出処理の具体的動作を示すフロー図である。
【図２１】図２０に後続する加速度検出処理の具体的動作を示すフロー図である。
【図２２】図２１に後続する加速度検出処理の具体的動作を示すフロー図である。
【図２３】２つの圧電ブザー素子を用いる場合の図７実施例におけるゲームプロセサによるトス中処理の具体的動作を示すフロー図である。
【図２４】２つの圧電ブザー素子を用いる場合のボールのラケット面に垂直な方向の速度およびラケット面に水平な方向の速度ならびに回転角速度を示す図解図である。
【図２５】２つの圧電ブザー素子を用いる場合の図７実施例におけるゲームプロセサによるラリー処理の具体的動作を示すフロー図である。
【図２６】２つの圧電ブザー素子を用いる場合の図７実施例におけるゲームプロセサによるボール座標演算処理の具体的動作を示すフロー図である。
【図２７】３つの圧電ブザー素子を用いる場合の配置の一例を示す図解である。
【発明を実施するための形態】
【００１９】
図１を参照して、この発明に係る圧電ブザー素子を用いる入力装置の一利用例である体感卓球ゲーム装置１０は、ゲーム機１２を含み、このゲーム機１２には、ＡＣアダプタ１４によって直流電源が与えられる。ただし、それは電池１６に代えられてもよい。ゲーム機１２は、さらに、ＡＶケーブル２２を通して、テレビジョンモニタ２０のＡＶ端子１８に接続される。
【００２０】
ゲーム機１２は、また、ハウジングを含み、このハウジング上に電源スイッチ２４が設けられるとともに、操作キー２６および２８が設けられる。選択キー２６は、たとえばテレビジョンモニタ２０の表示画面上においてメニューやゲームモード選択のためにカーソルを移動させたりするために用いられる。決定キー２８はゲーム機１２への入力を決定するために用いられる。ただし、図示しないキャンセルキーが、ゲーム機１２への入力をキャンセルするために、設けられてもよい。
【００２１】
ゲーム機１２にはさらに、赤外線受光部３０が設けられていて、この赤外線受光部３０は、後述のラケット型入力装置３２の赤外線ＬＥＤ３４からの赤外線信号を受ける。
【００２２】
この実施例では、２つのラケット型入力装置３２が用いられる。それぞれのラケット型入力装置３２には赤外線ＬＥＤ３４が設けられるとともに、サーブスイッチ３６が設けられる。サーブスイッチ３６は、卓球ゲームにおいてサーブを打つときに操作されるものである。また、上述のように、赤外線ＬＥＤ３４からの赤外線信号がゲーム機１２の赤外線受光部３０によって受光される。後に説明するように、ラケット型入力装置３２には、加速度センサとして利用される圧電ブザー素子が設けられていて、ゲーム機１２はその圧電ブザー素子からの加速度相関信号を受信して、図２に示すゲーム画面上のボール３８に変化を与える。
【００２３】
図２を参照して、体感卓球ゲーム装置１０におけるテレビジョンモニタ２０で表示されるゲーム画面は、対戦型ゲームのとき、上下２つの画面に仕切られ、上側に一方のゲームプレイヤからみた画像が、下側に他方のゲームプレイヤからみた画像が、それぞれ表示される。上下いずれにも、ボール３８および選手キャラクタ４０がスプライト画像として、そしてネットキャラクタ４２およびテーブルキャラクタ４４が、テキストスクリーンとして表示される。また、上下いずれの側にも、該当するゲームプレイヤのスコアを表示するスコア表示部４６が形成される。
【００２４】
この体感卓球ゲーム装置１０では、ゲーム画面上に表示されたボール３８の移動タイミングに合わせてラケット型入力装置３２をゲームプレイヤが実際に振ったとき、ゲームプロセサが、圧電ブザー素子からの加速度相関信号を、赤外線ＬＥＤ３４から赤外線受光部３０へ伝達される赤外線信号によって検出し、たとえばラケット型入力装置３２が所定の移動速度に達したタイミングとボール３８の画面上での位置とに従って、あたかもボール３８がラケットにはじき返されたように、ボール３８をテーブル４４の相手側方向に向かって移動させる。ボール３８が移動した位置に応じて、アウトかインか等を識別する。ただし、ラケット型入力装置３２を振ったタイミングとボール３８の画面上での位置とにずれがある場合には、たとえば空振りとして認識する。
【００２５】
図３を参照して、ラケット型入力装置３２は、上述のように、赤外線ＬＥＤ３４およびサーブスイッチ３６を含み、さらに加速度センサ回路４８を内蔵している。加速度センサ回路４８は、後述の図５に示すように圧電ブザー素子６６とその関連回路を含み、この加速度センサ回路４８からの加速度相関信号がＭＣＵ５０に与えられる。ＭＣＵ５０は、たとえば８ビットの１チップマイコンであり、圧電ブザー素子からの加速度相関信号をディジタル信号に変換して赤外線ＬＥＤ３４に与える。
【００２６】
２つのラケット型入力装置３２のそれぞれの赤外線ＬＥＤ３４からのディジタル変調された赤外線信号は、ゲーム機１２の赤外線受光部３０によって受光されかつディジタル復調されてゲームプロセサ５２に入力される。このディジタル信号の１ビットがスイッチ３６のオンまたはオフに応じて「１」または「０」として伝送され、したがって、ゲームプロセサ５２は、そのビットをチェックすることによって、どちらのゲームプレイヤからサーブが打ち込まれたか判別することができる。
【００２７】
ゲームプロセサ５２としては、任意の種類のプロセサを利用できるが、この実施例では、本件出願人が開発しかつ既に特許出願している高速プロセサを用いる。この高速プロセサは、たとえば特開平１０−３０７７９０号公報［Ｇ０６Ｆ１３／３６，１５／７８］およびこれに対応するアメリカ特許第６，０７０，２０５号に詳細に開示されている。
【００２８】
ゲームプロセサ５２は、図示しないが、演算プロセサ，グラフィックプロセサ，サウンドプロセサおよびＤＭＡプロセサ等の各種プロセサを含むとともに、アナログ信号を取り込むときに用いられるＡ／Ｄコンバータやキー操作信号や赤外線信号のような入力信号を受けかつ出力信号を外部機器に与える入出力制御回路を含む。したがって、赤外線受光部３０からの復調信号および操作キー２６−２８からの入力信号がこの入出力制御回路を経て、演算プロセサに与えられる。演算プロセサは、その入力信号に応じて必要な演算を実行し、その結果をグラフィックプロセサ等に与える。したがって、グラフィックプロセサやサウンドプロセサはその演算結果に応じた画像処理や音声処理を実行する。
【００２９】
プロセサ５２には、内部メモリ５４が設けられ、この内部メモリ５４は、ＲＯＭまたはＲＡＭ（ＳＲＡＭおよび／またはＤＲＡＭ）を含む。ＲＡＭは一時メモリ，ワーキングメモリあるいはカウンタまたはレジスタ領域（テンポラリデータ領域）およびフラグ領域として利用される。なお、プロセサ５２には外部メモリ５６（ＲＯＭおよび／またはＲＡＭ）が外部バスを通して接続される。この外部メモリ５６にゲームプログラムが予め設定される。
【００３０】
プロセサ５２は、赤外線受光部３０や操作キー２６−２８からの入力信号に従って上記各プロセサで演算、グラフィック処理、サウンド処理等を実行し、ビデオ信号およびオーディオ信号を出力する。ビデオ信号は前述の図２に示すテキストスクリーンとスプライト画像とを合成したものであり、これらビデオ信号およびオーディオ信号は、ＡＶケーブル２２およびＡＶ端子１８を通して、テレビジョンモニタ２０に与えられる。したがって、テレビジョンモニタ２０の画面上に、たとえば図２に示すようなゲーム画像が、必要なサウンド（効果音、ゲーム音楽）とともに、表示される。
【００３１】
この体感卓球ゲーム装置１０では、簡単にいうと、ゲーム機１２すなわちゲームプロセサ５２は、２つのラケット型入力装置３２からの赤外線信号に含まれる加速度データを受け、ラケット型入力装置３２の移動加速度がピークに達したとき、ボール３８（図２）の移動パラメータを決定し、そのパラメータに従って、ゲーム画面上で、ボール３８を移動させる。
【００３２】
ラケット型入力装置３２は、図４に示すように、グリップ部分５８とそのグリップの先端から延びる打球部分ないしラケット面部分６０とを含み、これらグリップ部分５８およびラケット面部分６０は、たとえば２つ割りのプラスチックハウジングによって一体的に形成される。
【００３３】
ラケット型入力装置３２のプラスチックハウジングのラケット面部分６０の内部には、２つ割りハウジングを互いに接合するためのボス６２およびボス６４が形成され、ボス６２にはさらに加速度センサ回路４８（図３）を構成する圧電ブザー素子６６が固着される。圧電ブザー素子６６は、よく知られているように、金属板６８上に貼付されたセラミック板７０を含み、金属板６８とセラミック板７０上の電極との間に電圧を印加するとブザー音を発生するというものである。この発明では、このような構成の圧電ブザー素子６６を加速度センサとして利用するものである。つまり、セラミック板７０は、圧電セラミックであり、その圧電セラミックに応力が作用したとき、圧電セラミックから電気信号が発生することがよく知られている。そこで、この発明では、金属板６８と上記電極との間で、圧電ブザー素子６６すなわちラケット型入力装置３２の移動に応じてセラミック板７０で発生する電気信号を取り出す。ただし、この実施例では、後述のように、電気信号に従って所定のディジタル信号処理をすることによって、ＭＣＵ５０に、加速度相関ディジタル信号またはデータを取り込むようにしている。
【００３４】
さらに、下側のハウジング内にはさらにボス７２が形成され、そのボス７２にプリント基板７４が取り付けられる。プリント基板７４上には、サーブスイッチ３６が装着されるとともに、図３に示すＭＣＵ５０が装着される。下側ハウジングにはさらにボス７６が形成され、このボス７６にはＬＥＤ基板７８が固着され、このＬＥＤ基板７８に赤外線ＬＥＤ３４が取り付けられる。
【００３５】
図５を参照して、先に説明した圧電ブザー素子６６は、加速度センサ回路４８に含まれる。また、ＭＣＵ５０には、外付けの発振回路８０が設けられ、ＭＣＵ５０は、この発振回路８０からのクロック信号に応答して動作する。
【００３６】
そして、ＭＣＵ５０は、矩形波信号を出力ポート０から出力し、たとえば１０ｋΩの抵抗８２を通して、圧電ブザー素子６６の一方電極６６ａに印加する。圧電ブザー素子６６の電極６６ａは、たとえば０．１μＦのようなコンデンサ８４を介して接地される。電極６６ａにはまたダイオード回路８６が接続されていて、それによって電圧の変動幅が一定以内になるようにされている。
【００３７】
圧電ブザー素子６６の他方の電極６６ｂは、ＭＣＵ５０の入力ポート０に接続されるとともに、ダイオード回路８８に接続され、それによって電圧の変動幅が一定以内になるようにされている。なお、圧電ブザー素子６６の２つの電極６６ａおよび６６ｂは、たとえば１ＭΩのような比較的高抵抗９０で電気的に分離されている。
【００３８】
図６（Ａ）に示す矩形波信号が圧電ブザー素子６６の電極６６ａに印加されると、ＭＣＵ５０の入力ポート０には、コンデンサ８４の充放電に伴って、図６（Ｂ）のような三角波信号が入力される。ただし、矩形波信号の大きさ（波高値）および三角波信号の大きさ（波高値）は、ダイオード回路８６および８８によってそれぞれ決まる。
【００３９】
ラケット型入力装置３２（図４）が静止しているとき、すなわち、変位されていないとき、図６（Ｂ）の左端に示すように、三角波信号のマイナス（負）側レベルは変化しない。しかしながら、ラケット型入力装置３２が操作者によって三次元空間内で変位されると、その変位に伴なう圧電効果によって、圧電ブザー素子６６に電圧が生じる。この加速度相関電圧は、三角波信号のマイナス側レベルをバイアスする。したがって、ラケット型入力装置３２が変位されると、その変位加速度の大きさに応じたレベルの加速度相関電圧が圧電ブザー素子６６に生じ、したがって、ＭＣＵ５０の入力ポート０に入力される三角波信号のマイナス側レベルが図６（Ｂ）に示すように、加速度相関電圧９２のレベルに応じて変動する。
【００４０】
ＭＣＵ５０は、後述のように、このような三角波信号のマイナス側レベル変動を加速度データに変換し、その加速度データに応じてＬＥＤ３４を駆動する。
【００４１】
ここで、図７および図８を参照して、図１実施例の体感卓球ゲーム装置１０の概略動作を説明する。図１に示す電源スイッチ２４をオンしてゲームスタートとなるが、図２に示すゲームプロセサ５２は、まず、ステップＳ１で初期化処理を実行する。具体的には、システムおよび各変数を初期化する。
【００４２】
その後、ゲームプロセサ５２は、ステップＳ２で画像信号を更新してモニタ２０に表示される画像を更新する。ただし、この表示画像更新は、１フレーム（テレビジョンフレームまたはビデオフレーム）毎に実行される。
【００４３】
そして、ゲームプロセサ５２は、ステート（状態）に応じた処理を実行する。ただし、最初に処理するのは、ゲームモードの選択である。このゲームモード選択では、操作者ないしゲームプレイヤは、図７のステップＳ３で、図１に示す選択キー２６を操作して、１人プレイモードまたは２人プレイモードあるいはシングルスモードまたはダブルスモードを選択するとともに、ゲームの難易度等を設定する。
【００４４】
実際の卓球ゲームは、サービスからラリーへ移行するが、サービスのためには、ボール３８（図２）ゲーム画面内でをトスする必要がある。そこで、ゲームプロセサ５０は、ステップＳ４でトス前の処理を実行し、ついでステップＳ５で、トス処理を実行する。つまり、トス前処理でサーブスイッチ３６が押されれば、トス処理に移行し、トス処理においてラケット型入力装置３２のスイングが行われなかった場合には、トス前処理に戻る。そして、トス処理中にラケット型入力装置３２のスイングが行われた場合には、その後、ステップＳ６でのラリー処理に移行する。そして、ラリー処理においてポイントが確定すると、次のステップＳ７でのポイント処理に移る。また、ポイント処理において、そのポイントがゲーム終了条件を満たしたか満たさなかったかによって、ゲームモード選択（Ｓ３）あるいはトス前処理（Ｓ４）に戻ることになる。
【００４５】
なお、図７に示すように、ステップＳ５でのトス処理の後、およびステップＳ６でのラリー処理の後、ステップＳ８で、ラケット型入力装置３２からの加速度データに従ってボール３８（図２）をゲーム画面内で変位させるために、ボール３８の座標演算処理を実行する。
【００４６】
その後、ビデオ同期信号による割り込みがあれば、ステップＳ２（図７）の画像更新を実行する。また、ステップＳ９の音声処理は、音声割り込みが発生したとき実行され、それによってゲーム音楽や打球音のような効果音を出力する。その音声処理以外の割り込みが発生したとき、図７のステップＳ１０で、ゲームプロセサ５２は、赤外線受光部３０から入力される赤外線信号（コード）を受信する。
【００４７】
図９を参照して、この図９はＭＣＵ５０の全体動作を示し、この最初のステップＳ１１では、ＭＣＵ５０は、後に説明する検出オフセット値，オフセットカウンタ等のＭＣＵ５０が取り扱う変数を初期化するとともに、入力ポートおよび出力ポート（図５）を初期化する。
【００４８】
その後、ステップＳ１２の加速度検出処理（後に詳述）を経て、ステップＳ１３で、ＭＣＵ５０は、ラケット型入力装置３２が第１プレイヤのものかどうか判断する。ＭＣＵ５０の特定の入力ポートが「１」に設定されていれば第１プレイヤであり、「０」なら第２プレイヤであるので、このステップＳ１３ではＭＣＵ５０のその特定の入力ポートをみればよい。そして、ステップＳ１３で“ＹＥＳ”の場合、すなわち、第１プレイヤの場合ステップＳ１４で、“ＮＯ”の場合、すなわち、第２プレイヤの場合ステップＳ１５で、それぞれ、送信ステートであるかどうか判断する。
【００４９】
ＭＣＵ５０は、図示しないが、ステートカウンタをソフトウェアカウンタとして有していて、このステートカウンタが一定値になる毎に、送信ステートとなる。したがって、ステップＳ１４およびＳ１５では、このステートカウンタが一定値になったかどうかを検出することになる。ステップＳ１４またはＳ１５で“ＮＯ”の場合には、ステップＳ１６で送信コードを「０」とし、またはステップＳ１４またはＳ１５で“ＹＥＳ”の場合にはそのまま、ステップＳ１７のコード送信処理（後に詳述）に進む。ステップＳ１７でコード送信処理を実行した後に、ステップＳ１８でステートカウンタ（図示せず）をインクリメント（＋１）してステップＳ１２に戻る。なお、後述のように、コード送信処理は、ビットシリアルに行われるが、その必要時間は、数マイクロ秒程度と極めて短時間である。
【００５０】
図１０が図９のステップＳ１２を詳細に示すフロー図であり、この加速度検出処理の最初のステップＳ２１では、ＭＣＵ５０は、レジスタ（図示せず）に設定されている検出オフセット値をオフカウンタ（図示せず）にコピーする。「検出オフセット値」は、図６（Ａ）に示す矩形波判断のハイレベルおよびローレベルを、圧電ブザー素子６６に電圧が発生していないときに、時間的に等分に入力するための値であり、動作スタート時にはこの検出オフセット値は任意のデフォルト値に設定されている。
【００５１】
ステップＳ２１に続くステップＳ２２では、ＭＣＵ５０は、その出力ポート０に「１」を設定する。つまり、「１」すなわちハイレベルを出力する。ついでステップＳ２３で、ＭＣＵ５０は、入力ポート０からデータを読込む。
【００５２】
ステップＳ２４では、ステップＳ２３で読込んだ入力ポート０のデータが「１」かどうか判断する。もし、“ＹＥＳ”なら、次のステップＳ２５で、ＭＣＵ５０は、積算カウンタ（図示せず）をインクリメント（＋１）する。「積算カウンタ」とは、ハイレベルを読み取った期間を算出するためのカウンタであり、当該入力ポートが「１」またはハイレベルのときにインクリメントされ、「０」のときにはなにもされない。
【００５３】
ステップＳ２５で積算カウンタをインクリメントした場合、またはステップＳ２４で“ＮＯ”を判断した場合には、続くステップＳ２６で、ＭＣＵ５０は、オフセットカウンタをインクリメントし、次のステップＳ２７でそのオフセットカウンタのカウント値が規定値に達したかどうか判断す。つまり、ステップＳ２２で出力ポート０に「１」をセットした後、このステップＳ２７で“ＮＯ”が判断される限り、ＭＣＵ５０は、出力ポート０の「１」を継続して出力する。
【００５４】
そして、このオフセットカウンタのカウント値が規定値に達したとステップＳ２７で判断した場合には、次のステップＳ２８で、ＭＣＵ５０は、その出力ポート０に「０」すなわちローレベルをセットする。次のステップＳ２９では、ＭＣＵ５０は、レジスタに設定されている検出オフセット値をオフカウンタにコピーする。
【００５５】
続くステップＳ３０では、ＭＣＵ５０は、入力ポート０からデータを読込む。ステップＳ３１では、ステップＳ３０で読込んだ入力ポート０のデータが「１」かどうか判断する。もし、“ＹＥＳ”なら、次のステップＳ３２で、ＭＣＵ５０は、積算カウンタをインクリメント（＋１）する。
【００５６】
ステップＳ３２で積算カウンタをインクリメントした場合、またはステップＳ３１で“ＮＯ”を判断した場合には、続くステップＳ３３で、ＭＣＵ５０は、オフセットカウンタをディクリメント（−１）し、次のステップＳ３４でそのオフセットカウンタのカウント値がゼロに達したかどうか判断す。つまり、ステップＳ２８で出力ポート０に「０」をセットした後、このステップＳ３４で“ＮＯ”が判断される限り、ＭＣＵ５０は、出力ポート０の「０」を継続して出力する。
【００５７】
そして、ステップＳ３４で“ＹＥＳ”が判断されたとき、すなわち、オフセットカウンタがゼロ（０）になったとき、続くステップＳ３５において、ＭＣＵ５０は、積算カウンタのカウント値から中間値を引いて、差分を求める。ここで、「中間値」とは、ステップＳ２７からステップＳ２３に戻るハイレベル検出のための繰り返し数およびステップＳ３４からステップＳ３０に戻るローレベル検出のための繰り返し数の合計回数を「Ｎ」とした場合の「Ｎ／２」である。このステップＳ３５で中間値を使って差分値を求めるのは、理想的な圧電ブザー素子でかつどんな加速度相関電圧も圧電ブザー素子に発生していない状態でのハイレベルとローレベルとの期間の比（デューティ５０％）を加速度決定の基準とするためである。
【００５８】
詳しく述べると、積算カウンタは、上述のように、「１」またはハイレベルを入力ポート０に読込んだ回数であり、理想的な圧電ブザー素子でありかつ電圧が発生していない場合、ステップＳ３５での「積算カウンタ−中間値」の差分はゼロになるはずである。しかるに、圧電ブザー素子６６に何らかの電圧が発生している場合には、その差分として有意な数値が得られる。そこで、ステップＳ３６で、この差分値に従ってラケット型入力装置３２の変位加速度を決定する。基本的には、差分値データに所定の係数を掛けたものが加速度データとなる。
【００５９】
その後、ステップＳ３７で、ステップＳ３５で求めた差分値に基づいて、検出オフセット値を補正する。つまり、初期状態ではゲームプレイヤないし操作者はラケット型入力装置３２をスイングしていないので、圧電ブザー素子６６には加速度相関電圧は発生していない。それにも拘わらずステップＳ３５でゼロではない差分値が検出されたということは、ステップＳ２１で設定していた検出オフセット値が、そのラケット型入力装置に用いた圧電ブザー素子の特性からみて、正しくなかったことを意味している。つまり、圧電ブザー素子が理想的な圧電ブザー素子ではないことを意味している。そこで、このような場合、圧電ブザー素子の個々の特性の理想的な圧電ブザー素子の特性からのずれを補正するために、ステップＳ３７で差分値に従って検出オフセット値を補正するようにしている。
【００６０】
他方、ステップＳ３７で必ず検出オフセット値を変更または補正するようにすれば、圧電ブザー素子が実際に加速度相関電圧を発生した結果の差分値であっても検出オフセット値を補正することになる。しかしながら、圧電ブザー素子の電圧発生期間は他の期間に比べて非常に短い。そのために、ステップＳ３７を差分値検出の都度実行しても特に問題はない。すなわち、、実際の卓球ゲームの開始時には適正な補正が行われているので、その後、ステップＳ３７を加速度検出の都度実行しても検出オフセット値に大きな変動を生じることがなく、したがって、実際の卓球ゲームに何の支障もない。
【００６１】
次のステップＳ３８では、ＭＣＵ５０は、入力ポート１からキースイッチすなわちサーブスイッチ３６からの値「１」か「０」を読み込み、続くステップＳ３９では、ＭＣＵ５０は、そのキースイッチ３６からの値と先のステップＳ３６で決定したラケット型入力装置３２の変位加速度または移動加速度に基づいて、さらにパリティビットを付加して、送信コードを算出し、メインルーチンのステップＳ１３（図９）にリターンする。
【００６２】
ここで、図１１を参照して、ステップＳ１７（図９）でのラケット型入力装置３２からゲームプロセサ５２へのコード送信について説明する。最初のステップＳ４１では、ＭＣＵ５０は、ステップＳ１２またはＳ１６で作成した送信コードをテンポラリデータレジスタ（図示せず）にコピーする。そして、その最上位ビットが「１」かどうか判断する。最上位ビットが「１」であれば、ステップＳ４２で“ＹＥＳ”が判断され、続くステップＳ４３では、ＭＣＵ５０は、出力ポート１に「１」をセットしてＬＥＤ３４（図５）をオンする。その後、ステップＳ４４で一定の待機時間の経過を待つ。ただし、ステップＳ４２で“ＮＯ”なら、つまり最上位ビットが「０」であればそのまま、ステップＳ４４に進む。
【００６３】
ステップＳ４４で規定待機時間経過した後、ステップＳ４５で、ＭＣＵ５０は、出力ポート１に「０」をセットし、ＬＥＤ３４をオフする。その後、ステップＳ４６で一定の待機時間の経過を待つ。
【００６４】
ステップＳ４６で規定待機時間経過した後、ステップＳ４７で、ＭＣＵ５０は、１ビット左シフトし、送信済みビットを最下位ビットとする。つまり、ビットシリアル送信のために、送信ビットを入れ替える。そして、ステップＳ４８で、全ビットの送信が完了したかどうか判断する。“ＮＯ”ならステップＳ４２に戻りろ、“ＹＥＳ”なら終了して、図９に示すステップＳ１８に進む。
【００６５】
ここで、図１２を参照して、図７のステップＳ１０で示すゲームプロセサ５２によるコード受信処理について説明する。このコード受信処理は、タイマ割り込みによって処理するため、最初のステップＳ５１では、ゲームプロセサ５２は、タイマ割り込みがあるかどうか判断する。“ＮＯ”ならステップＳ５２でタイマ割り込みを設定して、“ＹＥＳ”ならそのまま、ステップＳ５３に進む。
【００６６】
ステップＳ５３では、ゲームプロセサ５２は、メモリ５４（図３）内にコード受信用のテンポラリデータ領域を確保する。そして、次のステップＳ５４で、赤外線受光部３０からの出力信号が入力される入力ポートのデータを読込む。次のステップＳ５５では、ゲームプロセサ５２は、テンポラリデータを右シフトし、ステップＳ５４で読込んだデータをそのテンポラリデータの最下位ビットとする。
【００６７】
その後、ステップＳ５６で全ビットの受信を完了したかどうか判断し、“ＮＯ”ならステップＳ５７で次のタイマ割り込みを待機する。“ＹＥＳ”なら、ステップＳ５８でタイマ割り込みを解除して、ステップＳ５９で、テンポラリデータを受信コードとしてコピーする。ゲームプロセサ５２は、この受信コードを用いて図７のゲーム処理を実行する。
【００６８】
先の図７に示すように、ステップＳ３でゲームモードを選択した後、ゲームプロセサ５２は、次のステップＳ６で、「トス前」処理を実行する。このトス前処理は、具体的には、図１３に示すフロー図に従って実行される。
【００６９】
トス前処理の最初のステップＳ６１では、ゲームプロセサ５２は、サーバ側プレイヤの受信コードから、キースイッチすなわちサーブスイッチ３６（図１）の状態を検出する。そして、そのステップＳ３６がオンされているかどうか、つまりキースイッチコードが「１」かどうかステップＳ６２で判断する。
【００７０】
スイッチ３６が押されているといことは、そのラケット型入力装置を使っているプレイヤがサーブをしなければならないことを意味し、したがって、ゲームプロセサ５２は、次のステップＳ６３で、「トス中」処理で実行されるボール３８（図２）の投げ上げ（トス）のために、ボールの各軸速度Ｖｘ，Ｖｙ，Ｘｚを決定する。その後、ステップＳ６４でステートを「トス中」に移行させる。
【００７１】
「トス中」処理は、具体的には、図１４で示すフロー図に従って実行される。すなわち、最初のステップＳ７１では、ゲームプロセサ５２は、トスされたボールの各軸座標Ｐｘ，Ｐｙ，Ｐｚをチェックし、その座標に基づいて、ステップＳ７２において、ボールの位置がサービス（サーブ）可能な範囲を超えたかどうか判断する。たとえば、Ｚ軸位置すなわちボール高さが一定値以下になればサーブできないので、ボールがそのような予め設定しているサーブ可能範囲を超えたかどうか判断する。
【００７２】
ステップＳ７２で“ＹＥＳ”が判断されると、つまりボールがサーブ可能範囲外にあれば、次のステップＳ７３で、ゲームプロセサ５２は、トスしたボールの各軸座標をトス前の状態に戻して、続くステップＳ７４で、ステートを再び「トス前」に移行させる。
【００７３】
ステップＳ７２で“ＮＯ”が判断されると、つまりボールがサーブ可能範囲内にあれば、次のステップＳ７５で、ゲームプロセサ５２は、サーバ側プレイヤのラケット型入力装置から送られてくるコードから、当該入力装置のラケット面６０（図４）に垂直な方向の変位加速度を検出する。そして、ステップＳ７６で、ステップＳ７５で検出した現在の加速度が図示しないレジスタに保留されている保留値より小さくなったかどうか判断する。ラケット型入力装置３２のスイングの初期においては、この保留値はごく小さく、したがってステップＳ７６では“ＮＯ”が判断される。この場合、ステップＳ７７で、現在加速度を保留値に置き換え、加速度保留値を更新する。
【００７４】
逆にステップＳ７６で“ＹＥＳ”が判断されるということは、その時点でラケット型入力装置の加速度がピークに達したことを意味し、ステップＳ７８において、ゲームプロセサ５２は、その時点でサーブが行われたとみなし、ラケット型入力装置の加速度保留値に基づいて、サービス時のラケット（ラケット型入力装置）の速度を決定する。
【００７５】
そして、ステップＳ７９において、ゲームプロセサ５２は、そのときのボールの各軸座標と、ステップＳ７８で求めたラケット速度とによって、サーブ後のボールの各軸初速度Ｖｘ，Ｖｙ，Ｖｚを計算し、ステップＳ８０でステートを「ラリー中」に移行させる。
【００７６】
「ラリー中」処理は、具体的には、図１５で示すフロー図に従って実行される。すなわち、最初のステップＳ８１では、ゲームプロセサ５２は、サーブで打ち込まれたボールの各軸座標Ｐｘ，Ｐｙ，Ｐｚをチェックし、その座標に基づいて、ステップＳ８２において、ボールの位置がレシーブ可能な範囲に達したかどうか判断する。このステップＳ８２では、ボールが予め設定しているレシーブ可能範囲に入ってきたかどうか判断する。このステップＳ８２で“ＮＯ”なら、終了する。
【００７７】
ステップＳ８２で“ＹＥＳ”が判断されると、つまりボールがレシーブ可能範囲内に入ってきたのであれば、次のステップＳ８３で、ゲームプロセサ５２は、ボールがレシーブ可能範囲をオーバーしたかどうか判断する。上述のようにレシーブ可能範囲として予め一定の各軸Ｘ，Ｙ，Ｚの範囲を設定していて、この範囲内でレシーバ側のプレイヤがボールを打ち返せるものとしている。したがって、ステップＳ８２およびＳ８３では、ゲームプロセサ５２は、ボールがそのようなレシーブ可能範囲内にあるかどうか判断していることになる。
【００７８】
ステップＳ８３で“ＹＥＳ”を判断したとき、すなわち、ボールがレシーブ可能範囲に一旦は入ったものの何の処理もされないまま再びレシーブ可能範囲外へ出ていった場合には、ステップＳ８４で「レシーブミス」を確定し、次のステップＳ８５でステートを「ポイント処理」に移行させる。
【００７９】
ステップＳ８３で“ＮＯ”が判断されると、つまりボールがレシーブ可能範囲内にあれば、次のステップＳ８６で、ゲームプロセサ５２は、レシーバ側プレイヤのラケット型入力装置から送られてくるコードから、当該入力装置のラケット面に垂直な方向の変位加速度を検出する。そして、ステップＳ８７で、ステップＳ８６で検出した現在の加速度が図示しないレジスタに保留されている保留値より小さくなったかどうか判断する。ラケット型入力装置３２のスイングの初期においては、この保留値はごく小さく、したがってステップＳ８７では“ＮＯ”が判断される。この場合、ステップＳ８８で、現在加速度を保留値に置き換え、加速度保留値を更新する。
【００８０】
逆にステップＳ８７で“ＹＥＳ”が判断されるということは、その時点でレシーバ側のラケット型入力装置の加速度がピークに達したことを意味し、ステップＳ８９において、ゲームプロセサ５２は、その時点でレシーブが行われたとみなし、レシーブ側のラケット型入力装置の加速度保留値に基づいて、レシーブ時のラケット（ラケット型入力装置）の速度を決定する。
【００８１】
そして、ステップＳ９０において、ゲームプロセサ５２は、そのときのボールの各軸座標と、ステップＳ８９で求めたラケット速度とによって、レシーブ後のボールの各軸初速度Ｖｘ，Ｖｙ，Ｖｚを計算し、ステップＳ９１でレシーバとなるプレイヤを交代させる。つまり、レシーブが成功した場合、今度は他方のプレイヤのラケット型入力装置からのデータをレシーバ側データとして取り扱う。
【００８２】
図７に示すように、ステップＳ５のトス中処理が終了した後、またはステップＳ６のラリー中処理が終了した後には、ステップＳ８で示すボール座標演算処理に進む。このボール座標演算処理は、具体的には、図１６のフロー図に従って実行される。
【００８３】
最初のステップＳ１０１では、ゲームプロセサ５２は、そのときのボールの各軸座標Ｐｘ，ＰＹ，Ｐｚをチェックし、続くステップＳ１０２では、ゲームプロセサ５２は、ボールのＹ軸座標がテーブル４４（図２）のテーブル面のＹ軸座標と等しいかどうか、つまりボール３８がテーブル４４の面上に達したかどうか判断する。この判断において“ＮＯ”なら、ボールはまだ空中を移動中であることを意味し、ステップＳ１０３に進む。
【００８４】
ステップＳ１０３では、ゲームプロセサ５２は、ボールの位置がネット４２の接触範囲かどうか判断する。つまり、ネット４２の各軸範囲が予め設定されていて、ボール３８の各軸座標のいずれか１つがそのネット接触範囲にあれば、このステップＳ１０３で“ＹＥＳ”が判断され、ボール３８の各軸座標がすべてネット接触範囲外ならステップＳ１０３で“ＮＯ”が判断される。
【００８５】
ステップＳ１０３で“ＮＯ”が判断されたということは、ボール３８がネット４２に引っかからなかったことを意味し、次のステップＳ１０４で、ゲームプロセサ５２は、ボール３８のＹ軸速度Ｖｙを数１に従って更新する。なお、この実施例では、テーブル４４の奥行き方向をＺ軸として、またテーブル４４の幅方向をＸ軸としてそれぞれ設定している。Ｙ軸は高さ方向である。
【００８６】
（数１）
Ｖｙ＝Ｖｙ−ｇ・ｄｔ
ただし、ｇ：重力加速度、ｄｔ：前回更新時からの経過時間である。
【００８７】
その後、ボール３８の各軸座標をステップＳ１０５で数２に従って更新する。
【００８８】
（数２）
Ｐｘ＝Ｐｘ+Ｖｘ・ｄｔＰｙ＝Ｐｙ+Ｖｙ・ｄｔＰｚ＝Ｐｚ+Ｖｚ・ｄｔ
【００８９】
このようにして、空中を移動中のボール３８の位置座標を刻々更新する。
【００９０】
なお、ステップＳ１０３で“ＹＥＳ”が判断されたときには、ボール３８がネット４２に引っかかったのであるから、ゲームプロセサ５２は、ステップＳ１０６で、前回のサーブまたはレシーブを「ネット」としてポイントを確定させ、ステップＳ１０７でスタートを「ポイント処理」に移行させる。
【００９１】
先のステップＳ１０２で“ＹＥＳ”なら、ボール３８がテーブル４４にバウンドしたか、あるいはテーブル４４にバウンドしないで落下したかを意味する。ボール３８がテーブル４４上でバウンドした場合、ステップＳ１０８で“ＹＥＳ”が判断され、そうでない場合、ステップＳ１０８で“ＮＯ”が判断される。
【００９２】
すなわち、ステップＳ１０８では、ボール３８の高さがテーブル４４の面上位置と等しいとき、そのＸＺ範囲が予め設定しているテーブル４４の相手方コートのＸＺ範囲内かどうか判断している。このステップＳ１０８で“ＹＥＳ”となったとき、ゲームプロセサ５２は、ボール３８が正しくテーブル４４上でバウンドしたと判断し、次のステップＳ１０９において、テーブル４４でバウンドした後のボール３８の各軸速度Ｖｘ，Ｖｙ，Ｖｚを計算する。
【００９３】
その後、ステップＳ１１０で、ゲームプロセサ５２は、ステップＳ１０８で検出されたボール３８のテーブル上でのバウンドが２回目のバウンド（ダブルバウンズ）かどうか判断する。このダブルバウンズかどうかは、１回目のバウンドを検出したとき適宜のフラグを立てておけば、容易に判断できる。ダブルバウンズでなければ、ゲームプロセサの処理は先のステップＳ１０３に進む。
【００９４】
ダブルバウンズであれば、相手方のレシーブミスを示しているので、次のステップＳ１１１において、ゲームプロセサ５２は、「ダブルバウンズ」としてポイントを確定するとともに、ステップＳ１１２で、スタートを「ボイント処理」に移行させる。
【００９５】
なお、ステップＳ１０８で“ＮＯ”の場合、ボール３８がテーブル４４に接触することなく落下したことを意味し、したがって、ゲームプロセサ５２は、ステップＳ１１３で先のサーブまたはレシーブを「アウト」としてポイントを確定するとともに、ステップＳ１１４で、ステートを「ポイント処理」に移行させる。
【００９６】
「ポイント処理」は、卓球ゲームにおいてどちら側のプレイヤにポイントを加算するかを処理するもので、図１７に示すフロー図に従って実行される。すなわち、最初のステップＳ１２１で、ゲームプロセサ５２は、確定したポイントが「サーブアウト」または「サーブネット」であるか、「レシーブアウト」，「レシーブネット」，「レシーブミス」または「ダブルバウンズ」であるか判断する。前者である場合、ステップＳ１２２で、サーブ側プレイヤの失点として、レシーブ側プレイヤの得点をインクリメントする。後者であれば、ゲームプロセサ５２は、ステップＳ１２３で、レシーブ側プレイヤの失点として、サーブ側プレイヤの得点をインクリメントする。
【００９７】
その後、ステップＳ１２４で、ステップＳ１２２またはＳ１２３で得点を計上した結果、ゲーム終了条件になったかどうか判断かる。たとえば、１セット２１ポイント制を設定している場合、１セットマッチでは、２１ポイントをどちらかのプレイヤが得点したときゲーム終了である。したがって、このステップＳ１２４では、ステップＳ１２２またはＳ１２３の結果として、ゲームを終了させるべきかどうか判断する。そして、“ＹＥＳ”なら、ステップＳ１２５でステートを「ゲームモード選択」に移行させるし、“ＮＯ”なら、次のポイント処理を待つことになる。
【００９８】
このようにして、ラケット型入力装置３２を三次元空間中で変位またはスイングさせることによって、図１の体感卓球ゲーム装置１０によって、モニタ２０の画面内で卓球ゲームがプレイできる。
【００９９】
上述の実施例では、ラケット型入力装置３２に１つの圧電ブザー素子６６を内蔵し、それによってラケット面に垂直な方向の変位加速度だけを検出するようにした。しかしながら、図４に示すラケット方入力装置３２の内部に、圧電ブザー素子を図１８に示すように２軸に設け、それによってラケット面に垂直な方向の加速度だけでなく、ラケット面に水平な方向の加速度も検出するようにしてもよい。
【０１００】
図１８の実施例であれば、圧電ブザー素子６６Ｙが図４および図５の圧電ブザー素子６６に相当し、Ｙ軸すなわちラケット面に垂直な方向の加速度を検出する。圧電ブザー素子６６Ｘは、新たに追加されたもので、Ｘ軸すなわちラケット面に水平な方向（ラケット面に平行な方向）の加速度を検出する。すなわち、、図１８実施例では、圧電ブザー素子６６Ｙの圧電セラミック板の主面がラケット面に垂直な軸に直交し、圧電ブザー素子６６Ｘの圧電セラミック板の主面がラケット面に垂直な軸に直交する軸（ラケット面に水平な軸）に直交するようにそれぞれ配置される。
【０１０１】
そのために、図１９に示すように、ＭＣＵ５０の出力ポート０および入力ポート０を圧電ブザー素子６６Ｙすなわち加速度センサ回路４８Ｙに使い、出力ポート２および入力ポート２を圧電ブザー素子６６Ｘすなわち加速度センサ回路４８Ｘに使う。ただし、出力ポート１および入力ポート１は、図５の実施例と同様に、ＬＥＤ３４およびサーブスイッチ３６に接続される。さらに、各加速度センサ回路４８Ｙおよび４８Ｘの具体的回路構成は図５の加速度センサ回路４８のものと同様であるので、ここでは、重複する説明は省略する。
【０１０２】
図１８および図１９に示すようにラケット型入力装置３２（図４）に２つの圧電ブザー素子６６Ｙおよび６６Ｘを組み込んだ場合、図７および図８に示す卓球ゲーム全体の動作に変化はなく、ＭＣＵ５０による加速度検出の具体的動作、およびゲームプロセサ５２による「トス処理」，「ラリー処理」ならびに「ボール座標演算処理」の具体的動作に変更を生じる。
【０１０３】
２軸に圧電ブザー素子を設けた場合のＭＣＵ５０による加速度検出の具体的動作の一例が図２０に示される。この図２０は先の図１０に対応するものであり、図１０と同じステップ番号を付したステップでは図１０の相当するステップと同じ動作を実行する。また、図１０の対応のステップと類似の動作をするステップには、ダッシュ記号「’」または「"」を付している。
【０１０４】
図２０の最初のステップＳ２１’では、ＭＣＵ５０は、レジスタ（図示せず）に設定されている検出オフセット値Ｖ（ラケット面に垂直な方向についての検出オフセット値）をオフカウンタ（図示せず）にコピーする。続くステップＳ２２では、ＭＣＵ５０は、その出力ポート０に「１」を設定し、ついでステップＳ２３で、ＭＣＵ５０は、入力ポート０からデータを読込む。
【０１０５】
ステップＳ２４では、ステップＳ２３で読込んだ入力ポート０のデータが「１」かどうか判断する。もし、“ＹＥＳ”なら、次のステップＳ２５’で、ＭＣＵ５０は、積算カウンタＶ（ラケット面に垂直な方向についての積算値カウンタ：図示せず）をインクリメント（＋１）する。ステップＳ２５’で積算カウンタＶをインクリメントした場合、またはステップＳ２４で“ＮＯ”を判断した場合には、続くステップＳ２６で、ＭＣＵ５０は、オフセットカウンタをインクリメントし、次のステップＳ２７でそのオフセットカウンタのカウント値が規定値に達したかどうか判断す。つまり、ステップＳ２２で出力ポート０に「１」をセットした後、このステップＳ２７で“ＹＥＳ”が判断されるまで、ＭＣＵ５０は、出力ポート０の「１」を継続して出力する。
【０１０６】
そして、このオフセットカウンタのカウント値が規定値に達したとステップＳ２７で判断した場合には、次のステップＳ２８で、ＭＣＵ５０は、その出力ポート０に「０」すなわちローレベルをセットし、次のステップＳ２９ではレジスタに設定されている検出オフセット値Ｖをオフセットカウンタにコピーする。
【０１０７】
続くステップＳ３０では、ＭＣＵ５０は、入力ポート０からデータを読込む。ステップＳ３１では、ステップＳ３０で読込んだ入力ポート０のデータが「１」かどうか判断する。もし、“ＹＥＳ”なら、次のステップＳ３２’で、ＭＣＵ５０は、積算カウンタＶをインクリメント（＋１）する。
【０１０８】
ステップＳ３２’で積算カウンタＶをインクリメントした場合、またはステップＳ３１で“ＮＯ”を判断した場合には、続くステップＳ３３で、ＭＣＵ５０は、オフセットカウンタをディクリメント（−１）し、次のステップＳ３４でそのオフセットカウンタのカウント値がゼロに達したかどうか判断す。つまり、ステップＳ２８で出力ポート０に「０」をセットした後、このステップＳ３４で“ＹＥＳ”が判断されるまで、ＭＣＵ５０は、出力ポート０の「０」を継続して出力する。
【０１０９】
その後、図２１に示すステップＳ２１"では、ＭＣＵ５０は、レジスタ（図示せず）に設定されている検出オフセット値Ｈ（ラケット面に水平な方向についての検出オフセット値）をオフセットカウンタにコピーする。続くステップＳ２２’では、ＭＣＵ５０は、その出力ポート２に「１」を設定し、ついでステップＳ２３’で、ＭＣＵ５０は、入力ポート２からデータを読込む。
【０１１０】
ステップＳ２４では、ステップＳ２３で読込んだ入力ポート２のデータが「１」かどうか判断する。もし、“ＹＥＳ”なら、次のステップＳ２５"で、ＭＣＵ５０は、積算カウンタＨ（ラケット面に水平な方向についての積算カウンタ：図示せず）をインクリメント（＋１）する。ステップＳ２５"で積算カウンタＨをインクリメントした場合、またはステップＳ２４で“ＮＯ”を判断した場合には、続くステップＳ２６で、ＭＣＵ５０は、オフセットカウンタをインクリメントし、次のステップＳ２７でそのオフセットカウンタのカウント値が規定値に達したかどうか判断する。つまり、ステップＳ２２で出力ポート０に「１」をセットした後、このステップＳ２７で“ＹＥＳ”が判断されるまで、ＭＣＵ５０は、出力ポート２の「１」を継続して出力する。
【０１１１】
そして、このオフセットカウンタのカウント値が規定値に達したとステップＳ２７で判断した場合には、次のステップＳ２８’で、ＭＣＵ５０は、その出力ポート２に「０」すなわちローレベルをセットし、次のステップＳ２９"ではレジスタに設定されている検出オフセット値Ｈをオフセットカウンタにコピーする。
【０１１２】
続くステップＳ３０’では、ＭＣＵ５０は、入力ポート２からデータを読込む。ステップＳ３１では、ステップＳ３０で読込んだ入力ポート２のデータが「１」かどうか判断する。もし、“ＹＥＳ”なら、次のステップＳ３２"で、ＭＣＵ５０は、積算カウンタＨをインクリメント（＋１）する。
【０１１３】
ステップＳ３２"で積算カウンタＨをインクリメントした場合、またはステップＳ３１で“ＮＯ”を判断した場合には、続くステップＳ３３で、ＭＣＵ５０は、オフセットカウンタをディクリメント（−１）し、次のステップＳ３４でそのオフセットカウンタのカウント値がゼロに達したかどうか判断する。つまり、ステップＳ２８で出力ポート２に「０」をセットした後、このステップＳ３４で“ＹＥＳ”が判断されるまで、ＭＣＵ５０は、出力ポート２の「０」を継続して出力する。
【０１１４】
そして、ステップＳ３４で“ＹＥＳ”が判断されたとき、すなわち、オフセットカウンタがゼロ（０）になったとき、図２２に示すステップＳ３５’において、ＭＣＵ５０は、積算カウンタＶのカウント値から中間値を引いて、差分値Ｖを求める。そして、ステップＳ３６’で、この差分値Ｖに従ってラケット型入力装置３２のラケット面に垂直な方向の加速度を決定する。基本的には、差分値Ｖデータに所定の係数を掛けたものがラケット面に垂直な方向の加速度データとなる。その後、ステップＳ３７’で、ステップＳ３５’で求めた差分値Ｖに基づいて、検出オフセット値Ｖを補正する。
【０１１５】
そして、図２２に示すステップＳ３５"において、ＭＣＵ５０は、積算カウンタＨのカウント値から中間値を引いて、差分値Ｈを求める。そして、ステップＳ３６"で、この差分値Ｈに従ってラケット型入力装置３２のラケット面に水平な方向の加速度を決定する。その後、ステップＳ３７"で、ステップＳ３５"で求めた差分値Ｈに基づいて、検出オフセット値Ｈを補正する。
【０１１６】
次のステップＳ３８では、ＭＣＵ５０は、入力ポート１からキースイッチす３６からの値「１」か「０」を読み込み、続くステップＳ３９では、ＭＣＵ５０は、そのキースイッチ３６からの値と先のステップＳ３６で決定したラケット型入力装置３２のラケット面に垂直な方向の加速度およびラケット面に水平な方向の加速度に基づいて、さらにパリティビットを付加して、送信コードを算出し、メインルーチンのステップＳ１３（図９）にリターンする。
【０１１７】
２軸の圧電ブザー素子を設けた場合の、ゲームプロセサ５２が実行する「トス処理」が具体的に図２３に示される。この図２３は先の図１４に対応するものであり、図１４と同じステップ番号を付したステップでは図１４の相当するステップと同じ動作を実行する。また、図１４の対応のステップと類似の動作をするステップには、ダッシュ記号「’」を付している。
【０１１８】
この場合の「トス中」処理では、最初のステップＳ７１でトスされたボールの各軸座標Ｐｘ，Ｐｙ，Ｐｚをチェックし、その座標に基づいて、ステップＳ７２において、ボールの位置がサービス（サーブ）可能な範囲を超えたかどうか判断する。そして、ステップＳ７２で“ＹＥＳ”が判断されると、次のステップＳ７３で、ゲームプロセサ５２は、トスしたボールの各軸座標をトス前の状態に戻して、続くステップＳ７４で、ステートを再び「トス前」に移行させる。
【０１１９】
ステップＳ７２で“ＮＯ”が判断されると、次のステップＳ７５で、ゲームプロセサ５２は、サーバ側プレイヤのラケット型入力装置から送られてくるコードから、当該入力装置の２つの加速度（ラケット面に垂直な方向の加速度とラケット面に水平な方向の加速度）を検出する。そして、ステップＳ７６’で、ステップＳ７５で検出したラケット面垂直方向加速度が図示しないレジスタに保留されている保留値より小さくなったかどうか判断する。ステップＳ７６で
“ＮＯ”が判断されると、ステップＳ７７’で、ラケット面に垂直な加速度およびラケット面に水平な加速度のそれぞれの現在値で保留値を置き換え、２つの加速度保留値を更新する。
【０１２０】
逆にステップＳ７６で“ＹＥＳ”が判断されるということは、その時点でラケット型入力装置のラケット面に垂直な方向の加速度がピークに達したことを意味し、ステップＳ７８’において、ゲームプロセサ５２は、その時点でサーブが行われたとみなし、ラケット型入力装置のラケット面に垂直な方向の加速度およびラケット面に水平な方向の加速度のそれぞれの保留値に基づいて、サービス時のラケット（ラケット型入力装置）のラケット面に垂直な方向の速度およびラケット面に水平な方向の速度を決定する。
【０１２１】
そして、ステップＳ７９ａにおいて、ゲームプロセサ５２は、そのときのボールのラケット面に垂直な方向の方向速度およびラケット面に水平な方向の速度と、ラケット型入力装置のラケット面に垂直な方向の速度およびラケット面に水平な方向の速度とに基づいて、図２４および数３に従ってラケットにあたった後のボール３８のラケット面に垂直な方向の速度およびラケット面に水平な方向の速度を計算するとともに、サーブ後のボールの回転角速度を計算する。
【０１２２】
（数３）
ＢＶｈ＝ＢＶｈ０＋ａω（ＢＶｈ０−ＲＶｈ０）
ＢＶｖ＝−ｂ（ＢＶｖ０−ＲＶｖ）
ω＝ω０＋ｃ（ＢＶｖ０−ＲＶｖ）
ただし、ＲＶｈ：ラケットのラケット面に水平な方向の速度、ＲＶｖ：ラケットのラケット面に垂直な方向の速度、ＢＶｈ０：衝突前のボールのラケット面に水平な方向の速度、ＢＶｖ０：衝突前のボールのラケット面に垂直な方向の速度、ω０：衝突前のボールの回転角速度、ａ，ｂ，ｃ：定数である。
【０１２３】
ついで、ステップＳ７９’においてボールのラケット面に垂直な方向の速度およびラケット面に水平な方向の速度ならびに各軸座標からサーブ後のボールの各軸初速度Ｖｘ，Ｖｙ，Ｖｚを計算し、ステップＳ８０でステートを「ラリー中」に移行させる。
【０１２４】
２軸の圧電ブザー素子を設けた場合の、ゲームプロセサ５２が実行する「ラリー処理」が具体的に図２５に示される。この図２５は先の図１５に対応するものであり、図１５と同じステップ番号を付したステップでは図１５の相当するステップと同じ動作を実行する。また、図１５の対応のステップと類似の動作をするステップには、ダッシュ記号「’」を付している。
【０１２５】
最初のステップＳ８１では、ゲームプロセサ５２は、サーブで打ち込まれたボールの各軸座標Ｐｘ，Ｐｙ，Ｐｚをチェックし、その座標に基づいて、ステップＳ８２において、ボールの位置が予め設定しているレシーブ可能な範囲に達したかどうか判断する。このステップＳ８２で“ＮＯ”なら、終了する。ステップＳ８２で“ＹＥＳ”が判断されると、次のステップＳ８３で、ゲームプロセサ５２は、ボールがレシーブ可能範囲をオーバーしたかどうか判断する。ステップＳ８３で“ＹＥＳ”を判断したとき、すなわち、ボールがレシーブ可能範囲に一旦は入ったものの何の処理もされないまま再びレシーブ可能範囲外へ出ていった場合には、ステップＳ８４で「レシーブミス」を確定し、次のステップＳ８５でステートを「ポイント処理」に移行させる。
【０１２６】
ステップＳ８３で“ＮＯ”が判断されると、次のステップＳ８６’で、ゲームプロセサ５２は、レシーバ側プレイヤのラケット型入力装置から送られてくるコードから、当該入力装置のラケット面に垂直な方向の加速度およびラケット面に水平な方向の加速度を検出する。そして、ステップＳ８７’で、ステップＳ８６で検出したラケット面に垂直な方向の加速度が保留値より小さくなったかどうか判断する。ステップＳ８７で“ＮＯ”の場合、ステップＳ８８’で、ラケット面に垂直な方向の加速度およびラケット面に水平な方向の加速度の現在値によって加速度保留値を更新する。
【０１２７】
逆にステップＳ８７’で“ＹＥＳ”が判断されるということは、その時点でレシーバ側のラケット型入力装置のラケット面に垂直な方向の加速度がピークに達したことを意味し、ステップＳ８９’において、ゲームプロセサ５２は、その時点でレシーブが行われたとみなし、レシーブ側のラケット型入力装置のラケット面に垂直な方向の加速度およびラケット面に水平な方向の加速度のそれぞれの保留値に基づいて、レシーブ時のラケット（ラケット型入力装置）のラケット面に垂直な方向の速度およびラケット面に水平な方向の速度を決定する。
【０１２８】
そして、ステップＳ９０ａにおいて、ゲームプロセサ５２は、そのときのボールのラケット面に垂直な方向の方向速度およびラケット面に水平な方向の速度と、ラケット型入力装置のラケット面に垂直な方向の速度およびラケット面に水平な方向の速度とに基づいて、先の図２４および数３に従ってラケットにあたった後のボール３８のラケット面に垂直な方向の速度およびラケット面に水平な方向の速度を計算するとともに、サーブ後のボールの回転角速度を計算する。
【０１２９】
ついで、ステップＳ９０’においてボールのラケット面に垂直な方向の速度およびラケット面に水平な方向の速度ならびに各軸座標からレシーブ後のボールの各軸初速度Ｖｘ，Ｖｙ，Ｖｚを計算し、ステップＳ９１でレシーバとなるプレイヤを交代させる。つまり、レシーブが成功した場合、今度は他方のプレイヤのラケット型入力装置からのデータをレシーバ側データとして取り扱う。
【０１３０】
図７に示すように、ステップＳ５のトス中処理が終了した後、またはステップＳ６のラリー中処理が終了した後には、ステップＳ８で示すボール座標演算処理に進む。
２軸の圧電ブザー素子を設けた場合のこのボール座標演算処理は、具体的には、図２６のフロー図に従って実行される。この図２６フロー図は先の図１６フローズとステップＳ１０９’が変更されているだけである。すなわち、２軸圧電ブザー素子６６Ｙ，６６Ｘを設けた場合には、ボールの各軸速度と先に求めたボールの回転角速度とによって、テーブルにバウンドした後のボールの各軸速度および回転角速度を求める。
【０１３１】
このように、ラケット型入力装置３２内の２軸に圧電ブザー素子６６Ｘ，６６Ｙを設けた場合には、ボールの回転角速度を計算するので、１つの圧電ブザー素子６６だけの実施例に比べて、ボールの移動軌跡が実際の卓球ゲームに非常に近くなり、図１実施例の体感卓球ゲーム装置におけるリアリティを一層向上できる。
【０１３２】
さらに、図２７に示すように、３軸のそれぞれの方向の加速度を検出できるように３つの圧電ブザー素子６６Ｘ，６６Ｙおよび６６Ｚを用いるようにしてもよい。図２７でいえば、圧電ブザー素子６６ＸがＸ軸方向の加速度を検出し、圧電ブザー素子６６ＹがＹ軸方向の加速度を検出し、圧電ブザー素子６６ＺがＺ軸方向の加速度を検出する。３つの圧電ブザー素子を用いる場合には、図１９と同様に、３つの加速度センサ回路４８を用いればよい。図２７実施例では、圧電ブザー素子６６Ｙの圧電セラミック板の主面がラケット面に垂直な軸に直交し、圧電ブザー素子６６Ｘの圧電セラミック板の主面がラケット面に垂直な軸に直交する軸（ラケット面に水平な軸）に直交し、圧電ブザー素子６６Ｚの圧電セラミック板の主面が前２軸にそれぞれ直交する軸（第３軸）に直交するようにそれぞれ配置される。
【０１３３】
なお、上述の実施例では、圧電ブザー素子に生じる加速度相関信号とし電圧信号を取り出すようにした。しかしながら、それを電流信号として取り出すようにしてもよい。
【０１３４】
さらに、上述の実施例では、ＭＣＵ５０およびＬＥＤ３４がディジタル信号伝送手段を構成し、加速度相関ディジタル信号をワイアレスでプロセサ側に伝送するようにした。しかしながら、信号伝送手段はワイアレスでなく適宜のデータ伝送線を用いるものであってもよい。
【０１３５】
さらに、加速度相関信号としてディジタル信号を出力するものを例示したが、検出した電圧値または電流値をアナログ信号として伝送するようにしてもよい。
【符号の説明】
【０１３６】
１０ …体感卓球ゲーム装置
１２ …ゲーム機
２０ …テレビジョンモニタ
３０ …赤外線受光部
３２ …ラケット型入力装置
３４ …赤外線ＬＥＤ
６６，６６Ｘ，６６Ｙ，６６Ｚ …圧電ブザー素子
【図１】
2011161259.tif 000003
【図２】
2011161259.tif 000004
【図３】
2011161259.tif 000005
【図４】
2011161259.tif 000006
【図５】
2011161259.tif 000007
【図６】
2011161259.tif 000008
【図７】
2011161259.tif 000009
【図８】
2011161259.tif 000010
【図９】
2011161259.tif 000011
【図１０】
2011161259.tif 000012
【図１１】
2011161259.tif 000013
【図１２】
2011161259.tif 000014
【図１３】
2011161259.tif 000015
【図１４】
2011161259.tif 000016
【図１５】
2011161259.tif 000017
【図１６】
2011161259.tif 000018
【図１７】
2011161259.tif 000019
【図１８】
2011161259.tif 000020
【図１９】
2011161259.tif 000021
【図２０】
2011161259.tif 000022
【図２１】
2011161259.tif 000023
【図２２】
2011161259.tif 000024
【図２３】
2011161259.tif 000025
【図２４】
2011161259.tif 000026
【図２５】
2011161259.tif 000027
【図２６】
2011161259.tif 000028
【図２７】
2011161259.tif 000029