(57)【要約】      （修正有）【課題】新規な操作手法を用いた情報処理装置、情報記憶媒体及びプログラムを提供する。【解決手段】情報処理装置は、コントローラ１およびそのコントローラ１が接続されるゲーム機２を含み、コントローラ１に設けられた複数のスイッチの少なくとも１つのスイッチからはそのスイッチの操作状態に応じてディジタル出力またはアナログ出力が得られる。ゲーム機２のＣＰＵは、アナログ出力に応じて、ゲーム情報の第１の処理を行うとともに、ディジタル出力に応じて、第１の処理に関連した第２の処理を行う。【選択図】図１
2012011220.tif 000002
【特許請求の範囲】
【請求項１】
操作手段、操作手段からの操作情報に基づいて処理を行う処理手段、および処理手段によって作成された画像データを画像信号として表示手段に出力する画像信号出力手段を備える情報処理装置であって、
前記操作手段は、アナログ操作手段、およびナログ操作手段の操作に関連してオンとなるように配置されるディジタルスイッチを含み、
前記処理手段は、前記アナログ操作手段の操作情報に基づく第１の処理を行う第１の処理手段、および前記ディジタルスイッチのオンオフ情報に基づいて前記第１の処理に関連した第２の処理を行うための第２の処理手段を含む。
【請求項２】
クレーム１に従属する情報処理装置であって、前記ディジタルスイッチは、前記アナログ操作手段の操作量が略最大となったときにオンとなるように配置される。
【請求項３】
クレーム１に従属する情報処理装置であって、前記処理手段はゲーム処理を行う。
【請求項４】
クレーム１に従属する情報処理装置てあって、前記ディジタルスイッチは、オン状態になったときにクリック感を発生するクリック感発生手段を含む。
【請求項５】
クレーム１ないし４のいずれかに従属する情報処理装置であって、
前記第１の処理手段は、前記アナログ操作手段の操作量に応じた処理を行い、
前記第２の処理手段は、前記アナログ操作手段の操作量が最大であるときの前記第１の処理手段の処理に対応した処理を行う。
【請求項６】
クレーム１ないし４のいずれかに従属する情報処理装置であって、
前記処理手段は、
前記第２の処理の候補を記憶する候補記憶手段、
前記候補記憶手段から１つの処理を選択する選択手段、および
前記選択手段によって選択された処理を第２の処理として設定する第２の処理設定手段をさらに含む。
【請求項７】
クレーム１ないし４のいずれかに従属する情報処理装置であって、
前記第１の処理手段は、前記アナログ操作手段の操作量を累積的に計量する計量手段を含み、
前記第２の処理手段は、前記計量手段によって計量された量に応じて処理の大きさを変化させる。
【請求項８】
クレーム１ないし４のいずれかに従属する情報処理装置であって、
前記第１の処理手段は、前記アナログ操作手段の操作速度を算出する操作速度算出手段を含み、
前記第２の処理手段は、前記ディジタルスイッチのオン操作前における前記操作速度算出手段によって算出された操作速度に応じて処理の大きさを変化させる。
【請求項９】
クレーム１ないし４のいずれかに従属する情報処理装置であって、
前記第１の処理手段は、前記ディジタルスイッチのオン操作前の前記アナログ操作手段の操作位置を記憶する処理を行い、
前記第２の処理手段は、前記第１の処理手段が記憶した前記アナログ操作手段の操作位置に応じて処理の内容を変化させる。
【請求項１０】
クレーム１ないし４のいずれかに従属する情報処理装置であって、
前記第１の処理手段は、キャラクタの所定の動作を連続的に表示する処理を行うものであり、
前記第２の処理手段は、前記所定の動作に連係する次動作を前記キャラクタに行わせる処理をする。
【請求項１１】
クレーム１０に従属する情報処理装置であって、前記第１の処理手段は、前記アナログ操作手段の操作量に応じて、前記所定の動作を連続的に表示する。
【請求項１２】
クレーム１０または１１に従属する情報処理装置であって、
前記操作手段は、前記キャラクタの移動を指示するための移動用操作手段をさらに含み、
前記処理手段は、前記移動用操作手段の操作情報に基づいて前記キャラクタの移動を制御する移動制御手段をさらに含み、
前記移動制御手段は、前記第１の処理手段が前記所定の動作の途中状態の表示を行っているときは、前記キャラクタの移動量を抑制する。
【請求項１３】
クレーム１０に従属する情報処理装置であって、
前記処理手段は、プレイヤによって操作されないノンプレイヤキャラクタを制御するノンプレイヤキャラクタ制御手段をさらに含み、
前記第２の処理手段による前記次動作は、前記ノンプレイヤキャラクタに影響を与える動作であり、
前記ノンプレイヤキャラクタ制御手段は、前記第１の処理手段による前記所定の動作の途中状態の表示に対応して前記ノンプレイヤキャラクタを表示させる。
【請求項１４】
操作手段、操作手段からの操作情報に基づいて処理を行う処理手段、および処理手段によって作成された画像データを画像信号として表示手段に出力する画像信号出力手段を備える情報処理装置であって、
前記操作手段は、アナログ操作手段、およびアナログ操作手段の操作量が最大となったときにオンとなるように配置されるディジタルスイッチを含み、
前記処理手段は、前記ディジタルスイッチがオンである第１の状態、前記アナログ操作手段の操作量が０である第２の状態、または、前記ディジタルスイッチがオフでありかつ前記アナログ操作手段の操作量が０でない第３の状態のいずれかを検出する状態検出手段を含み、状態検出手段の出力に応じて異なった処理を行う。
【請求項１５】
クレーム１４に従属する情報処理装置であって、前記処理手段は、前記状態検出手段の検出出力の履歴が所定のパターンになったときに、所定の処理を実行する。
【請求項１６】
アナログ操作手段およびアナログ操作手段の操作に関連してオンとなるように配置されるディジタルスイッチを含む操作手段、操作手段からの操作情報に基づいて処理を行う処理手段、および処理手段によって作成された画像データを画像信号として表示手段に出力する画像信号出力手段を備える情報処理装置に用いられる情報記憶媒体であって、
前記アナログ操作手段の操作情報に基づく第１の処理を行うための第１のプログラム、および
前記ディジタルスイッチのオンオフ情報に基づいて前記第１の処理に関連した第２の処理を行うための第２のプログラムを備える。    
【請求項１７】
アナログ操作手段およびアナログ操作手段の操作に関連してオンとなるように配置されるディジタルスイッチを含む操作手段、操作手段からの操作情報に基づいて処理を行う処理手段、および処理手段によって作成された画像データを画像信号として表示手段に出力する画像信号出力手段を備える情報処理装置によって実行されるプログラムであって、
前記アナログ操作手段の操作情報に基づく第１の処理を行うための第１のプログラム、および
前記ディジタルスイッチのオンオフ情報に基づいて前記第１の処理に関連した第２の処理を行うための第２のプログラムを備える。
【請求項１８】
クレーム１７に従属する情報処理装置であって、
前記第１のプログラムは、前記アナログ操作手段の操作量に応じた処理を行うプログラムを含み、
前記第２のプログラムは、前記アナログ操作手段の操作量が最大であるときの前記第１のプログラムによってなされた処理に対応した処理を行うプログラムを含む。
【請求項１９】
クレーム１７に従属するプログラムであって、
前記第１のプログラムは、前記アナログ操作手段の操作量を累積的に計量する計量プログラムを含み、
前記第２のプログラムは、前記計量プログラムによって計量された量に応じたて処理の大きさを変化させる第１の変化プログラムを含む。
【請求項２０】
クレーム１７に従属するプログラムであって、
前記第１のプログラムは、前記アナログ操作手段の操作速度を算出する操作速度算出プログラムを含み、
前記第２のプログラムは、前記ディジタルスイッチのオン操作前における前記操作速度算出プログラムによって算出された操作速度に応じて処理の大きさを変化させる第２の変化プログラムを含む。
【請求項２１】
クレーム１７に従属するプログラムであって、
前記第１のプログラムは、前記ディジタルスイッチのオン操作前の前記アナログ操作手段の操作位置を記憶する操作位置記憶プログラムを含み、
前記第２のプログラムは、前記操作位置記憶プログラムによって記憶した前記アナログ操作手段の操作位置に応じて処理の内容を変化させる第３の変化プログラム。
【請求項２２】
クレーム１７ないし２1のいずれかに従属するプログラムであって、
前記第１のプログラムは、キャラクタの所定の動作を連続的に表示する処理を行うプログラムを含み、
前記第２のプログラムは、前記所定の動作に連係する次動作を前記キャラクタに行わせるプログラムを含む。
【請求項２３】
アナログ操作手段およびアナログ操作手段の操作量が最大となったときにオンとなるように配置されるディジタルスイッチを含む操作手段、操作手段からの操作情報に基づいて処理を行う処理手段、および処理手段によって作成された画像データを画像信号として表示手段に出力する画像信号出力手段を備える情報処理装置によって実行されるプログラムであって、
前記ディジタルスイッチがオンである第１の状態、前記アナログ操作手段の操作量が０である第２の状態、または、前記ディジタルスイッチがオフでありかつ前記アナログ操作手段の操作量が０でない第３の状態のいずれかを検出する状態検出プログラムを備え、前記処理手段は状態検出プログラムによって検出した状態に応じて異なった処理を行う。
【請求項２４】
ゲームに登場するキャラクタの動作を指示するためのゲーム機用操作装置であって、
ハウジング、
前記ハウジングの一方主面上における一方側面近傍であって、ハウジングを把持する一方の手の親指の近傍位置に配置されるメインスイッチ、および、
前記メインスイッチの下部領域を除きかつ親指の移動可能な範囲の領域に、メインスイッチの周囲に分散して複数個配置されるサブスイッチを備え、
前記複数のサブスイッチは、前記メインスイッチの上部領域に配置される第１のサブスイッチと、メインスイッチの左側領域に配置される第２のサブスイッチと、メインスイッチの右側領域に配置される第３のサブスイッチを含んで構成され、それぞれがメインスイッチの形状よりも小さな形状とすることを特徴とする、ゲーム機用操作装置。
【請求項２５】
クレーム２４に従属するゲーム機用操作装置であって、
前記メインスイッチは、形状が円形に形成され、
前記サブスイッチは、前記メインスイッチを中心として同心円上に配置される。
【請求項２６】
クレーム２４または２５に従属するゲーム機用操作装置であって、前記第１のサブスイッチは、前記メインスイッチの中心を通る前記ハウジングの縦方向の軸をハウジングの中心方向に所定角度だけ傾けた第１の軸上に配置される。
【請求項２７】
クレーム２６に従属するゲーム機用操作装置であって、前記第２のサブスイッチと前記第３のサブスイッチは、前記第１の軸に対して対称な位置に配置される。
【請求項２８】
ゲームに登場するキャラクタの動作を指示するためのゲーム機用操作装置であって、
ハウジング、
前記ハウジングの一方主面上における一方側面近傍であって、ハウジングを把持する一方の手の親指の近傍位置に配置されるメインスイッチ、および、
前記メインスイッチの上部領域であり、かつ前記メインスイッチの中心を通る前記ハウジングの縦方向の軸をハウジングの中心方向に傾けた第１の軸上に配置される、メインスイッチの形状よりも小さな形状をした第１のサブスイッチを備える。
【請求項２９】
クレーム２６ないし２８のいずれかに従属するゲーム機用操作装置であって、前記ハウジングは、前記メインスイッチの下部領域から前記第１の軸に略平行な方向に突出し、かつプレイヤの一方の手のひらで握り締められる形状をしたグリップをさらに備える。
【請求項３０】
クレーム２４ないし２８のいずれかに従属するゲーム機用操作装置であって、前記第１のサブスイッチは、そのキートップが前記メインスイッチのキートップよりも高く形成される。
【請求項３１】
クレーム２４ないし２７のいずかに従属するゲーム機用操作装置であって、前記第２のサブスイッチまたは前記第３のサブスイッチのうち前記メインスイッチより前記ハウジングの中心側に配置されるサブスイッチは、そのキートップが前記メインスイッチのキートップよりも低く形成される。
【請求項３２】
クレーム２４ないし３１のいずれかに従属するゲーム機用操作装置であって、前記サブスイッチは、前記メインスイッチの形状の外周に沿って延伸した形状である。
【請求項３３】
クレーム２４ないし３２のいずれかに従属するゲーム機用操作装置であって、前記ハウジングの一方主面上における他方側面近傍であって、ハウジングを把持する他方の手の親指の位置の近傍に配置され、かつゲームに登場するキャラクタの移動方向を指示する方向指示操作部をさらに備える。
【請求項３４】
ゲームに登場するキャラクタの動作を指示するためのゲーム機用操作装置であって、
横長形状をしたハウジング、
前記ハウジングの一方主面上における一方側面近傍であって、ハウジングを把持する一方の手の親指の近傍位置に配置されるメインスイッチ、および、
前記メインスイッチの下部領域を除きかつ親指の移動可能な範囲の領域に、メインスイッチの周囲に分散して複数個配置されるサブスイッチを備え、
前記複数のサブスイッチは、前記メインスイッチの上部領域に配置される第１のサブスイッチと、メインスイッチの左側領域に配置される第２のサブスイッチと、メインスイッチの右側領域に配置される第３のサブスイッチを含んで構成され、かつ、それぞれがメインスイッチの形状よりも小さな形状に選ばれ、
前記第１のサブスイッチは、前記メインスイッチの中心を通る前記ハウジングの縦方向の軸をハウジングの中心方向に所定角度だけ傾けた第１の軸上に配置される。
【請求項３５】
クレーム３３に従属するゲーム機用操作装置であって、
前記メインスイッチは、形状が円形に形成され、
前記複数のサブスイッチは、前記メインスイッチを中心として同心円上に配置され、かつ同心円の円周方向にに延伸した形状である。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置に関し、特にたとえばアナログ的に操作するスイッチとディジタル的に操作するスイッチとが一体となった操作器を用いてゲーム等の情報処理を行う情報処理装置、それに用いられる情報記憶媒体およびプログラムに関する。
【０００２】
この発明は、さらに、ゲーム機用操作装置に関し、特にビデオゲームをプレイする際にオブジェクトまたはキャラクタの動作を指示するために用いられるゲーム機用操作装置に関する。
【背景技術】
【０００３】
従来の情報処理装置、特にビデオゲーム機では、プレイヤがアナログジョイジョイスティックおよびディジタルボタンを別々の指で操作することによって、プレイヤオブジェクトを移動させたり、プレイヤオブジェクトにノンプレイヤオブジェクトを攻撃させたりしていた。
【０００４】
また、従来、アナログスイッチとディジタルスイッチとを一体的に設けたスイッチは存在していたが、この場合でも、アナログスイッチまたはディジタルスイッチが選択的に使用されるだけであり、アナログスイッチおよびディジタルスイッチをそれぞれ個別に操作した場合と異なる情報処理（ゲーム処理）は行っていなかった。
【０００５】
したがって、従来のゲームは、アナログスイッチとディジタルスイッチとを別々に操作して遊ぶゲームばかりであるため、操作手法に新鮮みがなくなっていた。
【０００６】
また、従来のゲーム機用操作装置（以下「操作装置」と略称する）の外観を図４７に示す。図４７（ａ）はプレイヤの左右の手のひらでハウジングを直接握る形状の操作装置を示し、たとえば、特開平９−１６７５４４号（ＵＳＰ５，２０７，４２６）に開示されている。図４７（ｂ）はハウジングの側面下方にグリップ７６および７７が形成された操作装置を示す。
【０００７】
これらの操作装置には、ハウジングの一方主面（表面）の左右側面近傍に、ビデオゲームのキャラクタまたはオブジェクトの移動方向を指示するための方向指示スイッチ６５または７５と、キャラクタ等の動作を指示するための動作指示スイッチとが形成される。動作指示スイッチは、４個の操作スイッチ６１−６４または７１−７４を含み、ハウジングの平面から見て縦方向および横方向の十字型に配置される。各操作スイッチ６１−６４または７１−７４は、比較的小さい円形（丸型）で同じ大きさのキートップを含む。具体的には、各操作スイッチ６１−６４または７１−７４は、十字型に配置されたときの中心点から上下左右に一定距離だけ離れて配置され、それらの間には主従関係がないか、主従関係の区別が明確でなかった。また、各操作スイッチのキートップの高さは同一であった。
【０００８】
従来の操作装置は、次の問題点があった。すなわち、各操作スイッチは、十字配置の中心から上下左右に一定距離だけ離れているため、次の方法で操作される。第１の操作方法では、十字配置の中心を親指の基準位置とし、操作すべき操作スイッチに対応するように親指を上下左右に少しずつずらせて操作される。この第１の操作方法によれば、ハウジングを把持して自然に置いた親指の位置が十字配置の中心付近である（図４７（ａ）または図４７（ｂ）参照）ことから、基準位置における親指の位置に無理がなく、また、何れの操作スイッチを操作する場合も等間隔の移動で操作することができる。しかし、通常、複数の操作スイッチのなかには使用頻度の大きいものと小さいものとがあるが、使用頻度の大きい操作スイッチを操作する際にも親指を移動させる必要があり、そのため操作性が悪く、親指の疲れを生じやすい。
【０００９】
一方、第２の操作方法では、特定の操作スイッチ（たとえば、十字配置した下のスイッチ６１または７１）を親指の基準位置とし、右の操作スイッチ（６２または７２）を操作する場合であれば基準位置から親指を右上にずらせて押圧し、左の操作スイッチ（６３または７３）を操作する場合であれば基準位置から親指を左上にずらせて押圧し、上の操作スイッチ（６４または７４）を操作する場合であれば、基準位置から親指を上にずらせて押圧する。この第２の操作方法によれば、特定の操作スイッチについては親指の移動の必要がないが、他の操作スイッチを操作する場合には親指の移動量が大きく、また、移動量が一定でない（上述の例で、上の操作スイッチを操作するときの移動量は、左または右の操作スイッチを操作するときの移動量より大きい）ため、誤操作を生じやすく、親指の疲れを生じやすい。さらに、親指の基準位置が、ハウジングを把持して自然に置いた親指の位置と異なるため、疲れが生じやすい。
【００１０】
また、上述のいずれの操作方法でも、同時押し（複数の操作スイッチを同時に押下する場合）や、連続押し（複数の操作スイッチを順番に連続的に操作する場合）をする場合に、誤操作を生じやすく、親指の疲れを招き安い。具体的には、操作スイッチ６１および操作スイッチ６４（操作スイッチ７１および操作スイッチ７４）の同時押し、操作スイッチ６２および操作スイッチ６３（操作スイッチ７２および操作スイッチ７３）の同時押し、操作スイッチ６３および操作スイッチ６４（操作スイッチ７３および操作スイッチ７４）の同時押しをする場合に、他の操作スイッチを避ける必要があるため、親指に無理な力がかかることになり、操作性が悪い。また、操作スイッチ６１および操作スイッチ６４（操作スイッチ７１および操作スイッチ７４）の同時押し、操作スイッチ６２および操作スイッチ６３（操作スイッチ７２および操作スイッチ７３）の同時押しは、各操作スイッチ間の距離が大きいため困難である。さらに、操作スイッチ６１から操作スイッチ６４（操作スイッチ７１から操作スイッチ７４）への連続押し、操作スイッチ６２から操作スイッチ６３（操作スイッチ７２から操作スイッチ７３）の連続押しは、親指の移動距離が大きく、また、移動中に他の操作スイッチに接触する可能性があり、操作性が悪い。
【００１１】
また、上と下の操作スイッチの配置関係（操作スイッチ６１および操作スイッチ６４の配置関係、または、操作スイッチ７１および操作スイッチ７４の配置関係）は、プレイヤがハウジングを把持したときの親指を自然に延ばした方向を軸方向としていないため、上と下の操作スイッチの同時押しや連続押しに、親指の移動が不自然になり、親指の疲れを招き易い。
【００１２】
また、各操作スイッチのキートップの形状および大きさが同一であり区別がないため、間違った操作スイッチを気づかずに操作をしてしまうことがある。
【００１３】
また、使用頻度が多い操作スイッチについても他の操作スイッチと同一の大きさであるので、操作性が悪い。
【００１４】
また、各操作スイッチの高さが同一のため、ハウジングの上部にある操作スイッチを操作する際に親指を無理に伸ばす必要があった。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
それゆえに、この発明の主たる目的は、新規な操作手法を用いた情報処理装置、それに用いられる情報記憶媒体およびプログラムを提供することである。
【００１６】
この発明の他の目的は、１つの指で複数の制御を行うことが可能な情報処理装置、それに用いられる情報記憶媒体およびプログラムを提供することである。
【００１７】
この発明のさらに他の目的は、あるスイッチを押したときの制御に変化を持たせる情報処理装置、それに用いられる情報記憶媒体およびプログラムを提供することである。
【００１８】
この発明のさらに他の目的は、ユーザがあるスイッチを押そうとしていることを検出して、それを画面に表現することが可能な情報処理装置、それに用いられる情報記憶媒体およびプログラムを提供することである。
【００１９】
この発明のさらに他の目的は、アナログスイッチを最大操作したことをユーザが明確に認識することができるようにして、アナログスイッチの最大操作に対する特別な処理を行うことが可能な情報処理装置、それに用いられる情報記憶媒体およびプログラムを提供することである。
【００２０】
この発明のなおも他の目的は、操作性がよく、正確かつ簡単に操作をすることができるゲーム機用操作装置を提供することである。
【００２１】
この発明の他の目的は、手の疲れ、特に親指の疲れが生じにくいゲーム機用操作装置を提供することである。
【００２２】
この発明のさらにその他の目的は、同時押しや連続押しを簡単に行うことができ、多様なゲームの操作方法を簡単に実現することが可能なゲーム機用操作装置を提供することである。
【課題を解決するための手段】
【００２３】
この発明に従った情報処理装置（２：後述の実施例において相当する部分を示す参照番号。以下同様。）は、操作手段（１）、操作手段からの操作情報に基づいて処理を行う処理手段（２１）、および処理手段によって作成された画像データを画像信号として表示手段に出力する画像信号出力手段（２２）を備え、操作手段は、アナログ操作手段（１０９１〜１０９６；１０３３，１０３６）、およびアナログ操作手段の操作に関連してオンとなるように配置されるディジタルスイッチ（１０９８；１０３４，１０３５ａ，１０３５ｂ）を含み、処理手段は、アナログ操作手段の操作情報に基づく第１の処理を行う第１の処理手段（Ｓ１８０７；Ｓ２５０４，Ｓ２５０５；Ｓ２９０３；Ｓ３７０２；Ｓ３９０２〜Ｓ３９０６）、およびディジタルスイッチのオンオフ情報に基づいて第１の処理に関連した第２の処理を行うための第２の処理手段（Ｓ１８０３，Ｓ１８０５；Ｓ２５０２，Ｓ２４０９，Ｓ２４１０；Ｓ２９０２；Ｓ３７０４〜Ｓ３７０８；Ｓ３９０７）を含む。
【発明の効果】
【００２４】
この発明によれば、１つのスイッチでアナログスイッチおよびディジタルスイッチの操作を行うため、プレイヤの１つの動作でアナログスイッチに関する処理、およびディジタルスイッチの処理を行うことができる。また、アナログスイッチに関する処理とディジタルスイッチに関する処理が関連をもっているので、従来にないプレイヤオブジェクトの動作等を実現可能であり、多種多様な操作手法を用いた情報処理を実現可能である。さらに以下のような効果がある。
【００２５】
（１）１つの指で複数の制御を行うことが可能な情報処理装置を提供することが可能である。
【００２６】
（２）アナログスイッチの操作に応じてディジタルスイッチの操作時の処理内容に変化を持たせることが可能である。
【００２７】
（３）ユーザがディジタルスイッチを押そうとしていることをアナログスイッチにより検出して、それを画面に表現することが可能である。
【００２８】
（４）アナログスイッチを最大操作したことをユーザが明確に認識することができるので、アナログスイッチの最大操作に対する特別な処理を行うことが可能である。
【００２９】
或る実施例では、ディジタルスイッチ（１０９８）は、アナログ操作手段（１０９１〜１０９６）の操作量が略最大となったときにオンとなるように配置される。
【００３０】
好ましい実施例では、第１の処理手段は、アナログ操作手段の操作量に応じた処理（Ｓ１８０７；Ｓ２９０３）を行い、第２の処理手段は、アナログ操作手段の操作量が最大であるときの第１の処理手段の処理に対応した処理（Ｓ１８０３；Ｓ２９０２）を行う。
【００３１】
そして、処理手段は、第２の処理の候補を記憶する候補記憶手段、候補記憶手段から１つの処理を選択する選択手段（Ｓ１６０１）、および選択手段によって選択された処理を第２の処理として設定する第２の処理設定手段（Ｓ１６０３，Ｓ１６０５）をさらに含む。
【００３２】
また、第１の処理手段は、アナログ操作手段の操作量を累積的に計量する計量手段（Ｓ３９０５）を含み、第２の処理手段は、計量手段によって計量された量に応じて処理の大きさを変化させる（Ｓ３９０７）。
【００３３】
或る実施例では、第１の処理手段は、アナログ操作手段の操作速度を算出する操作速度算出手段（Ｓ３７０５）を含み、第２の処理手段は、ディジタルスイッチのオン操作前における操作速度算出手段によって算出された操作速度に応じて処理の大きさを変化させる（Ｓ３７０７）。
【００３４】
他の実施例では、第１の処理手段は、ディジタルスイッチのオン操作前のアナログ操作手段の操作位置を記憶する処理（Ｓ２４０１）を行い、第２の処理手段は、第１の処理手段が記憶したアナログ操作手段の操作位置に応じて処理の内容を変化させる（Ｓ２４０９，Ｓ２４１０）。
【００３５】
別の実施例では、第１の処理手段は、キャラクタの所定の動作を連続的に表示する処理（Ｓ２９０３）を行うものであり、第２の処理手段は、所定の動作に連係する次動作をキャラクタに行わせる処理（Ｓ２９０２）をする。
【００３６】
この場合、第１の処理手段は、アナログ操作手段の操作量に応じて、所定の動作を連続的に表示する（Ｓ２９０３）。
【００３７】
実施例においては、操作手段は、キャラクタの移動を指示するための移動用操作手段（１１２）をさらに含み、処理手段（２）は、移動用操作手段の操作情報に基づいてキャラクタの移動を制御する移動制御手段（Ｓ２９０４）をさらに含み、移動制御手段は、第１の処理手段が所定の動作の途中状態の表示を行っているときは、キャラクタの移動量を抑制する（Ｓ３４０４）。
【００３８】
上述の処理手段は、プレイヤによって操作されないノンプレイヤキャラクタを制御するノンプレイヤキャラクタ制御手段（Ｓ３５０１，Ｓ３５０２）をさらに含み、第２の処理手段による次動作は、ノンプレイヤキャラクタに影響を与える動作であり、ノンプレイヤキャラクタ制御手段は、第１の処理手段による所定の動作の途中状態の表示に対応してノンプレイヤキャラクタを表示させる（Ｓ３５０４）。
【００３９】
この発明の或る局面では、情報処理装置（２）は、操作手段（１）、操作手段からの操作情報に基づいて処理を行う処理手段（２１）、および処理手段によって作成された画像データを画像信号として表示手段に出力する画像信号出力手段（２２）を備え、操作手段は、アナログ操作手段（１０９１〜１０９６；１０３３、１０３６）およびアナログ操作手段の操作量が最大となったときにオンとなるように配置されるディジタルスイッチ（１０９８；１０３４，１０３５ａ，１０３５ｂ）を含み、処理手段は、ディジタルスイッチがオンである第１の状態、アナログ操作手段の操作量が０である第２の状態、または、ディジタルスイッチがオフでありかつアナログ操作手段の操作量が０でない第３の状態のいずれかを検出する状態検出手段（Ｓ２４０１；Ｓ２７０１）を含み、状態検出手段の出力に応じて異なった処理（Ｓ２４０８〜Ｓ２４１０，Ｓ２７１０）を行う。
【００４０】
この場合、処理手段は、状態検出手段の検出出力の履歴が所定のパターンになったときに、所定の処理（Ｓ２７０８，Ｓ２７０９）を実行する。
【００４１】
この発明に従った情報記憶媒体は、アナログ操作手段（１０９１〜１０９６；１０３３，１０３６）およびアナログ操作手段の操作に関連してオンとなるように配置されるディジタルスイッチ（１０９８；１０３４，１０３５ａ，１０３５ｂ）を含む操作手段、操作手段からの操作情報に基づいて処理を行う処理手段（２１）、および処理手段によって作成された画像データを画像信号として表示手段に出力する画像信号出力手段（２２）を備える情報処理装置に用いられる情報記憶媒体（４）であり、アナログ操作手段の操作情報に基づく第１の処理を行うための第１のプログラム（Ｓ１８０７；Ｓ２５０４，Ｓ２５０５，；Ｓ２９０３；Ｓ３７０２；Ｓ３９０２〜Ｓ３９０６）、およびディジタルスイッチのオンオフ情報に基づいて第１の処理に関連した第２の処理を行うための第２のプログラム（Ｓ１８０３，Ｓ１８０５；Ｓ２５０２，Ｓ２４０９，Ｓ２４１０；Ｓ２９０２；Ｓ３７０４〜Ｓ３７０８；Ｓ３９０７）を記憶する。    
【００４２】
この発明に従ったプログラムは、アナログ操作手段（１０９１〜１０９６；１０３３，１０３６）およびアナログ操作手段の操作に関連してオンとなるように配置されるディジタルスイッチ（１０９８；１０３４，１０３５ａ，１０３５ｂ）を含む操作手段、操作手段からの操作情報に基づいて処理を行う処理手段（２１）、および処理手段によって作成された画像データを画像信号として表示手段に出力する画像信号出力手段（２２）を備える情報処理装置によって実行されるプログラムであり、アナログ操作手段の操作情報に基づく第１の処理を行うための第１のプログラム（Ｓ１８０７；Ｓ２５０４，Ｓ２５０５，；Ｓ２９０３；Ｓ３７０２；Ｓ３９０２〜Ｓ３９０６）、およびディジタルスイッチのオンオフ情報に基づいて第１の処理に関連した第２の処理を行うための第２のプログラム（Ｓ１８０３，Ｓ１８０５；Ｓ２５０２，Ｓ２４０９，Ｓ２４１０；Ｓ２９０２；Ｓ３７０４〜Ｓ３７０８；Ｓ３９０７）を含む。
【００４３】
この発明に従ったゲーム機用操作装置（１）は、ゲームに登場するキャラクタの動作を指示するために用いられ、ハウジング（１００），メインスイッチ（１０３），およびサブスイッチ（１０４，１０５，１０６）を備える。メインスイッチ（１０３）は、ハウジング（１００）の一方主面上における一方側面近傍であって、ハウジングを把持する一方の手の親指の近傍位置に配置される。サブスイッチ（１０４，１０５，１０６）は、メインスイッチ（１０３）の下部領域を除きかつ親指の移動可能な範囲の領域に、メインスイッチの周囲に分散して複数個配置される。また、サブスイッチ（１０４，１０５，１０６）は、メインスイッチ（１０３）の上部領域に配置される第１のサブスイッチ（１０６）と、メインスイッチの左側領域に配置される第２のサブスイッチ（１０４）と、メインスイッチの右側領域に配置される第３のサブスイッチ（１０５）を含んで構成され、それぞれがメインスイッチの形状よりも小さな形状とされる。
【００４４】
なお、本発明の説明において、操作スイッチの「形状」とは、操作スイッチのキートップを上方から見たときの形状を意味している。
【００４５】
上述のゲーム機用操作装置によれば、プレイヤがハウジングを把持したときの一方の手の親指の位置に比較的大きな操作スイッチ（メインスイッチ）が配置されるので、プレイヤは正確に無理なくこのスイッチを操作することができる。また、メインスイッチの周囲には、複数のサブスイッチが配置される。サブスイッチはメインスイッチよりも小さな形状に選ばれ、メインスイッチとサブスイッチ間の距離を小さくすることができるので、連続押しや同時押しを簡単に行うことができる。さらに、サブスイッチは、メインスイッチの下方には配置されないので、プレイヤがメインスイッチを押すときにサブスイッチが邪魔になることがなく、より一層メインスイッチの操作感を向上させることができる。
【００４６】
好ましい実施例では、上述のメインスイッチ（１０３）は、形状が円形に形成され、サブスイッチ（１０４，１０５，１０６）は、メインスイッチ（１０３）を中心として同心円上に配置される。この実施例によれば、プレイヤがメインスイッチとサブスイッチの配置関係を把握しやすく、誤操作を少なくすることができる。
【００４７】
また、第１のサブスイッチ（１０６）は、好ましくは、メインスイッチ（１０３）の中心を通るハウジング（１００）の縦方向の軸（５１）をハウジング（１００）の中心方向に所定角度だけ傾けた第１の軸（５２）上に配置される。
【００４８】
通常、プレイヤは前腕が内側を向いた状態（両腕の前腕がハの字状になる状態）でゲーム機用操作装置のハウジングを把持する。このとき、ゲーム機用操作装置のハウジングを把持する親指も前腕と同様内側を向いている。上述の実施例によれば、ハウジングの縦方向の軸をハウジングの中心方向に所定角度だけ傾けた軸上にメインスイッチとサブスイッチが配置され、標準の位置であるメインスイッチの位置から親指を自然に延ばした方向に第１サブスイッチが配置されるので、メインスイッチとサブスイッチ間の連続押しや同時押しがやり易い。
【００４９】
なお、メインスイッチがハウジングの右方側面近傍に配置される場合には、第１のサブスイッチはハウジングの縦方向の軸を反時計方向に所定角度だけ傾けた軸上に配置され、メインスイッチがハウジングの左方側面近傍に配置される場合には、ハウジングの縦方向の軸を時計方向に所定角度だけ傾けた軸上に配置される。
【００５０】
上述の実施例において、第２のサブスイッチ（１０４）と第３のサブスイッチ（１０５）は、一例として、第１の軸（５２）に対して対称な位置に配置される。この例では、プレイヤが第２のサブスイッチと第３のサブスイッチの配置関係を把握しやすく、誤操作を少なくすることができる。
【００５１】
この発明に従った他のゲーム機用操作装置は、ハウジング（１００），メインスイッチ（１０３），および第１のサブスイッチ（１０６）を備える。メインスイッチ（１０３）は、ハウジングの一方主面上における一方側面近傍であって、ハウジングを把持する一方の手の親指の近傍位置に配置される。第１のサブスイッチ（１０６）は、メインスイッチ（１０３）の上部領域であり、かつメインスイッチ（１０３）の中心を通るハウジングの縦方向の軸（５１）をハウジングの中心方向に傾けた第１の軸（５２）上に配置され、メインスイッチの形状よりも小さな形状をしている。
【００５２】
このゲーム機用操作装置によれば、プレイヤがハウジングを把持したときの一方の手の親指の位置に比較的大きな操作スイッチ（メインスイッチ）が配置されるので、プレイヤは正確に無理なくこのスイッチを操作することができる。また、標準の位置であるメインスイッチの位置から親指を自然に延ばした方向に第１サブスイッチが配置されるので、メインスイッチとサブスイッチ間の連続押しや同時押しがやり易い。
【００５３】
なお、ハウジング（１００）は、メインスイッチ（１０３）の下部領域から第１の軸（５２）に略平行な方向に突出し、かつプレイヤの一方の手のひらで握り締められる形状をしたグリップ（１０１）をさらに備える。この実施例によれば、プレイヤがハウジングを把持する角度を、メインスイッチおよびサブスイッチの配置関係と自然に同調させることができるので、上で述べた操作スイッチの配置関係による効果が発揮されやすい。
【００５４】
また、上述の第１のサブスイッチ（１０６）は、好ましい実施例では、そのキートップがメインスイッチ（１０３）のキートップよりも高く形成される。
【００５５】
この好ましい実施例によれば、第１のサブスイッチのキートップが高く設計されるので、標準の位置であるメインスイッチの位置から親指を伸ばして第１のサブスイッチを操作する場合に、親指を伸ばす量が少なくなって簡単に操作をすることができ、また、親指の腹をメインスイッチの上に載せて親指の先を第１のサブスイッチの上に載せるようにすると操作感がよい、さらに、第１のサブスイッチのみを操作する場合に、メインスイッチを誤って押してしまうことがない。
【００５６】
また、第２のサブスイッチ（１０４）または第３のサブスイッチ（１０５）のうちメインスイッチ（１０３）よりハウジングの中心側に配置されるサブスイッチは、そのキートップがメインスイッチ（１０３）のキートップよりも低く形成される。ただし、メインスイッチがハウジングの右方側面近傍に配置される場合には、第２のサブスイッチのキートップがメインスイッチのキートップより低く形成され、メインスイッチがハウジングの左方側面近傍に配置される場合には、第３のサブスイッチのキートップがメインスイッチのキートップより低く形成される。
【００５７】
この実施例によれば、メインスイッチを操作するときに、第２のまたは第３のサブスイッチが邪魔にならず、また、第２または第３のサブスイッチを操作するときに、メインスイッチから左右方向に親指を移動させたときに自然に第２または第３のサブスイッチのキートップに親指が載る操作感覚が得られる。さらには、メインスイッチと第２または第３のサブスイッチを指先の感覚で区別することができるので誤操作を避けることができる。
【００５８】
なお、サブスイッチ（１０４，１０５，１０６）は、メインスイッチ（１０３）の形状の外周に沿って延伸した形状に形成してもよい。この場合には、サブスイッチのキートップの表面積を大きくすることができ、かつ、メインスイッチとサブスイッチの間隔を小さくすることができる。
【００５９】
上述のゲーム機用操作装置は、具体的には、ハウジング（１００）の一方主面上における他方側面近傍であって、ハウジングを把持する他方の手の親指の位置の近傍に配置され、かつゲームに登場するキャラクタの移動方向を指示する方向指示操作部をさらに備える。この具体例によれば、キャラクタの動作内容と動作方向を独立して指示することができるので、キャラクタの操作に多様性を持たせゲームの興趣性を高めることができる。
【００６０】
この発明のその他の目的，特徴および利点は、添付図面に関連して行われる以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００６１】
【図１】この発明の一実施例のゲーム機システムを示す外観図である。
【図２】この実施例のコントローラを示す６面図である。
【図３】メインスイッチの周囲に配置されるサブスイッチの位置を示す図解図である。
【図４】サブスイッチの形状をメインスイッチの平面形状の外周に沿って延伸した形状にする場合の効果を示す図解図である。
【図５】コントローラの操作状態の一例を示す図解図である。
【図６】コントローラの操作状態の他の例を示す図解図である。
【図７】コントローラの操作状態のさらに他の例を示す図解図である。
【図８】メインスイッチおよびサブスイッチの変形例を示す図解図である。
【図９】傾いた軸上にメインスイッチとサブスイッチが配置されることを示す図解図である。
【図１０】メインスイッチとサブスイッチのキートップの高さの違いを示す図解図である。
【図１１】Ｙボタンの傾きを示す図解図である。
【図１２】この発明の変形例を示す図解である。
【図１３】Ｒスイッチの構造を示す図解図である。
【図１４】Ｒスイッチの操作状態（開放）を示す断面図解図である。
【図１５】Ｒスイッチの操作状態（半押し）を示す断面図解図である。
【図１６】Ｒスイッチの操作状態（全押し）を示す断面図解図である。
【図１７】Ｒスイッチの操作の移行状態を示す図解図である。
【図１８】Ｒスイッチのディジタルスイッチを示す図解図である。
【図１９】Ａボタンを示す図解図である。
【図２０】図１実施例のゲーム機システムを示すブロック図である。
【図２１】コントローラの操作データのフォーマットを示す図解図である。
【図２２】この発明の一実施例であるレースゲームにおける動作を示すフローチャート（メインルーチン）である。
【図２３】レースゲームにおけるディジタルボタン定義処理の動作を示すフローチャートである。
【図２４】レースゲームにおけるスタート処理の動作を示すフローチャートである。
【図２５】レースゲームにおける速度変更処理の動作を示すフローチャートである。
【図２６】レースゲームにおける衝突処理の動作を示すフローチャートである。
【図２７】レースゲームにおける攻撃処理の動作を示すフローチャートである。
【図２８】レースゲームにおけるターボ処理の動作を示すフローチャートである。
【図２９】このレースゲームにおけるブレーキ処理の動作を示すフローチャートである。
【図３０】この発明の他の実施例であるボクシングゲームの動作を示すフローチャート（メインルーチン）である。
【図３１】ボクシングゲームにおける攻撃処理の動作を示すフローチャートである。
【図３２】ボクシングゲームにおけるＲスイッチ状態検出処理の動作を示すフローチャートである。
【図３３】この発明の他の実施例である格闘ゲームの動作を示すフローチャート（メインルーチン）である。
【図３４】格闘ゲームにおける技処理の動作を示すフローチャートである。
【図３５】格闘ゲームに用いられる技パターンテーブルを示す図解図である。
【図３６】この発明の他の実施例である銃ゲームの動作を示すフローチャート（メインルーチン）である。
【図３７】銃ゲームにおける銃発射処理の動作を示すフローチャートである。
【図３８】銃ゲームにおける銃構え処理の動作を示すフローチャートである。
【図３９】銃ゲームにおける画像例を示す図解図である。
【図４０】銃ゲームにおける他の画像例を示す図解図である。
【図４１】銃ゲームにおける移動処理の動作を示すフローチャートである。
【図４２】銃ゲームにおける敵処理の動作を示すフローチャートである。
【図４３】この発明の他の実施例であるゴルフゲームの動作を示すフローチャート（メインルーチン）である。
【図４４】ゴルフゲームにおけるボール処理の動作を示すフローチャートである。
【図４５】この発明のその他の実施例であるシューティングゲームの動作を示すフローチャート（メインルーチン）である。
【図４６】シューティングゲームにおける攻撃処理の動作を示すフローチャートである。
【図４７】従来のゲーム機用操作装置を示す図解図である。
【発明を実施するための形態】
【００６２】
図１はこの発明の一実施例のゲーム機システムの外観図である。この発明のゲーム機システムは、ゲーム機用操作装置であるコントローラ１，情報処理装置の一例であるゲーム機本体２，テレビジョン受信機３，およびゲームディスク４を含む。コントローラ１は、ゲーム機本体２とケーブルによって、またはワイヤレス（電波、赤外線等）で結合され、コントローラ１とゲーム機本体２との間で相互にデータの送受信が可能となっている。ゲーム機本体２は、コントローラ１からの操作データに基づいてゲームプログラムを実行し、ビデオ信号およびオーディオ信号を出力するビデオゲーム機である。テレビジョン受信機３は、ゲーム機本体２から出力されるビデオ信号およびオーディオ信号に基づいて画像および音声を発生するものである。ゲームディスク４は情報記憶媒体であり、このゲームディスク４には、上述のゲームプログラムを含むプログラムデータ，画像データおよび音声データが予め記憶されており、たとえば、ＤＶＤ，ＣＤ―ＲＯＭ，磁気ディスク等である。
【００６３】
なお、図１においては、コントローラは１つのみ示しているが、複数のプレイヤによって１つのゲームをブレイできるように、複数のコントローラをゲーム機本体２に接続することも可能である。また、この発明はビデオゲーム機のみならず、携帯型ゲーム機に適用可能なことは言うまでもない。
【００６４】
図２はコントローラ１の６面図である。図２（ａ）は平面図、図２（ｂ）は左側面図、図２（ｃ）は正面図、図２（ｄ）は右側面図、図２（ｅ）は底面図、そして図２（ｆ）は背面図である。コントローラ１はハウジング１００を含む。ハウジング１００の左右の下部にはグリップ１０１およびグリップ１０２が形成される。グリップ１０１およびグリップ１０２は、それぞれプレイヤの右手または左手の中指，薬指および小指で握り込むようにして把持される。
【００６５】
ハウジング１００の一方主面（図２（ｃ）で示される面）の右側面近傍には、Ａボタン１０３，Ｂボタン１０４，Ｘボタン１０５およびＹボタン１０６が配設される。Ａボタン１０３はメインスイッチとして機能し、Ｂボタン１０４，Ｘボタン１０５，Ｙボタン１０６はサブスイッチとして機能する。これらの操作スイッチは右手親指で操作され、主にゲームのキャラクタ（主人公等）の動作を指示するために使用される。
【００６６】
ハウジング１００の一方主面（図２（ｃ）で示される面）の左側面近傍には、メインアナログジョイスティック１１２が配設される。この操作スイッチは左手親指で操作され、主にゲームのキャラクタ（主人公等）の動作方向や移動方向を指示するために使用される。
【００６７】
なお、動作を指示するための操作スイッチ群１０３，１０４，１０５，１０６および動作方向を指示するための操作スイッチ１１２の配置位置は左右逆にしてもよい。
【００６８】
グリップ１０１の左横（スイッチ１０３の斜め左下）に右突起部１０７が形成される。右突起部１０７は、右手親指をＡボタン１０３から左にスライドさせた位置に設けられるサブアナログジョイスティック１０８を備える。グリップ１０２の右横（メインアナログジョイスティック１１２の斜め右下）に左突起部１１３が形成される。左突起部１１３は、左手親指をメインアナログジョイスティック１１２から右にスライドさせた位置に設けられる十字ボタン１１４を備える。十字ボタン１１４は、たとえば、上，下，右および左の４方向を指示可能とする十字形のキートップ，および各々が４方向の各々に対応する４つのディジタルスイッチを備える。サブアナログジョイスティック１０８および十字ボタン１１４は、主にゲームのキャラクタ（主人公等）の動作ないし移動方向を指示するために使用される。
【００６９】
また、動作を指示するための操作スイッチ群１０３，１０４，１０５，１０６の上部に位置するハウジング１００の側面には、Ｒスイッチ１０９が配設される。このＲスイッチ１０９は、プレイヤの右手人指し指によって操作されるものであり、ゲームプログラムの内容によって異なるが、「アクセル」または「パンチ」等、主にキャラクタの移動方向の指示以外の動作の指示を行うために用いられる。さらに、Ｒスイッチ１０９の近傍にＺボタン１１１が配設される。
【００７０】
また、メインアナログジョイスティック１１２の上部に位置するハウジング１００の側面には、Ｌスイッチ１１５が形成される。このＬスイッチ１１５は、プレイヤの左手人指し指によって操作されるものであり、前述のＲスイッチ１０９と同種のスイッチである。
【００７１】
コントローラ１すなわちハウジング１００のほぼ中央部（Ａボタン１０３とメインアナログジョイスティック１１２の中間部）に、右手の親指と左手の親指のどちらでも操作可能な位置に、スタートスイッチ１１６が形成される。スタートスイッチ１１６は、ディジタルスイッチである。
【００７２】
次に、この発明の１つの特徴である、動作を指示するための操作スイッチ群１０３，１０４，１０５および１０６について以下に詳述する。Ａボタン１０３は、これらの操作スイッチ群の略中央に配設されサイズが大きく設計される。また、Ａボタンは、平均的なプレイヤがグリップ１０１を右手で把持したときの右手親指の近傍位置に配設するのが好ましい。Ａボタン１０３は、操作がしやすいので、使用頻度が高いボタンとして割り当てられるのが好ましい。
【００７３】
Ａボタン１０３の左横にはＢボタン１０４、右横にはＸボタン１０５、そして上部にはＹボタン１０６が配設される。このように、サブスイッチ１０４−１０６は、メインスイッチであるＡボタン１０３の周囲に分散して配設されるため、メインスイッチから左右または上方に少しずらすのみで操作が可能であるので操作性が高い。
【００７４】
また、右手親指でＡボタン１０３を押すときに邪魔にならないように、Ａボタン１０３の下方（Ａボタン１０３から親指の付け根方向部分）には、サブスイッチが設けられていない。これにより、頻繁に使用するＡボタン１０３を操作するときに間違って他のスイッチを押すことを防ぐことができる。
【００７５】
好ましくは、サブスイッチ（Ｂボタン１０４、Ｘボタン１０５およびＹボタン１０６）はＡボタン１０３を中心とした同心円上に設けられる（図３（ａ））。これにより、各サブスイッチ１０４−１０６は、メインスイッチから等しい距離に配設されるため、プレイヤはサブスイッチの位置を感覚的に把握しやすい。なお、各サブスイッチは、その外縁部が同心円上に位置するようにしてもよいし、中心部が同心円上に位置するようにしてもよい。
【００７６】
各サブスイッチの大きさが異なる場合、たとえば、図３（ｂ）に示すように、あるサブスイッチ（たとえば、Ｂボタン１０４）が、他のサブスイッチ（たとえば、Ｘボタン１０５およびＹボタン１０６）と比べてサイズが大きい場合には、そのサブスイッチ（Ｂボタン１０４）をメインスイッチ１０３から離れるように配置してもよい。このようにすることによって、比較的大きなサイズのサブスイッチとメインスイッチとの間の距離を確保して、誤操作を防ぐことができる。
【００７７】
また、サブスイッチは、円弧方向に偏平な形状（Ａボタンの形状の外周に沿って延伸した形状、たとえば、この実施例のようなエンドウ豆形）とするのが望ましい。これによって、メインスイッチと各サブスイッチとの距離が短くできるため、同時押しや連続押しがやりやすく、かつ、誤操作が少ない。以下にその理由を述べる。
【００７８】
図４は延伸形状のサブスイッチと円形のサブスイッチとを比較した図解図である。ここで、実線で示す延伸形状のサブスイッチ１０６の中心（重心）をＣ１とし、メインスイッチに近い端点をＴ１とする。また、２点鎖線で示す円形のサブスイッチ１０６ｂの中心（重心）をＣ２とし、メインスイッチ１０３に近い端点をＴ２とする。また、メインスイッチ１０３の中心をＣ３とし、サブスイッチに近い端点をＴ３とする。なお、延伸形状のサブスイッチ１０６と円形のサブスイッチ１０６ｂの表面積は同等とする。
【００７９】
同時押しや連続押しをやり易くするためには、各操作スイッチ間の距離（正確には、各操作スイッチの中心間の距離）が近い方がやりやすい。図４（ａ）を参照して、端点Ｔ１およびＴ２を同じ位置とした場合、延伸形状のサブスイッチ１０６の中心Ｃ１とメインスイッチ１０３の中心Ｃ３との間の距離Ｌ１は、円形のサブスイッチ１０６ｂの中心Ｃ２とメインスイッチ１０３の中心Ｃ３との間の距離Ｌ２に比べて短い（Ｌ１＜Ｌ２）。すなわち、サブスイッチを延伸した形状とすることにより、メインスイッチとの中心間の距離が小さくなって、メインスイッチとサブスイッチの同時押しや連続押しが容易となる。
【００８０】
一方、各操作スイッチを単独で押下する場合には、各操作スイッチ間の距離（正確には、各操作スイッチの外縁間の距離）は或る程度離れている方が誤操作が少ない。図４（ｂ）を参照して、中心Ｃ１およびＣ２を同じ位置とした場合、延伸形状のサブスイッチ１０６の端点Ｔ１とメインスイッチ１０３の端点Ｔ３との間の距離Ｌ４は、円形のサブスイッチ１０６ｂの端点Ｔ２とメインスイッチ１０３の端点Ｔ３との間の距離Ｌ３に比べて長い（Ｌ３＜Ｌ４）。すなわち、サブスイッチを延伸した形状とすることにより、メインスイッチとの外縁間の距離が離れることになって、誤操作が少なくなる。
【００８１】
Ａボタン１０３を右手親指で押下する場合が図５（ａ）に示される。Ａボタン１０３およびＸボタン１０５を同時に押下する場合が図５（ｂ）に示される。同様に、Ａボタン１０３およびＢボタン１０４を同時に押下する場合が図５（ｃ）に示され、Ａボタン１０３およびＹボタン１０６を同時に押下する場合が図５（ｄ）に示される。さらに、Ａボタン１０３，Ｘボタン１０５およびＹボタン１０６を３個同時に押下する場合が図６（ａ）に示される。Ａボタン１０３，Ｂボタン１０４およびＹボタン１０６を３個同時に押下する場合が図６（ｂ）に示される。これらからわかるように、Ａボタン１０３は操作がやり易く、Ａボタン１０３と各サブスイッチの同時押しが容易である（連続押しも同様）。
【００８２】
なお、図７（ａ）は右手でメインスイッチ１０３を操作しかつ左手でメインアナログジョイスティック１１２を操作する場合を示し、図７（ｂ）は右手でサブアナログジョイスティック１０８を操作しかつ左手で十字キー１１４を操作する場合を示し、図７（ｃ）は右手でサブアナログジョイスティック１０８を操作しかつ左手でメインアナログジョイスティック１１２を操作する場合を示し、そして図７（ｄ）は右手でメインスイッチ１０３を操作しかつ左手で十字キー１１４を操作する場合をす。
【００８３】
また、図８（ａ）に示すように四角形状のメインスイッチ１０３ａの周辺に長方形状のサブスイッチ１０４ａ，１０５ａ，１０６ａを配置するようにしてもよい。また、サブスイッチはＡボタンの形状の外周に沿って延伸した形状でなくても、図８（ｂ）に示すように、単なる円形の形状１０４ｂであってもよい。ただし、この場合には、図４を参照して説明したような効果は期待できない。
【００８４】
図９を参照して、各操作スイッチの配置関係を傾けることについて説明する。Ｙボタン１０６はＡボタン１０３の上方に配設するが、Ａボタン１０３の中心を通るハウジングの縦方向軸（軸５１）を反時計方向に所定角度だけ傾けた第１の軸（軸５２）上に配置される。なお、ハウジングの縦方向軸（軸５１）は、横長形状のハウジングにおいて、長手方向を横方向軸（軸５４）としたときに、これに直交する方向の軸である。
【００８５】
ここで、第１の軸（軸５２）はプレイヤがハウジング１００を把持するときに自然に親指が向く方向に選ぶのが望ましい。プレイヤがハウジング１００を把持すると、親指は内側方向を向く。そこで、第１の軸（軸５２）は縦方向軸（軸５１）を反時計方向に所定角度だけ傾けた軸とする。なお、動作を指示するための操作スイッチ群１０３，１０４，１０５，１０６がハウジング１００の左側領域に設けられる場合には、第１の軸（軸５２）は縦方向軸（軸５１）を時計方向に傾けた軸とする。
【００８６】
これによって、親指を自然に伸ばした位置にＹボタン１０６が配設されることとなり、Ｙボタンを操作するときに、親指に無理な力がかからなくなり、操作しやすくなる。
【００８７】
Ｂボタン１０４およびＸボタン１０５は、Ａボタン１０３の中心を通り第１の軸（軸５２）に直交する軸（軸５３）上に配置される。なお、Ｂボタン１０４およびＸボタン１０５は第１の軸に直交する軸（軸５３）よりも上方または下方に配置してもよいが、下方に配置する場合にはＡボタン１０３を操作する親指の邪魔にならない位置とされる。また、Ｂボタン１０４およびＸボタン１０５は、第１の軸（軸５２）に対して対称な位置に配置するのが望ましい。
【００８８】
これによって、プレイヤがハウジングを把持したときに自然に親指が向く方向を基準として左または右方向に親指を動かすことによりＢボタン１０４およびＸボタン１０５を操作できるので操作性がよい。
【００８９】
グリップ１０１および１０２は第１の軸５２と略平行な方向に突出するのが好ましい。こうすることによって、プレイヤの親指が自然に第１の軸方向に向けられる。ただし、グリップ１０１および１０２が第１の軸５２と略平行な方向に突出しない場合（たとえば、ハウジング１００の縦方向軸５１に略平行な方向に突出するような場合）であっても、親指の方向を自然に第１の軸５１方向に向けることができればよいので、グリップ１０１および１０２の突出方向は第１の軸５２と略平行な方向である必要はない。
【００９０】
図１０はコントローラ１の右手の操作領域（図２（ｅ）におけるＡ領域）の拡大図である。Ａボタン１０３よりハウジングの上部に配置されるＹボタン１０６のキートップは、Ａボタン１０３のキートップより高く設計される。すなわち、親指から遠い位置にある操作スイッチ（Ｙボタン１０６）のキートップを高くすることによって、親指からキートップまでの距離が短くなり操作性がよい。このとき、Ｙボタン１０６のキートップは、ハウジングの上部方向からハウジングの下部方向にかけて次第に低くなるような形状にしてもよい（図２（ｄ）におけるＢ領域の拡大図である図１１を参照）。
【００９１】
また、Ａボタン１０３の左部に配置されるＢボタン１０４のキートップは、Ａボタン１０３のキートップより低く設計される。こうすることによって、親指をＡボタンから左方向に回転させたときに自然にＢボタン１０４のキートップに親指が載る操作感覚が得られる。
【００９２】
なお、上述の実施例におけるキー配置や構造は、図１２（ａ）に示すグリップのないコントローラにも適用でき、さらには図１２（ｂ）に示す携帯型ゲーム装置にも適用できる。
【００９３】
上で説明したＡボタン１０３およびＢボタン１０４は、ディジタルスイッチとしての機能と、アナログスイッチとしての機能とを有する。アナログスイッチの機能とは、可変抵抗または可変コンデンサ等の原理により、押し込む深さ（または力）に比例して、たとえば０〜２５５の数値で表される８ビットのディジタルデータを出力する機能のことである。ディジタルスイッチの機能とは、スイッチのオンまたはオフを検出し、１ビットのディジタルデータを出力する機能のことである。なお、以下の説明において、Ａボタン１０３のディジタル出力を「Ａボタン１０３（ディジタル）」と記述し、Ａボタン１０３のアナログ出力を「Ａボタン１０３（アナログ）」と記述する（Ｂボタンについても同様である）。なお、Ａボタン１０３およびＢボタン１０４の検出機構は図１９を参照して後述する。
【００９４】
また、Ｘボタン１０５，Ｙボタン１０６およびＺボタン１１はディジタルスイッチであり、Ｒスイッチ１０９およびＬスイッチ１１５は、Ａボタン１０３およびＢボタン１０４と同様に、ディジタルスイッチとしての機能と、アナログスイッチとしての機能とを有する。ただし、Ｒスイッチ１０９およびＬスイッチ１１５の検出機構は、Ａボタン１０３およびＢボタン１０４の検出機構とは異なる。Ｒスイッチ１０９およびＬスイッチ１１５の検出機構は、図１３から図１８を参照して後述する。なお、以下の説明において、Ｒスイッチ１０９のディジタル出力を「Ｒスイッチ１０９（ディジタル）」と記述し、Ｒスイッチ１０９のアナログ出力を「Ｒスイッチ１０９（アナログ）」と記述する（Ｌスイッチ１１５についても同様である）。
【００９５】
さらに、図２（ｃ）において点線で示すように、コントローラ１のハウジング１００の内部には振動モータ１１７および揺動センサ１１８が内蔵されている。振動モータ１１７は、偏心した錘が取り付けられたモータであり、ゲーム機本体２からのコマンドに従って回転して振動を発生し、コントローラ１を把持するプレイヤに振動を感じさせるものである。
【００９６】
揺動センサ１１８は、歩数計で使用されるような衝撃センサが使用され、コントローラ１に一定以上の衝撃が与えられたときに「１」を出力し、そうでない場合には「０」を出力するものである。揺動センサ１１８の出力を利用するゲームとしては、プレイヤが意図的にコントローラ１に与えた衝撃を利用するようなゲーム（コントローラを揺さぶることによってゲーム中のオブジェクトが揺れる等）であってもよいし、プレイヤが意図しないでコントローラ１に与えた衝撃（たとえば、ゲームに熱中する余りコントローラを激しく動かす場合や、ゲーム画面に驚いてコントローラを動かしてしまう場合等）を利用するようなゲームであってもよい。
【００９７】
次に、図１３−図１８を参照して、Ｒスイッチ１０９の機構を説明する（Ｌスイッチ１１５も同様の機構である）。図１３はＲスイッチ１０９の外観図であり、図１４−図１６は断面図である。図１３を参照して、Ｒスイッチ１０９は、操作部１０９１，ばね１０９２，操作部台１０９３，連結部１０９４，スライド棒１０９５，ガイド１０９６，ストッパ１０９７，ディジタルスイッチ１０９８，ディジタルスイッチ台１０９９，および台座１１００により構成され、コントローラ1の基板１１０１に固着される。
【００９８】
操作部１０９１，ばね１０９２および操作部台１０９３によって、操作部１０９１が上下に移動する機構が実現される。操作部１０９１は、プレイヤの指が接触する部品であり、図１４に示すように内部に円筒部１０９１ａを有する。操作部台１０９３は、図１４に示すように、内部が空洞の円筒部１０９３ａと台座部１０９３ｂによって構成される。操作部１０９１の円筒部１０９１ａは、操作部台１０９３の円筒部１０９３ａの空洞部に挿入され、空洞部に沿って上下に移動可能である。操作部台１０９３の円筒部１０９３ａの周囲にはばね１０９２が配置される。ばね１０９２は操作部１０９１を支持するが、プレイヤが操作部１０９１を押下すると、ばね１０９２は圧縮され、操作部１０９１は弾性力による抵抗を有しながら下方に移動する。
【００９９】
連結部１０９４，スライド棒１０９５およびガイド１０９６によって、操作部１０９１の位置に応じて変動する可変抵抗機構が実現される。連結部１０９４の一方先端は操作部１０９１の側面に固着され、操作部１０９１の移動に連動して移動する。連結部１０９４の他方先端にはスライド棒１０９５が固着される。スライド棒１０９５は、基板１１０１に固着されるガイド１０９６に挿入され、ガイド１０９４に沿って、連結部１０９４の移動に連動して移動する。スライド棒１０９５の移動によって可変抵抗の抵抗値が変化し、スライド棒１０９５の位置に応じたアナログ値が出力される。
【０１００】
操作部台１０９３の下にはディジタルスイッチ１０９８が配置される。また、操作部台１０９３の側面には操作部１０９１の下方向への移動を制限するためのストッパ１０９７が固着される。ディジタルスイッチ１０９８はディジタルスイッチ台１０９９に固着される。操作部台１０９３，ストッパ１０９７およびディジタルスイッチ台１０９９は、台座１１００に固着される。台座１１００は基板１１０１に固着される。
【０１０１】
Ｒスイッチ１０９が最大押下状態となり、操作部１０９１が最大下方へ移動した場合に操作部１０９１の円筒部１０９１ａの先端１０９１ｂがディジタルスイッチ１０９８をオンにするが、これを、図１４から図１６を参照して詳細に説明する。図１４から図１６は、Ｒスイッチ１０９の断面図である。図１４は、Ｒスイッチ１０９がプレイヤによって操作されていない状態を示す図解図である。この状態においては、操作部１０９１は、ばね１０９２によって支持されて、上方に位置する。操作部１０９１の円筒部１０９１ａの先端１０９１ｂは、操作部台１０９３の円筒部１０９３ａ内の空洞の中間部に位置している。
【０１０２】
図１５は、プレイヤがＲスイッチ１０９を押下した状態を示す図解図である。操作部１０９１は、ばね１０９２を押し込んで圧縮させる。操作部１０９１の円筒部１０９１ａの先端１０９１ｂは、図１４に示す状態より下方に位置するが、ディジタルスイッチ１０９８に接触するまでは至っていない。また、操作部１０９１の外側部の先端１０９１ｃとストッパ１０９７との間には空隙がある。
【０１０３】
図１６は、プレイヤがＲスイッチ１０９を完全に押し込んだ状態を示す図解図である。操作部１０９１は、ばね１０９２をさらに押し込んで圧縮させ、最大下方に位置する。このとき、操作部１０９１の外側部の先端１０９１ｃは、ストッパ１０９７に接触し、操作部１０９１はこれ以上下方に移動しないように制限される。また、操作部１０９１の円筒部１０９１ａの先端部１０９１ｂは、ディジタルスイッチ１０９８に接触して押下し、ディジタルスイッチ１０９８がオン状態となる。
【０１０４】
このようにして、Ｒスイッチ１０９は、まずアナログスイッチとして機能する。具体的には、Ｒスイッチ１０９を操作したときに操作部１０９１が移動し、操作部１０９１の位置に応じたアナログ値が出力される。そして、Ｒスイッチ１０９を完全に押し込んだときに、ディジタルスイッチ１０９８が連動的にオン状態となって、ディジタル値を出力する。
【０１０５】
図１７は、Ｒスイッチ１０９の操作の移行状態を示す図解図である。図１７（ａ）は、Ｒスイッチ１１９がプレイヤによって操作されていない状態を示す図解図である。可変抵抗機構のスライド棒１０９５は一番上方に位置している。図１７（ｂ）は、プレイヤがＲスイッチ１１９を押下した状態を示す図解図である。スライド棒１０９５は中間部に位置している。図１７（ｃ）はプレイヤがＲスイッチ１０９をさらに押下して完全に押し込んだ状態を示す図解図である。スライド棒１０９５は一番下方に位置している。
【０１０６】
図１８は、ディジタルスイッチ１０９８を示す図解図である。図１８（ａ）は断面図である。ディジタルスイッチ１０９８は、弾性部材１０９８ａ，導電ゴム１０９８ｂ，電極１０９８ｃと１０９８ｄおよび基板１０９８ｅにより構成される。弾性部材１０９８ａは、基板１０９８ｅとの間に空間を形成する。空間部の弾性部材１０９８ａ側の内部上面には、導電ゴム１０９８ｂが固着される。空間部の基板１０９８ｅ上、かつ、導電ゴム１０９８ｂに対向する位置には、電極１０９８ｃおよび１０９８ｄが固着される。図１８（ｂ）は上方から見た図である。円形の弾性部材１０９８ａに円形の導電ゴム１０９８ｂが固着され、その下方に電極１０９８ｃおよび１０９８ｄが配置される。
【０１０７】
前述のように、Ｒスイッチ１０９が完全に押下されると、操作部１０９１の円筒部１０９１ａの先端１０９１ｂが、ディジタルスイッチ１０９８の弾性部材１０９８ａを押し下げる。弾性部材１０９８ａは変形して下方に押し下げられ、弾性部材１０９８ａに固着された導電ゴム１０９８ｂが押し下げられる。導電ゴム１０９８ｂは、電極１０９８ｃおよび１０９８ｄに同時に接触し、電極１０９８ｃおよび１０９８ｄを短絡させ、ディジタル出力がオンとなる。なお、この実施例においては、弾性部材１０９８ａの変形によって、プレイヤにクリック感が与えられるが、タクトスイッチ等を使用してクリック感を出すようにしてもよい。
【０１０８】
次に、図１９を参照して、Ａボタン１０３の機構を説明する（Ｂボタン１０４も同様の機構である）。Ａボタン１０３は操作部１０３１，弾性部材１０３２，アナログ検出部１０３３，導電ゴム１０３４，電極１０３５ａ，１０３５ｂ，１０３６によって構成され、コントローラ１の基板１１０１に固着される。弾性部材１０３２は、基板１１０１との間に空間を形成する。空間部の弾性部材１０３２側の内部上面には、アナログ検出部１０３３および導電ゴム１０３４が固着される。空間部の基板１１０１上、かつ、導電ゴム１０３４に対向する位置には、電極１０３５ａおよび１０３５ｂが固着され、アナログ検出部１０３３に対向する位置には、電極１０３６が固着される。アナログ検出部１０３３と電極１０３６は可変コンデンサを形成するものであり、互いが対向しまたは重なり合う面積に応じて静電容量を変化させる。
【０１０９】
まず、Ａボタン１０３のディジタルスイッチとしての機構を説明する。プレイヤが操作部１０３１を押下すると、連動して弾性部材１０３２が下方へ押し下げられる。このとき、導電ゴム１０３４が下方へ押下げられて、やがて電極１０３５ａおよび１０３５ｂに同時に接触し、電極１０３５ａおよび１０３５ｂを短絡させ、ディジタル出力がオンとなる。
【０１１０】
ディジタル出力がオンとなった状態（導電ゴム１０３４が電極１０３５ａおよび１０３５ｂに接触して短絡させた状態）からさらにＡボタン１０３を押下する（力を加える）と、導電ゴム１０３４が押しつぶされて変形し、アナログ検出部１０３３の一部と電極１０３６が重なり合う。この状態からさらに、Ａボタンを押下する（力を加える）と、導電ゴム１０３４がさらに変形して、アナログ検出部１０３３と電極１０３６とが重なり合う面積が大きくなる。このようにして、ディジタル出力がオンとなった状態からさらにＡボタン１０３を押下する（力を加える）ことによって、アナログ検出部１０３３と電極１０３６との対向面積または重なり面積が次第に大きくなり、それにともなって静電容量が変化することによってＡボタンの操作量に応じたアナログ値を出力する。
【０１１１】
上記の説明のように、Ｒスイッチ１０９（Ｌスイッチ１１５も同様）とＡボタン１０３（Ｂボタン１０４も同様）とは、ともにディジタルスイッチとしての機能およびアナログスイッチとしての機能を備えるが、機構は互いに異なる。Ｒスイッチ１０９（Ｌスイッチ１１５も同様）は、まずアナログスイッチとして機能し、最大押下時にディジタルスイッチとして機能する。一方、Ａボタン１０３（Ｂボタン１０４も同様）は、まずディジタルスイッチとして機能し、さらに押下する（力を加える）ことによってアナログスイッチとして機能するものである。Ａボタン１０３（Ｂボタン１０４も同様）のゲームの利用方法としては、ディジタルスイッチとしての機能（たとえば、サッカーゲームにおいて、ボタンを押下したときにシュートする）に加え、そのディジタルボタンを押下する力をアナログスイッチで検出することによって、ボタンを押す力（すなわち、プレイヤの興奮度）を検出して、ゲームに反映させることが考えられる。
【０１１２】
図２０は、この実施例のゲーム機システムのブロック図である。コントローラ１は、前述の通り、Ａボタン１０３，Ｂボタン１０４，Ｘボタン１０５，Ｙボタン１０６，サブアナログジョイスティック１０８，Ｒスイッチ１０９，Ｚボタン１１１，メインアナログジョイスティック１１２，十字ボタン１１４，Ｌスイッチ１１５およびスタートボタン１１６を備え、さらに、内部に、コントローラ回路１２０，振動モータ１１７および揺動センサ１１８を備える。Ａボタン１０３，Ｂボタン１０４，Ｒスイッチ１０９およびＬスイッチ１１５はディジタル出力とアナログ出力を備える。
【０１１３】
コントローラ回路１２０は、ゲーム機本体２からのコマンドに従って、全ての入力手段および揺動センサ１１８の出力から図２１を参照して後述する操作データを生成し、また、振動モータに対してオン信号およびブレーキ信号を出力する。
【０１１４】
振動モータ１１７には、ゲーム機本体２から出力されるコマンドに応じてコントローラ回路１２０からオン信号およびブレーキ信号が与えられる。振動モータ１１７は、コントローラ回路１２０からオン信号が入力される間回転し続け、オン信号が出力されなくなると回転を停止する。ここで、この実施例における振動モータ１１７は、小型の錘がモータ内部に取りつけられているため、オン信号が出力されなくなった後もしばらく慣性によって回転（振動）を続ける。一方、コントローラ回路１２０からブレーキ信号が出力されたときは、強制的にモータが停止されるため、すぐに回転（振動）を停止する。このように、この実施例における振動モータ１１７は、ブレーキなしの停止とブレーキありの停止を使い分けることによって、ゲームにおいてより適切な振動効果を得ることができる。また、コントローラ１は、ゲーム機本体２との間でデータの送受信をするためのケーブルを接続するケーブルコネクタ１３０を備える。
【０１１５】
ゲーム機本体２は、中央処理ユニット（以下「ＣＰＵ」と略称する）２１を備える。ＣＰＵ２１には、コプロセサ２２が接続される。コプロセサ２２は、バス制御回路２２ａ，画像データを発生するための画像処理回路２２ｂ，音データを発生するための音処理回路２２ｃ，コントローラ制御回路２２ｄを含む。バス制御回路２２ａは、ＣＰＵ２１と周辺回路（メインメモリ２４，画像処理回路２２ｂ，音処理回路２２ｃ，コントローラ制御回路２２ｄ等）との間でデータをやりとりするためにバスを制御する。画像処理回路２２ｂは、ポリゴンの座標変換や光源処理等を行い、ポリゴンデータを表示すべき画像にラスタライズし、メインメモリ２４内のフレームメモリに記憶可能なデータ形式に変換する。コントローラ制御回路２２ｄは、１つまたは複数のコントローラから操作データをシリアルで受信し、かつ、コントローラへコマンドを送信する。
【０１１６】
コプロセサ２２には、ＣＰＵ２１の他に，ディスクドライブ２３，メインメモリ２４，起動ＲＯＭ２５，ＡＶエンコード回路２６およびコントローラコネクタ２８が接続される。また、ＡＶエンコード回路２６にはＡＶコネクタ２７が接続される。
【０１１７】
ディスクドライブ２３は、たとえば、ＤＶＤ，ＣＤ−ＲＯＭ，または磁気ディスク等の媒体を受け入れ、媒体内のデータを読み取る装置である。読み取られたデータは、バス制御回路２２ａを介して、メインメモリ２４に転送される。なお、半導体メモリを使用したカートリッジを使用する構成にしてもよい。この場合には、ディスクドライブ２３の代わりにカートリッジコネクタが設けられる。
【０１１８】
メインメモリ２４は、画像表示のための表示リストや画像データ等を記憶するための画像データ記憶領域、音データを記憶するための音データ記憶領域、ゲームプログラムを記憶するためのプログラム記憶領域、および画像処理回路２２ｂが作成した画像データを画面に表示するための表示画像データに変換して記憶するためのフレームバッファ領域を含む。ディスクドライブ２３から読み出されたデータは、画像データ記憶領域，音データ記憶領域またはプログラム記憶領域に記憶され、ＣＰＵ２１によって読み出され、所定の処理が行われる。起動ＲＯＭ２５には、ゲーム機本体２の電源スイッチが押されたときに、ＣＰＵ２１が最初に実行する起動プログラムが記憶される。
【０１１９】
ＡＶエンコード回路２６は、画像処理回路２２ｂからの画像データおよび音処理回路２２ｃからの音データをテレビジョン受信機３に出力可能な信号に変換する回路である。ＡＶコネクタ２７は、テレビジョン受信機３に接続するＡＶケーブルを接続するためのコネクタである。コントローラコネクタ２７は、コントローラに接続するケーブルを接続するためのコネクタである。
【０１２０】
次に、この実施例のゲーム機システムの概略的な動作を説明する。まず、プレイヤがゲームディスク４をディスクドライブ２３にセットする。そして、電源スイッチ（図示せず）が押されると、ＣＰＵ２１は、起動用ＲＯＭ２５に記憶されている起動プログラムを実行する。具体的に述べると、ＣＰＵ２１は、起動プログラムに従って起動画面を表示する。そして、コプロセサ２２のバス制御回路２２ａを介してディスクドライブ２３にゲームディスク４の読み込みコマンドを出力する。ディスクドライブ２３は、コマンドに従ってゲームディスク４からデータを読みとり、バス制御回路２２ａに出力する。バス制御回路２２ａは、読み出されたデータをメインメモリ２４の所定の領域に書き込む。もし、ゲームディスク４が挿入されておらず、ディスクドライブ２３がゲームディスク４のデータを読み込むことができない場合は、起動ＲＯＭ内のデータを用いて、たとえば「ディスクを挿入して下さい。」等の文字が表示される。
【０１２１】
ＣＰＵ２１は、ゲームディスク４から読み出されメインメモリ２４に書き込まれたデータ（プログラムデータ，ポリゴンデータ，テクスチャデータ等）に基づきゲーム処理を開始する。ゲーム処理において、ＣＰＵ２１は、必要に応じて、コントローラ１のコントローラ回路１２０にコマンドを出力する。コマンドは、複数種類用意されており、たとえば、操作データ要求コマンド，振動オンコマンドや振動ブレーキコマンドである。これらのコマンドは、コプロセサ２２のコントローラ制御回路２２ｄ，コントローラコネクタ２８、ケーブル、およびケーブルコネクタ１３０を介してコントローラ回路１２０に出力される。
【０１２２】
ＣＰＵ２１は、コントローラ１の操作データが必要なときに、操作データ要求コマンドを出力する。コントローラ回路１２０は、操作データ要求コマンドを受けて、入力手段および揺動センサ１１８からの出力に基づいて図２１を参照して後述する操作データを生成し、ケーブルコネクタ１３０に出力する。ＣＰＵ２１は、ケーブル，コントローラコネクタ２８およびバス制御回路２２ａを介して、操作データを受け取ってプログラムを実行する。
【０１２３】
ＣＰＵ２１は、振動モータ１１７を振動させたい場合に振動オンコマンドを出力し、振動を強制的に停止したい場合には振動ブレーキコマンドを出力する。コントローラ回路１２０は、これらのコマンドを受けて、振動モータ１１７にオン信号またはブレーキ信号を出力する。
【０１２４】
画像処理回路２２ｂは、ＣＰＵ２１がプログラムに基づいて出力する画像作成コマンドを受けてゲーム画像を作成する。また、音処理回路２２ｃは、音作成コマンドを受けてゲーム音を作成する。これらのゲーム画像データおよびゲーム音データは、ＡＶエンコード回路２６によってビデオ信号およびオーディオ信号に変換され、ＡＶコネクタ２７を介してテレビジョン受信機３に出力される。なお、具体的なゲーム内容については、図２２から図４６を参照して後述する。
【０１２５】
図２１は、コントローラ回路１２０によって生成される操作データのフォーマットである。図２１において、「ＳＴＡＲＴ」，「Ｙ」，「Ｘ」，「Ｂ」，「Ａ」，「Ｌ」，「Ｒ」，および「Ｚ」は、それぞれ、スタートボタン１１６，Ｙボタン１０６，Ｘボタン１０５，Ｂボタン１０４（ディジタル），Ａボタン１０３（ディジタル），Ｌスイッチ１１５（ディジタル），Ｒスイッチ１０９（ディジタル），およびＺボタン１１１のディジタル出力（０か１か）のデータ領域である。「ＳＨＯＣＫ」は、揺動センサ１１８の出力（一定以上の衝撃があったとき「１」、ないとき「０」）のデータ領域である。「Ｍａｉｎ  Ａｎａｌｏｇ  Ｘ」および「Ｍａｉｎ  Ａｎａｌｏｇ  Ｙ」はメインアナログジョイスティック１１２のＸ方向およびＹ方向のアナログ出力のデータ領域である。「Ｓｕｂ  Ａｎａｌｏｇ  Ｘ」および「Ｓｕｂ  Ａｎａｌｏｇ  Ｙ」はサブアナログジョイスティック１０８のＸ方向およびＹ方向のアナログ出力のデータ領域である。「Ｌ  Ａｎａｌｏｇ」，「Ｒ  Ａｎａｌｏｇ」，「Ａ  Ａｎａｌｏｇ」および「Ｂ  Ａｎａｌｏｇ」は、それぞれ、Ｌスイッチ１１５（アナログ），Ｒスイッチ１０９（アナログ），Ａボタン１０３（アナログ）およびＢボタン１０４（アナログ）のアナログ出力値のデータ領域である。
【０１２６】
操作データは常に８バイトのデータであるが、設定によって３種類のフォーマット（図２１（ａ）（ｂ）（ｃ））を選択可能である。この実施例のコントローラ１は、アナログスイッチとして、メインアナログジョイスティック１１２，サブアナログジョイスティック１０８，Ａボタン１０３，Ｂボタン１０４，Ｒスイッチ１０９およびＬスイッチ１１５を備えるが、３種類のフォーマットのうちいずれを選択するかによって、これらのアナログスイッチのうち、どのスイッチに高い分解能を設定するかが変更される。
【０１２７】
図２１（ａ）に示されるフォーマットでは、メインアナログジョイスティック１１２およびサブアナログジョイスティック１０８にＸ方向，Ｙ方向それぞれ８ビット割り当てられる。Ａボタン１０３，Ｂボタン１０４，Ｒスイッチ１０９およびＬスイッチ１１５には４ビット割り当てられる。メインアナログジョイスティック１１２およびサブアナログジョイスティック１０８に高い分解能を必要とする場合に選択されるフォーマットである。
【０１２８】
図２１（ｂ）に示すフォーマットでは、メインアナログジョイスティック１１２のＸ方向，Ｙ方向，Ｌスイッチ１１５（アナログ）およびＲスイッチ１０９（アナログ）にそれぞれ８ビット割り当てられる。サブアナログジョイスティック１０８のＸ方向，Ｙ方向，Ａボタン１０３（アナログ）およびＢボタン１０４（アナログ）には４ビット割り当てられる。メインアナログジョイスティック１１２，Ｌスイッチ１１５（アナログ）およびＲスイッチ１０９（アナログ）に高い分解能を必要とする場合に選択されるフォーマットである。
【０１２９】
図２１（ｃ）に示すフォーマットでは、メインアナログジョイスティック１１２のＸ方向，Ｙ方向，Ａボタン１０３（アナログ）およびＢボタン１０４（アナログ）にそれぞれ８ビット割り当てられる。サブアナログジョイスティック１０８のＸ方向，Ｙ方向，Ｌスイッチ１１５（アナログ）およびＲスイッチ１０９（アナログ）には４ビット割り当てられる。メインアナログジョイスティック１１２，Ａボタン１０３（アナログ）およびＢボタン１０４（アナログ）に高い分解能を必要とする場合に選択されるフォーマットである。
【０１３０】
図２１（ａ），図２１（ｂ）および図２１（ｃ）のいずれか１つのフォーマットが、ゲーム内容に応じて選択される。ゲーム機本体２は、フォーマット毎に異なる操作データ要求コマンドを出力する。コントローラ回路１２０は、操作データ要求コマンドの種類に応じて、図２１（ａ），図２１（ｂ）および図２１（ｃ）のうちいずれのフォーマットで操作データを作成する。
【０１３１】
図２２から図２９を参照して、この発明の一実施例であるレースゲームを説明する。この実施例のレースゲームにおいては、プレイヤはコントローラ１のメインアナログジョイスティック１１２を操作して自機マシンの方向を制御し、Ｒスイッチ１０９（アナログ）を操作して自機マシンの加速制御（アクセル制御）をし、Ｒスイッチ１０９（ディジタル）がオンになったときには、通常より大きな加速（ターボ）制御をするか、または、ブレーキ制御をするものである（ターボ制御かブレーキ制御かはプレイヤが任意に選択可能）。また、Ａボタン１０３（ディジタル）がオンになったときには、コンピュータが操作する敵マシンに向けてマシンガンの発射制御をし、Ｂボタン１０４（ディジタル）がオンになったときには、ピストルの発射制御をするものである。
【０１３２】
図２２から図２９は、ゲームディスク４に記憶され、ディスクドライブ２３によって読み取られて、ＣＰＵで実行されるプログラムのフローチャートである。図２２は、メインルーチンのフローチャートである。ゲームを開始（ディスクドライブ２３にゲームディスク４を挿入し、ゲーム機本体２の電源を投入）すると、まず、ステップＳ１５０１において、図２３を参照して後述するディジタルボタン定義処理サブルーチンが実行される。ステップＳ１５０１の後に、ステップＳ１５０２において、図２４を参照して後述するスタート処理サブルーチンが実行される。ステップＳ１５０２の後に、ステップＳ１５０３において、自機マシンの座標，速度，進行方向等の初期化処理が行われる。
【０１３３】
ステップＳ１５０３の後、ステップＳ１５０４において、コントローラ１の操作データが読み取られる。具体的には、図２１を参照して前述したフォーマットのデータがコントローラ回路１２０によって作成され、ケーブルコネクタ１３０，ケーブル５，コントローラコネクタ２８およびコプロセサ２２を介してＣＰＵ２１によって読み取られる。なお、この実施例においては、図２１における（ｂ）のフォーマットが使用される。
【０１３４】
ステップＳ１５０４の後、ステップＳ１５０５において、図２５を参照して後述する速度変更処理サブルーチンが実行される。ステップＳ１５０５の後、ステップＳ１５０６において、自機マシンの進行方向を決定する処理が行われる。具体的には、メインアナログジョイスティック１１２の操作情報（図２１における「Ｍａｉｎ  Ａｎａｌｏｇ  Ｘ」および「Ｍａｉｎ  Ａｎａｌｏｇ  Ｙ」の値）に基づいて自機マシンの進行方向の変更処理が行われる。
【０１３５】
ステップＳ１５０６の後、ステップＳ１５０７において、座標変更処理が行われる。具体的には、ステップＳ１５０５，Ｓ１５０６において決定された自機マシンの速度，進行方向および前回の座標に基づいて自機マシンの座標の変更処理が行われる。ステップＳ１５０７の後、ステップＳ１５０８において、図２６を参照して後述する衝突処理が実行される。ステップＳ１５０８の後、ステップＳ１５０９において、図２７を参照して後述する攻撃処理が行われる。ステップＳ１５０９の後、ステップＳ１５１０において、その他の処理が行われる。具体的には、敵マシンの移動処理，攻撃処理や、画像処理，音声処理等が行われる。ステップＳ１５１０の後、ステップＳ１５１１において、ゲームオーバとなったか否かが判断され、ゲームオーバの場合にはゲームを終了する。ゲームオーバではないと判断された場合には、ステップＳ１５０４に戻ってゲーム処理を繰り返す。
【０１３６】
図２３は、図２２のメインルーチンのステップＳ１５０１におけるディジタルボタン定義処理のフローチャートである。このディジタルボタン定義処理においては、Ｒスイッチ１０９（ディジタル）がオンとなった場合（図２１の「Ｒ」が「１」となった場合）に行う処理の定義を行う。この実施例においては、ターボ処理とブレーキ処理の２つの選択肢があり、プレイヤがどちらか一方を任意に選択可能である（３つ以上の選択肢から選択するようにしてもよい）。なお、ターボ処理もブレーキ処理もＲスイッチ１０９（アナログ）に定義されるアクセル制御（図２５のステップＳ１８０６，Ｓ１８０７，Ｓ１８０８）に関連した処理であるので、Ｒスイッチ１０９の操作のみによって関連した複数の操作（アクセルとターボまたはアクセルとブレーキ）を１つのスイッチで行うことが可能となる。さらに、Ｒスイッチ１０９（ディジタル）の定義をプレイヤが設定可能にすることによって、操作を容易にしたり興趣を増すことができる。
【０１３７】
まず、ステップＳ１６０１において、プレイヤによって、ターボ処理かブレーキ処理かどちらか一方を選択する入力処理が行われる。ステップＳ１６０１の後、ステップＳ１６０２およびＳ１６０４において、プレイヤがターボ処理を選択したかまたはブレーキ処理を選択したかが判断される。ステップＳ１６０２において、ターボ処理が選択されたことが判断されると、ステップＳ１６０３において、Ｒスイッチ１０９（ディジタル）の定義領域にターボ処理のプログラムが記憶されたアドレスが記憶された後、ディジタルボタン定義処理を終了する。また、ステップＳ１６０４において、ブレーキ処理が選択されたことが判断されると、ステップＳ１６０５において、Ｒスイッチ１０９（ディジタル）の定義領域にブレーキ処理のプログラムが記憶されたアドレスが記憶された後、ディジタルボタン定義処理を終了する。
【０１３８】
図２４は、図２２のメインルーチンのステップＳ１５０２におけるスタート処理のフローチャートである。このスタート処理においては、レースゲームをスタートする際の演出処理を行う。まず、ステップＳ１７０１において、スタートボタン１１６が押されたか否か（図２１の「ＳＴＡＲＴ」が「１」か否か）が判断される。スタートボタン１１６が押されない間はステップＳ１７０１の処理を繰り返す。スタートボタン１１６が押されたと判断されると、ステップＳ１７０２に進み、エンジン点火表示処理が行われる。具体的には、自機マシンのエンジンが点火する画像を表示する処理が行われる。ステップＳ１７０２の後、ステップＳ１７０３において、振動モータ１１７をオンする信号（ブレーキなし）が発生される。ステップＳ１７０３において振動モータ１１７のオン信号をブレーキなしの信号とすることによって、エンジンが始動したときの振動をよりリアルに再現することが可能である。ステップＳ１７０３の後、スタート処理を終了する。
【０１３９】
図２５は、図２２のメインルーチンのステップＳ１５０５における速度変更処理のフローチャートである。この速度変更処理においては、Ｒスイッチ１０９の操作情報に基づいて自機マシンの速度を変更する処理を行う。まず、ステップＳ１８０１において、Ｒスイッチ１０９（ディジタル）がオンか否か（図２１の「Ｒ」が「１」か否か）が判断される。オンであることが判断されると、ステップＳ１８０２およびＳ１８０４において、Ｒスイッチ１０９（ディジタル）の定義領域の記憶内容が参照され、ターボ処理が設定されていた場合には、ステップＳ１８０３において、図２８を参照して後述するターボ処理が実行された後、ステップＳ１８０９に進む。また、ブレーキ処理が設定されていた場合には、ステップＳ１８０５において、図２９を参照して後述するブレーキ処理が実行された後、ステップＳ１８０９に進む。
【０１４０】
ステップＳ１８０１において、Ｒスイッチ１０９（ディジタル）がオンではないと判断されると、ステップＳ１８０６に進み、Ｒスイッチ１０９（アナログ）の出力があるか否か（図２１の「Ｒ  Ａｎａｌｏｇ」が１以上か否か）が判断される。出力があると判断されると、ステップＳ１８０７において、Ｒスイッチ１０９（アナログ）の出力値（図２１の「Ｒ  Ａｎａｌｏｇ」の値）に定数ａを掛けた値が加速度として設定された後、ステップＳ１８０９に進む。なお、定数ａはゲームのバランスを考慮して適当に設定される。ステップＳ１８０６において、Ｒスイッチ１０９（アナログ）の出力がないと判断されると、ステップＳ１８０８において、加速度が０に設定された後、ステップＳ１８０９に進む。ステップＳ１８０９において、設定された加速度および前回の速度に基づいて自機マシンの速度が算出される。
【０１４１】
図２６は、図２２のメインルーチンのステップＳ１５０８における衝突処理のフローチャートである。この衝突処理においては、自機マシンが敵マシンや障害物と衝突したか否かが判断され、衝突した場合には、衝突の演出処理が行われる。まず、ステップＳ１９０１において、自機マシンが敵マシンや障害物と衝突したか否かが判断される。具体的には、自機マシンの座標と、敵マシンや障害物の座標とを比較することによって行われる。衝突していないと判断された場合は、衝突処理を終了する。衝突したことが判断されると、ステップＳ１９０２において衝突の様子を示す画像が表示される。ステップＳ１９０２の後、ステップＳ１９０３において大衝突か否かが判断される。ここで、大衝突とは、高いスピードで敵マシンや障害物に衝突した場合や、正面から衝突した場合のことを言う。大衝突であることが判断されると、ステップＳ１９０４において、振動モータのオン信号（ブレーキなし）が発生される。ステップＳ１９０４において発生される信号をブレーキなしの信号とすることによって、衝突のエネルギが大きい場合の振動がリアルに再現される。ステップＳ１９０４の後、衝突処理を終了する。
【０１４２】
ステップＳ１９０３において大衝突ではないと判断されると、ステップＳ１９０５において、振動モータのオン信号（ブレーキあり）が発生される。ステップＳ１９０５において発生される信号をブレーキありの信号とすることによって、衝突のエネルギが小さい場合の振動がリアルに再現される。なお、ステップＳ１９０５において発生される信号はステップＳ１９０４において発生される信号より振動モータ１１７の振動量が少なくなるような信号にしてもよい。ステップＳ１９０５の後、衝突処理を終了する。
【０１４３】
図２７は、図２２のメインルーチンのステップＳ１５０９における攻撃処理のフローチャートである。この攻撃処理においては、敵マシンに向かってマシンガンやピストルを発射する処理が行われる。まず、ステップＳ２００１において、Ａボタン１０３（ディジタル）が押されたか否か（図２１の「Ａ」が「１」か否か）が判断される。Ａボタン１０３（ディジタル）が押されたと判断されると、ステップＳ２００２において、マシンガンが発射される様子を示す画像が表示される。ステップＳ２００２の後、ステップＳ２００３において、振動モータのオン信号（ブレーキなし）が発生される。ステップＳ２００３において発生される信号をブレーキなしの信号とすることによって、マシンガンを発射したときの衝撃がリアルに再現される。ステップＳ２００３の後、ステップＳ２００７に進む。
【０１４４】
ステップＳ２００１において、Ａボタン１０３（ディジタル）が押されていないことが判断されると、ステップＳ２００４において、Ｂボタン１０４（ディジタル）が押されたか否か（図２１の「Ｂ」が「１」か否か）が判断される。Ｂボタン１０４（ディジタル）が押されていないことが判断されると、攻撃処理を終了する。Ｂボタン１０４（ディジタル）が押されたことが判断されると、ステップＳ２００５において、ピストルが発射される様子を示す画像が表示される。ステップＳ２００５の後、ステップＳ２００６において、振動モータのオン信号（ブレーキあり）が発生される。ステップＳ２００６において発生される信号をブレーキありの信号とすることによって、ピストルを発射したときの衝撃がリアルに再現される。なお、ステップＳ２００６において発生される信号はステップＳ２００３において発生される信号より振動モータ１１７の振動量が少なくなるような信号にしてもよい。ステップＳ２００６の後、ステップＳ２００７に進む。
【０１４５】
ステップＳ２００７において、マシンガンまたはピストルが敵マシンに命中したか否かが判断される。命中していないと判断された場合は、攻撃処理を終了する。命中したと判断された場合は、ステップＳ２００８において命中処理（敵マシンにダメージを与える処理）が行われた後、攻撃処理を終了する。
【０１４６】
図２８は、図２５の速度変更処理のステップＳ１８０３におけるターボ処理のフローチャートである。ステップＳ２１０１において、３００×ａが加速度として設定され、ターボ処理を終了する。Ｒスイッチ１０９（アナログ）の最大出力値は２５５であるから、Ｒスイッチ１０９（アナログ）を最大量押下した場合（２５５）よりも大きな加速度が設定されることになる。なお、ステップＳ２１０１において、２５５×ａを加速度として設定し、Ｒスイッチ１０９（ディジタル）がオンになった場合に、Ｒスイッチ（アナログ）の最大出力値と同等の加速度が設定されるようにしてもよい。こうすることによって、アナログスイッチの出力に誤差がある場合に、最大操作に対する出力を一定値にすることができる。
【０１４７】
図２９は、図２５の速度変更処理のステップＳ１８０５におけるブレーキ処理のフローチャートである。ステップＳ２２０１において、−５０×ａが加速度として設定され、ブレーキ処理を終了する。
【０１４８】
次に、図３０から図３２を参照して、この発明の他の実施例であるボクシングゲームを説明する。この実施例のボクシングゲームは、プレイヤがコントローラ１のメインアナログジョイスティック１１２を操作してプレイヤボクサ（プレイヤが操作するボクサ）を移動制御し、Ｒスイッチ１０９を操作して右パンチを出す。Ｒスイッチ１０９（ディジタル）がオンになったときに右パンチを出すが、Ｒスイッチ１０９（ディジタル）がオンになる前のＲスイッチ１０９（アナログ）の状態に応じて、パンチの種類を変化させる（ジャブまたはストレート）。Ｌスイッチ１１５（ディジタル）がオンになったときも右パンチと同様に左パンチを出す処理をする。
【０１４９】
図３０から図３２は、ＣＰＵ２１で実行されるプログラムのフローチャートである。図３０は、メインルーチンのフローチャートである。ゲームを開始すると、まず、ステップＳ２３０１において、初期化処理が行われる。たとえば、変数ｎに１をセットする等の処理が行われる。ここで、変数ｎは、図３１を参照して後述する攻撃処理において使用される変数である。ステップＳ２３０１の後、ステップＳ２３０２において、コントローラ１の操作データが読み取られる。具体的には、前述の実施例のステップＳ１５０４と同様の処理が行われる。なお、この実施例においては、図２１における（ｂ）のフォーマットが使用される。
【０１５０】
ステップＳ２３０２の後、ステップＳ２３０３において、プレイヤボクサの移動処理が行われる。具体的には、メインアナログジョイスティック１１２の操作情報（図２１における「Ｍａｉｎ  Ａｎａｌｏｇ  Ｘ」および「Ｍａｉｎ  Ａｎａｌｏｇ  Ｙ」の値）に基づいてプレイヤボクサの移動処理が行われる。たとえば、Ｍａｉｎ  Ａｎａｌｏｇ  Ｘの値がプラスなら、その値に応じてプレイヤボクサを右方向に移動させ、Ｍａｉｎ  Ａｎａｌｏｇ  Ｘの値がマイナスなら、その値に応じてプレイヤボクサを左方向に移動させ、Ｍａｉｎ  Ａｎａｌｏｇ  Ｙの値がプラスなら、その値に応じてプレイヤボクサを前方向に移動させ、Ｍａｉｎ  Ａｎａｌｏｇ  Ｙの値がマイナスなら、その値に応じてプレイヤボクサを後方向に移動させる。
【０１５１】
ステップＳ２３０３の後、ステップＳ２３０４において、図３１および図３２を参照して後述する攻撃処理が実行される。ステップＳ２３０４の後、ステップＳ２３０５において、その他の処理が行われる。具体的には、敵ボクサの移動処理，攻撃処理や、画像処理，音声処理等が行われる。
【０１５２】
ステップＳ２３０５の後、ステップＳ２３０６において、ゲームオーバとなったか否かが判断され、ゲームオーバの場合にはゲームを終了する。ゲームオーバではないと判断された場合には、ステップＳ２３０２に戻ってゲーム処理を繰り返す。
【０１５３】
図３１は、図３０のメインルーチンのステップＳ２３０４におけるプレイヤボクサの攻撃処理のフローチャートである。この攻撃処理において、Ｒスイッチ１０９の操作データ（図２１に示す「Ｒ」および「Ｒ  Ａｎａｌｏｇ」）に基づいてパンチの種類を変更する処理を行う。攻撃処理において、変数ｎは、Ｒスイッチ１０９（ディジタル）がオフの期間、１フレーム毎にインクリメントする変数であり、１フレーム毎のＲスイッチ１０９の操作状態（全押し状態，半押し状態、または開放状態）をＰ（ｎ）に記憶するためのインデックス変数である（この実施例および他の実施例では、テレビのフレームに同期して、１フレーム毎にコントローラ１のデータを受信している。しかし、コントローラデータの受信タイミングは、プログラマーが任意に設定してもよい。その場合、コントローラのデータが受信される毎に変数ｎはインクリメントされる。）
また、変数ｔは、過去のＲスイッチ１０９の操作状態を調べるために、インデックス変数を減ずるための変数である。定数Ｔは、所定の期間（たとえば十数フレーム期間）を表す自然数であり、ゲームバランスを考慮して適当な値が設定される。
【０１５４】
まず、ステップＳ２４０１において、Ｒスイッチ１０９の状態を検出し、記憶する処理が行われる。図３２を用いて具体的に説明する。まず、ステップ２５０１において、Ｒスイッチ１０９（ディジタル）がオン（Ｒスイッチ１０９が全押し、すなわちＲスイッチ１０９を完全に押し込んだ状態）か否かが判断される。Ｒスイッチ１０９（ディジタル）がオンならば、ステップＳ２５０２において、変数Ｐ（ｎ）を０にし、ステップＳ２４０２に進む。ステップＳ２５０１において、スイッチ１０９（ディジタル）がオフならば、ステップＳ２５０３に進む。ステップＳ２５０３において、Ｒスイッチ１０９（アナログ）の出力値が０か否かが判断される（具体的には、図２１に示す「Ｒ  Ａｎａｌｏｇ」の値が０か否かが判断される）。Ｒスイッチ１０９（アナログ）の出力値が０ではない（Ｒスイッチ１０９が半押し）ならば、ステップＳ２５０４において、変数Ｐ（ｎ）を１にし、ステップＳ２４０２に進む。ステップＳ２５０３において、Ｒスイッチ１０９（アナログ）の出力値が０（Ｒスイッチ１０９が開放）ならば、ステップＳ２５０５において、変数Ｐ（ｎ）を２にし、ステップＳ２４０２に進む。
【０１５５】
ステップＳ２４０２において、変数Ｐ（ｎ）＝０（Ｒスイッチ１０９が全押し）か否かが判断され、変数Ｐ（ｎ）＝０ならば、ステップＳ２４０３に進み、変数ｔを０にセットする。ステップＳ２４０３の後、ステップＳ２４０４において、ｎ−ｔが１より小さいか否かが判断され、ｎ−ｔ＜１でなければステップＳ２４０５に進む。ステップＳ２４０５において、Ｐ（ｎ−ｔ）＝２か否かが判断され（すなわち、現在からｔフレームだけ前のＲスイッチ１０９の操作状態が開放状態であるか否かが判断される）、Ｐ（ｎ−ｔ）＝２でないならステップ２４０６に進む。ステップＳ２４０６において、ｔ＝Ｔ（所定の期間）か否かが判断され、ｔ＝Ｔでないならステップ２４０７に進み、ｔをインクリメントした後、ステップ２４０４に戻る。
【０１５６】
ステップＳ２４０４において、ｎ−ｔ＜１ならばステップＳ２４０８に進み、パンチを打たないこととし、ステップＳ２４１１に進む。この処理は、前回パンチを打ってから、今回Ｒスイッチ１０９が全押しされるまでの期間がＴより少なかったとき、正確なパンチ動作が出来ないことを防ぐために行われる。この実施例では、所定の時間パンチを打てないようにしたが、パンチ動作をアニメーション表示する場合、アニメーション表示が終わるまで次のパンチが打てないようにしてもよい。
【０１５７】
ステップＳ２４０５において、Ｐ（ｎ−ｔ）＝２ならばステップ２４０９に進み、ＣＰＵ２１は、プレイヤボクサがストレートパンチを打つ画像データを作成するコマンドをコプロセサ２２に出力し、ステップＳ２４１１に進む。具体的に説明すると、プレイヤがＲスイッチ１０９を全押しした以前Ｔフレーム期間内にＲスイッチが開放されていた期間がある（すなわち、Ｒスイッチ１０９が開放状態から全押し状態となった）ならば、プレイヤボクサはストレートパンチを打つ。
【０１５８】
ステップＳ２４０６において、ｔ＝Ｔならばステップ２４１０に進み、ＣＰＵ２１は、プレイヤボクサがジャブを打つ画像データを作成するコマンドをコプロセサ２２に出力し、ステップ２４１１に進む。具体的に説明すると、プレイヤがＲスイッチ１０９を全押しした以前Ｔフレーム期間内にＲスイッチが開放されていた期間が全くない、つまりＴフレーム期間中にＲスイッチ１０９を半押し状態のままにしていた（すなわち、Ｒスイッチ１０９が半押し状態から全押し状態となった）ときに、プレイヤボクサはジャブを打つ。ステップＳ２４１１において、変数ｔを０および変数ｎを１にリセットし、ステップ２３０５に進む。
【０１５９】
ステップＳ２４０２において、変数Ｐ（ｎ）＝０（Ｒスイッチ１０９が全押し）でなければ、ステップＳ２４１２に進む。ステップＳ２４１２において、変数ｎを１インクリメントし、ステップＳ２３０５に進む。従って、Ｒスイッチ１０９が全押しされるまで、Ｒスイッチ１０９の操作状態（全押しか半押しか開放か）のデータを記憶し続ける。
【０１６０】
以上、図３０〜図３２に示したゲームを実行すると、たとえば、プレイヤがＲスイッチ１０９を暫く半押しにした後、全押しし、その後、Ｒスイッチから指を外してＲスイッチを開放して、素早くＲスイッチ１０９を全押しした場合は、ジャブを打った後、ストレートを打つ攻撃処理となる。この実施例によれば、１つのスイッチ（Ｒスイッチ１０９）のみの操作に基づいて、複数の制御をすることが可能であるので、単純な操作で複雑な制御をすることができる。
【０１６１】
なお、左手の攻撃は、Ｌスイッチ１１５を用いて、右手の攻撃と同様に制御可能である。
【０１６２】
次に、図３３から図３５を参照して、この発明の他の実施例の格闘ゲームを説明する。この実施例の格闘ゲームにおいては、プレイヤはコントローラ１のメインアナログジョイスティック１１２を操作して格闘家キャラクタ（以下「プレイヤキャラクタ」と省略する）の移動を制御し、Ｒスイッチ１０９（アナログ）を操作して技を出す制御をする。出した技がコンピュータが制御する敵格闘家キャラクタに当たった場合には、敵格闘家キャラクタにダメージを与え、敵格闘家キャラクタの出した技がプレイヤキャラクタに当たった場合には、プレイヤキャラクタにダメージを与える。そして、一定値以上のダメージが蓄積した方が負けとなるようなゲームである。
【０１６３】
図３３は、メインルーチンのフローチャートである。ゲームを開始すると、まず、ステップＳ２６０１において、初期化処理が行われる。具体的には、変数ｔを０にし、変数ｎを１にする処理が行われる。ここで、変数ｔおよび変数ｎは、図３４を参照して後述する技処理において使用される変数である。ステップＳ２６０１の後、ステップＳ２６０２において、コントローラの操作データの読み取り処理が行われる。ステップＳ２６０２の後、ステップＳ２６０３において、図３４を参照して後述する技処理が行われる。
【０１６４】
ステップＳ２６０３の後、その他の処理が行われる。具体的には、敵格闘家キャラクタの出す技を決定し、敵格闘家キャラクタの出した技がプレイヤキャラクタに当たったかどうかが判定され、当たった場合には、プレイヤキャラクタのダメージを計算する。さらに、画像処理，音声処理等が行われる。ステップＳ２６０４の後、ステップＳ２６０５において、ゲームオーバか否かが判断され、ゲームオーバであると判断される場合にはゲームを終了する。ゲームオーバでないと判断される場合には、ステップＳ２６０２に戻り、ゲーム処理を繰り返す。
【０１６５】
図３４は、図３３のメインルーチンのステップＳ２６０３における技処理のフローチャートである。この技処理においては、Ｒスイッチ１０９の操作状態（全押し状態，半押し状態，または開放状態）を検出し、操作状態の履歴を記憶して、履歴に応じて技を決定する処理を行う。技処理において、変数ｔは、Ｒスイッチ１０９の状態が変化しない期間（全押しの状態が継続する期間，半押しの状態が継続する期間、または開放の状態が継続する期間）を計測するための変数である。また、変数ｎは、Ｒスイッチ１０９の操作状態の履歴をＰ（ｎ）に記憶するためのインデックス変数である。定数Ｔは、所定の期間（たとえば十数フレーム期間）を表す自然数であり、ゲームバランスを考慮して適当な値が設定される。
【０１６６】
まず、ステップＳ２７０１において、前述の実施例における図３２と同様のＲスイッチ状態検出処理が行われる。この処理によって、Ｒスイッチ１０９の操作状態が検出される。ステップＳ２７０１の後、ステップＳ２７０２において、Ｐ（ｎ）＝Ｐ（ｎ−１）か否かが判断される。すなわち、現在のＲスイッチ１０９の操作状態（Ｐ（ｎ））と前回のＲスイッチ１０９の操作状態（Ｐ（ｎ−１）が同じか否かが判断される。同じでないと判断されると、ステップＳ２７０３に進み、変数ｔが０にリセットされる。ステップＳ２７０３の後、ステップＳ２７０４において、変数ｎをインクリメントする処理がされる。ステップＳ２７０４の後、ステップＳ２７０８に進む。
【０１６７】
ステップＳ２７０２において、現在のＲスイッチ１０９の操作状態（Ｐ（ｎ））と前回のＲスイッチ１０９の操作状態（Ｐ（ｎ−１）が同じであると判断されると、ステップＳ２７０５に進み、ｔをインクリメントする処理がされる。ステップＳ２７０５の後、ステップＳ２７０６において、ｔ＞Ｔ（所定の期間）か否かが判断される。すなわち、一定時間（Ｔ）の間、Ｒスイッチ１０９の操作状態に変化がないか否かが判断される。ｔ＞Ｔではないと判断されると、ステップＳ２７０８に進む。ｔ＞Ｔであると判断されると、ステップＳ２７０７に進み、変数ｎを１にリセットする。すなわち、操作履歴のインデックスを１にリセットする。ステップＳ２７０７の後、ステップＳ２７０８に進む。
【０１６８】
ステップＳ２７０８において、図３５に示されるような技パターンテーブルが参照される。技パターンテーブルには、技番号と操作履歴パターンと攻撃力と技画像のデータが記憶される。技番号は、技の種類に付与される番号である。操作履歴パターンは、技を出すためのＲスイッチ１０９の操作履歴が定義される。たとえば、「全押し」から「半押し」という順番でＲスイッチ１０９を操作すると、技１が出る。同じように、「半押し」から「全押し」という順番でＲスイッチ１０９を操作すると、技２が出る。なお、前述のように、Ｒスイッチ１０９の状態が一定期間（Ｔ）変化がない場合には、変数ｎがリセットされる（操作履歴がリセットされる）ので、一定期間（Ｔ）の間に次の操作をする必要がある。技３や技４のように３つまたは４つの履歴を定義することも可能である（５以上の履歴を定義することも可能である）。なお、図３５には４種類の技しか定義されないが、より多くの技を定義することが可能である。
【０１６９】
ステップＳ２７０８において、プレイヤが実際に操作した履歴であるＰ（１）〜Ｐ（ｎ）が技パターンテーブルの操作履歴パターンが比較される。ステップＳ２７０８の後、ステップＳ２７０９において、Ｐ（１）〜Ｐ（ｎ）が技パターンテーブルのうち１つの技の操作履歴パターンと一致したか否かが判断される。いずれの技の操作履歴パターンにも一致しないと判断される場合には、技処理を終了する。いずれかの技の操作履歴パターンに一致したと判断される場合には、ステップＳ２７１０に進み、技出し処理が行われる。具体的には、技画像表示（技パターンテーブルに定義された技画像データに基づく）や、出した技のヒット判定、さらには、敵格闘家キャラクタのダメージ処理（技パターンテーブルに定義された攻撃力データに基づく）が行われる。ステップＳ２７１０の後、ステップＳ２７１１において、ｔを０にリセットし、変数ｎを１にリセットする。ステップＳ２７１１の後、技処理を終了する。
【０１７０】
この発明のＲスイッチ１０９は、ディジタルスイッチとしての機能と、アナログスイッチとしての機能を有する。また、ディジタルスイッチはクリック感を伴うので、全押し状態になった場合にはクリック感を感じて、プレイヤは全押し状態を明確に認識できる。すなわち、プレイヤは、開放状態と半押し状態と全押し状態の３状態を明確に区別をすることが容易にできる。従来のスイッチでは、プレイヤが明確に区別することができるのは、開放状態か押している状態かの２状態であった。それに対して、この発明のＲスイッチ１０９を利用したゲームでは、３状態を明確に区別することができるので、操作状態に多様性があり、それに応じて多様なゲーム効果を与えることができる。また、この実施例のように操作履歴に応じて処理を変化させるような場合に、操作履歴の組合わせに多様性が生じ、ゲームの興趣を増すことができる。
【０１７１】
次に、図３６から図４２を参照して、この発明の他の実施例の銃ゲームを説明する。この実施例の銃ゲームにおいては、プレイヤはコントローラ１のメインアナログジョイスティック１１２を操作して銃を所持するプレイヤキャラクタの移動を制御し、Ｒスイッチ１０９を操作して銃を発射する制御をする。ここで、Ｒスイッチ１０９（ディジタル）がオンになった場合（全押し状態）に、銃の発射処理を行う。Ｒスイッチ１０９（ディジタル）がオンになる前でありＲスイッチ１０９（アナログ）が操作されている場合（半押し状態）においては、銃は発射されないが、銃を構える動作表示を行う。銃弾がコンピュータが制御する敵キャラクタに当たった場合には、敵キャラクタにダメージを与える。
【０１７２】
図３６は、メインルーチンのフローチャートである。ゲームを開始すると、まず、ステップＳ２９０１において、コントローラの操作データの読み取り処理が行われる。ステップＳ２９０１の後、ステップＳ２９０２において、図３７を参照して後述する銃発射処理が行われる。ステップＳ２９０２の後、ステップＳ２９０３において、図３８を参照して後述する銃構え処理が行われる。ステップＳ２９０３の後、ステップＳ２９０４において、図４１を参照して後述する移動処理が行われる。ステップＳ２９０４の後、ステップＳ２９０５において図４２を参照して後述する敵処理が行われる。ステップＳ２９０５の後、ステップ２９０６において、その他の処理が行われる。具体的には、画像処理，音声処理等が行われる。ステップＳ２９０６の後、ステップＳ２９０７において、ゲームオーバか否かが判断される。ゲームオーバであると判断される場合には、ゲームを終了する。ゲームオーバでないと判断される場合には、ステップＳ２９０１に戻り、ゲーム処理を繰り返す。
【０１７３】
図３７は、図３６に示すメインルーチンのステップＳ２９０２の銃発射処理のフローチャートである。まず、ステップ３００１において、Ｒスイッチ１０９（ディジタル）がオンか否かが判断される（具体的には、図２１に示す操作データの「Ｒ」が「１」か否かが判断される）。オフであると判断される場合は、銃発射処理を終了する。オンであると判断される場合は、ステップＳ３００２に進み、銃の発射を示す画像を表示する。ステップＳ３００２の後、ステップＳ３００３において、銃弾が敵に命中したか否かが判断される。命中していないと判断されると、銃発射処理を終了する。命中したと判断されると、ステップＳ３００４に進み、敵を消滅する処理が行われた後、銃発射処理を終了する。
【０１７４】
図３８は、図３６に示すメインルーチンのステップＳ２９０３の銃構え処理のフローチャートである。まず、ステップＳ３１０１において、Ｒスイッチ（アナログ）の出力値が０か否かが判断される（具体的には、図２１に示す操作データの「Ｒ  Ａｎａｌｏｇ」の値が０か否かが判断される）。０であると判断されると、ステップＳ３１０２に進み、図３９に示す画像Ａを表示する処理がされる。すなわち、Ｒスイッチ１０９が開放状態の場合には、銃を全く上げないような表示がされる。ステップＳ３１０１において、Ｒスイッチ１０９（アナログ）の出力値が０ではないと判断されると、ステップＳ３１０３に進み、１〜６３か否かが判断される。１〜６３であると判断されるとステップＳ３１０４に進み、図３９に示す画像Ｂを表示する処理がされる。すなわち、Ｒスイッチ１０９を少し押し込んだ状態（「Ｒ  Ａｎａｌｏｇ」の値が１〜６３）の場合には、銃を少し上げた状態の表示（図３９に示す画像Ｂ）がされる。ステップＳ３１０３において、Ｒスイッチ１０９（アナログ）の出力値が1〜６３ではないと判断されると、ステップＳ３１０５に進み、６４〜１２７であるか否かが判断される。６４〜１２７であることが判断されると、ステップＳ３１０６に進み、図３９に示す画像Ｃを表示する処理がされる。すなわち、Ｒスイッチ１０９をさらに押し込んだ状態（「Ｒ  Ａｎａｌｏｇ」が６４〜１２７）の場合には、銃をさらに上げた状態の表示（図３９に示す画像Ｃ）がされる。
【０１７５】
同様にして、ステップＳ３１０７およびＳ３１０８において、Ｒスイッチ１０９をさらに押し込んだ状態（「Ｒ  Ａｎａｌｏｇ」の値が１２８から１９１））の場合に、銃をさらに上げた状態の表示（図３９に示す画像Ｄ）がされる。ステップＳ３１０９において、Ｒスイッチ（アナログ）の出力値が１９２〜２５５であると判断されると、銃を完全に構えた状態の表示（図３９に示す画像Ｅ）がされるが、Ｒスイッチ１０９（ディジタル）がオンにならない限り銃は発射されない。画像Ａ，Ｂ，Ｃ，ＤまたはＥが表示された後、銃構え処理を終了する。
【０１７６】
なお、Ｒスイッチ１０９（アナログ）の出力に応じて、プレイヤキャラクタが銃を構える動作表示をする（図３９に示す画像Ａ〜画像Ｅ）のに加えて、図４０を示すように、銃の引き金を引く動作表示をしてもよい。この場合、Ｒスイッチ１０９（アナログ）が開放状態においては、画像Ｆが表示される。Ｒスイッチ１０９（アナログ）を半分程度押した状態においては、画像Ｇが表示され、Ｒスイッチ１０９（アナログ）を深く押した状態においては、画像Ｈが表示される。
【０１７７】
この実施例では、予め用意された画像を用いているが、「Ｒ  Ａｎａｌｏｇ」の値に応じて新たな画像を作成してもよい。たとえば、Ｒスイッチ１０９の押されている量に比例して、銃の引き金を引く量を増やした画像を作成する等である。
【０１７８】
図４１は、図３６に示すメインルーチンのステップＳ２９０４における移動処理のフローチャートである。この移動処理においては、メインアナログジョイスティック１１２の操作に基づいてプレイヤキャラクタを移動表示する処理がされる。まず、ステップ３４０１において、メインアナログジョイスティック１１２の出力値があるか否かが判断される（具体的には、図２１に示す操作データの「Ｍａｉｎ  Ａｎａｌｏｇ  Ｘ」または「Ｍａｉｎ  Ａｎａｌｏｇ  Ｙ」の値のどちらか一方が０ではないか否かが判断される）。出力値がないと判断される場合には、移動処理を終了する。出力値があると判断される場合には、ステップＳ３４０２において、メインアナログジョイスティック１１２の出力値（「Ｍａｉｎ  Ａｎａｌｏｇ  Ｘ」「Ｍａｉｎ  ＡｎａｌｏｇＹ」の値）に応じて移動量および移動方向が決定される。
【０１７９】
ステップＳ３４０２の後、ステップＳ３４０３に進み、Ｒスイッチ１０９（アナログ）の出力があるか否か（具体的には、図２１に示す操作データの「Ｒ  Ａｎａｌｏｇ」の値が０ではないか否か）が判断される。出力がないと判断される場合には、ステップＳ３４０５に進む。出力があると判断される場合には、ステップＳ３４０４において、ステップＳ３４０２において決定された移動量を１／２にする処理がされる。これは、Ｒスイッチ１０９（アナログ）の出力があるときにはプレイヤキャラクタが銃を構える動作表示（図３９に示す画像Ｂ〜画像Ｅ）がされるので、その場合には、移動が容易ではない（操作量に対して移動量が小さい）ような処理をするものである。ステップＳ３４０４の後、ステップＳ３４０５に進む。ステップＳ３４０５において、決定された移動量および移動方向に応じてプレイヤキャラクタを移動表示する処理がされる。
【０１８０】
図４２は、図３６に示すメインルーチンのステップＳ２９０５における敵処理のフローチャートである。この敵処理においては、敵キャラクタの移動処理を行う。まず、ステップＳ３５０１において、敵キャラクタの移動量および移動方向を決定する処理がされる。たとえば、乱数に基づいてランダムに移動量および移動方向が決定される。ステップＳ３５０１の後、ステップＳ３５０２において、移動表示処理が行われる。具体的には、ステップＳ３５０１において決定された移動量および移動方向に応じて移動表示する処理がされる。ステップ３５０２の後、ステップＳ３５０３において、Ｒスイッチ１０９（アナログ）の出力があるか否か（具体的には、図２１に示す操作データの「Ｒ  Ａｎａｌｏｇ」の値が０ではないか否か）が判断される。出力がないと判断される場合には、敵処理を終了する。出力があると判断される場合には、ステップＳ３５０４において、敵キャラクタの表示状態を「撃たないで」という気持ちを表すような表示にする（たとえば、プレイヤキャラクタに向かって手をかざしたり、頭を下げたりする等）。これは、Ｒスイッチ１０９（アナログ）の出力があるときにはプレイヤキャラクタは銃が構える動作表示がされる（図３９に示す画像Ｂ〜画像Ｅ）ので、その場合には、銃構え動作に敵キャラクタが反応するような表示をして、ゲームの興趣を増すものである。
【０１８１】
この実施例のＲスイッチ１０９はディジタルスイッチとしての機能とアナログスイッチとしての機能を備える。さらに、アナログスイッチの操作が最大となったときにディジタルスイッチが連動してオンになる構造であるので、アナログ操作の延長にディジタル操作がある。そこで、この実施例のように、ディジタルスイッチに所定の動作を割り当てる場合に、アナログスイッチの操作量に応じてディジタルスイッチに割り当てられた動作の前の動作表示を行うことによって、プレイヤがディジタルスイッチを押しかけていることを画面に表現することができる。この実施例の変形例としては、紅白の旗を左右の手に持って合図に合わせて揚げる旗揚げゲームにおいて、Ｒスイッチ１０９（ディジタル）がオンになったときに、旗を揚げる処理をするが、Ｒスイッチ１０９（アナログ）の操作量に応じて、旗を揚げかける表示をするものが考えられる。さらに他の変形例としては、ボクシングゲームにおいて、Ｒスイッチ１０９（ディジタル）がオンになったときに、パンチを出す処理をするが、Ｒスイッチ１０９（アナログ）の操作があった場合にはフェイントを出す動作表示をするものが考えられる。この場合に、フェイント動作に応じて敵ボクサが反応する（逃げる）ようなゲームプログラムにしてもよい。さらに他の変形例としては、つりゲームにおいて、Ｒスイッチ１０９（ディジタル）がオンになったとき、竿をキャストする処理をするが、Ｒスイッチ１０９（アナログ）の操作に応じて竿を前後に動かす表示をするものが考えられる。
【０１８２】
次に、図４３および図４４を参照して、この発明の他の実施例であるゴルフゲームを説明する。この実施例のゴルフゲームは、プレイヤゴルファー（プレイヤが操作するゴルファーキャラクタ）がゴルフクラブを振り上げた状態から、プレイヤがＲスイッチ１０９（ディジタル）を押すと、ゴルフクラブが振り下ろされ、ボールを打つゲームである。ボールは、Ｒスイッチ１０９（ディジタル）がオンになる前に操作されたＲスイッチ１０９（アナログ）を押し込むスピードに比例した初速で飛び出す。
【０１８３】
図４３および図４４は、ＣＰＵ２１で実行されるプログラムのフローチャートである。図４３は、メインルーチンのフローチャートである。ゲームを開始すると、まず、ステップＳ３６０１において、初期化処理が行われる。（たとえば、変数ｎを１にする等である。）変数ｎは、図４４を参照して後述するボール処理において使用される変数である。ステップＳ３６０１の後、ステップＳ３６０２において、コントローラ１の操作データが読み取られる。なお、この実施例においては、図２１における（ｂ）のフォーマットが使用される。
【０１８４】
ステップＳ３６０２の後、ステップＳ３６０３において、図４４を参照して後述するボール処理が行われる。ステップＳ３６０３の後、ステップＳ３６０４において、その他の処理が行われる。具体的には、プレイヤゴルファーの移動処理や、画像処理，音声処理等が行われる。ステップＳ３６０４の後、ステップＳ３６０５において、ゲームオーバとなったか否かが判断され、ゲームオーバの場合にはゲームを終了する。ゲームオーバではないと判断された場合には、ステップＳ３６０２に戻ってゲーム処理を繰り返す。
【０１８５】
図４４は、図４３のメインルーチンのステップＳ３６０３におけるボール処理のフローチャートである。このボール処理においては、プレイヤゴルファーが打つボールの移動処理が行われる。具体的には、Ｒスイッチ１０９の操作データ（図２１における「Ｒ」および「Ｒ  Ａｎａｌｏｇ」の値）に基づいてボールの移動処理が行われる。特に、「Ｒ  Ａｎａｌｏｇ」の値に基づいてボールの飛ぶスピードを決定する処理を行う。ボール処理において、変数ｎは、１フレーム毎にインクリメントする変数であり、１フレーム毎のＲスイッチ１０９（アナログ）の出力値をＡ（ｎ）に記憶するためのインデックス変数である。変数ＣｒはＲスイッチ１０９（アナログ）の出力値（図２１に示す「Ｒ  Ａｎａｌｏｇ」）である。変数ＳはＲスイッチ１０９（アナログ）の操作スピードが代入される変数である。
【０１８６】
まず、ステップＳ３７０１において、Ｒスイッチ１０９（ディジタル）がオン（Ｒスイッチ１０９が全押し）か否かを判断する。Ｒスイッチ１０９（ディジタル）がオンでなければ、ステップＳ３７０２に進む。ステップＳ３７０２において、変数Ａ（ｎ）にＣｒ（Ｒスイッチ（アナログ）の出力値（具体的には図２１に示す「Ｒ  Ａｎａｌｏｇ」の値））を代入する。
【０１８７】
ステップＳ３７０２の後、ステップＳ３７０３において、変数ｎを１インクリメント（変数ｎにｎ＋１を代入）し、ステップ３６０４に進む。
【０１８８】
ステップＳ３７０１において、Ｒスイッチ１０９（ディジタル）がオン（Ｒスイッチ１０９が全押し）であると判断されると、ステップＳ３７０４に進む。ステップ３７０４において、変数ｎが３より小さいか否かを判断する。変数ｎが３より小さくなければ（３以上ならば）ステップＳ３７０５に進み、変数ｎが３より小さければ（３未満ならば）ステップＳ３７０３に進み、変数ｎをインクリメントした後、ステップＳ３６０４に進む。この処理は、変数ｎが３以上でなければ、ステップＳ３７０５における速度計算ができないために行っている。
【０１８９】
ステップ３７０５において、変数ＳにＡ（ｎ−１）−Ａ（ｎ−２）を代入する。変数ＳはＲスイッチ１０９（アナログ）を押すスピードを表す変数であり、前フレームのＲスイッチ１０９のアナログ値（Ａ（ｎ−１））から前々フレームのＲスイッチ１０９のアナログ値（Ａ（ｎ−２））を引いた数値が代入される。現在のフレームのＲスイッチ１０９のアナログ値を使用しない理由は、製品の構造や製造精度のばらつきにより、アナログ値が最大値に成る以前にＲスイッチ１０９のディジタルスイッチがオンされるとは限らないからである。この実施例では、前々フレームと前フレームの間のＲスイッチ１０９の操作スピードを検出したが、他のタイミングでＲスイッチ１０９のスピードを検出してもよい（たとえば、３フレーム前と前々フレーム前の間の操作スピード、または、３フレーム前と前フレームの間の操作スピード）。
【０１９０】
ステップＳ３７０５の後、ステップＳ３７０６において、Ｓが０か否かを判断する。Ｓが０でなければステップＳ３７０７に進み、Ｓが０ならばステップＳ３７０３に進み、変数ｎをインクリメントした後、ステップＳ３６０４に進む。この処理は、Ｓが０、つまりＲスイッチ１０９の前々フレームと前フレーム間の速度が０のとき（たとえば、Ｒスイッチ１０９を押しっぱなしのときや、プレイヤが変則的にＲスイッチ１０９を操作したとき等）に、もう一度、プレイヤにゴルフのスウィングをさせるために行っている。
【０１９１】
ステップＳ３７０７において、Ｓに基づいて、ボールの初速度を決定する。たとえば、Ｓｂ（ボールの初速度）＝Ｓ×Ｂ（ＢはＳの値とボールの初速度の関係に基づいて決められた値）等の式によって求めてもよい。たとえば、Ｓが５０ならボールの初速度が３００ｋｍ／ｈとなるように設定する。ステップＳ３７０７の後、ステップＳ３７０８において、初速に応じたボールを表示するための画像データを作成する。ステップＳ３７０８の後、ステップＳ３７０９において、変数ｎを１にし、ステップＳ３６０４に進む。
【０１９２】
以上、図４３〜図４４に示したゲームを実行すると、プレイヤがＲスイッチ１０９を素早く全押したときは、早いスピードのボールを打ち出し、プレイヤがＲスイッチ１０９をゆっくり全押したときは、遅いスピードのボールを打ち出すので、プレイヤがボールを打つ強さを調節しながら、ゴルフクラブをスウィングすることが出来きる。そのため、より臨場感や変化に富んだゴルフゲームを実現できる。
【０１９３】
なお、ゴルフクラブのスウィングは、Ｒスイッチ１０９の動きに同期して動作してもよいし、Ｒスイッチ１０９（ディジタル）のオン後に行ってもよい。
【０１９４】
次に、図４５および図４６を参照して、この発明の他の実施例であるシューティングゲームを説明する。この実施例のシューティングゲームは、プレイヤがコントローラ１のメインアナログジョイスティック１１２を操作してプレイヤ戦闘機（プレイヤが操作する戦闘機）を移動制御し、プレイヤがＲスイッチ１０９（ディジタル）をオンしたときにレーザビームを発射し、敵を攻撃するゲームである。レーザビームは、Ｒスイッチ１０９（ディジタル）がオンされる前のＲスイッチ１０９（アナログ）の操作量に応じて威力が異なる。この実施例では、戦闘機ゲームを示すが、敵を攻撃するゲームであれば、どの様なゲームにも適用可能である。
【０１９５】
図４５および図４６は、ＣＰＵ２１で実行されるプログラムのフローチャートである。図４５は、メインルーチンのフローチャートである。ゲームを開始すると、まず、ステップＳ３８０１において、初期化処理が行われる。たとえば、変数ｎを１にしたり、変数ＰＷを０にする等の処理が行われる。変数ｎおよび変数ＰＷは、後ほど詳細に説明する。ステップＳ３８０１の後、ステップＳ３８０２において、コントローラ１の操作情報が読み取られる。なお、この実施例においては、図２１における（ｂ）のフォーマットが使用される。
【０１９６】
ステップＳ３８０２の後、ステップＳ３８０３において、プレイヤ戦闘機の移動処理が行われる。具体的には、メインアナログジョイスティック１１２の操作情報（図２１における「Ｍａｉｎ  Ａｎａｌｏｇ  Ｘ」および「Ｍａｉｎ  Ａｎａｌｏｇ  Ｙ」の値）に基づいてプレイヤ戦闘機の移動処理が行われる。たとえば、Ｍａｉｎ  Ａｎａｌｏｇ  Ｘの値がプラスなら、その値に応じてプレイヤ戦闘機を右方向に移動させ、Ｍａｉｎ  Ａｎａｌｏｇ  Ｘの値がマイナスなら、その値に応じてプレイヤ戦闘機を左方向に移動させ、Ｍａｉｎ  Ａｎａｌｏｇ  Ｙの値がプラスなら、その値に応じてプレイヤ戦闘機を上方向に移動させ、Ｍａｉｎ  Ａｎａｌｏｇ  Ｙの値がマイナスなら、その値に応じてプレイヤ戦闘機を下方向に移動させる。
【０１９７】
ステップＳ３８０３の後、ステップＳ３８０４において、図４６を参照して後述する攻撃処理が実行される。ステップＳ３８０４の後、ステップＳ３８０５において、その他の処理が行われる。具体的には、敵オブジェクトの移動処理やプレイヤ戦闘機およびその他のオブジェクトの画像処理やＢＧＭ等の音処理等が行われる。
【０１９８】
ステップＳ３８０５の後、ステップＳ３８０６において、ゲームオーバとなったか否かが判断され、ゲームオーバの場合にはゲームを終了する。ゲームオーバではないと判断された場合には、ステップＳ３６０２に戻ってゲーム処理を繰り返す。
【０１９９】
図４６は、図４５のメインルーチンのステップＳ３８０４におけるプレイヤ戦闘機の攻撃処理のフローチャートである。この攻撃処理において、Ｒスイッチ１０９（ディジタル）のオンに応じてレーザビームを発射する処理を行う。このとき、Ｒスイッチ１０９（アナログ）の操作データに基づいてレーザビームの威力を決定する。攻撃処理において、変数ｎは、Ｒスイッチ１０９（ディジタル）がオフの間、１フレーム毎にインクリメントする変数であり、１フレーム毎のＲスイッチ１０９（アナログ）の出力値をＡ（ｎ）に記憶するためのインデックス変数である。ＣｒはＲスイッチ１０９（アナログ）の出力値（図２１に示す「Ｒ  Ａｎａｌｏｇ」）である。変数ＳにはＲスイッチ１０９（アナログ）の操作の変化量が代入される。変数ＰＷはレーザビームの威力を表す変数である。
【０２００】
まず、ステップＳ３９０１において、Ｒスイッチ１０９（ディジタル）がオン（Ｒスイッチ１０９が全押し）か否かが判断される。Ｒスイッチ１０９（ディジタル）がオンでなければ、ステップＳ３９０２に進む。ステップＳ３９０２において、変数Ａ（ｎ）にＣｒが代入される。
【０２０１】
ステップＳ３７０３において、変数ｎが２より小さいか否かを判断する。変数ｎが２より小さくなければ（２以上ならば）ステップＳ３８０４に進み、変数ｎが２より小さければ（２未満ならば）ステップＳ３９０６に進む。この処理は、次のステップＳ３９０４において、ｎ−１が０以下になり、変数Ａ（ｎ−１）に数値が入っていないことを防ぐための処理である。
【０２０２】
ステップＳ３９０４において、変数ＳにＡ（ｎ）−Ａ（ｎ−１）を代入する。変数Ｓは、前フレームのＲスイッチ１０９のアナログ値から現在のフレームのＲスイッチ１０９のアナログ値を引いた数値であり、Ｒスイッチ１０９が１フレーム中に押し込まれた（または押し戻された）量を表す。ステップＳ３９０４の後、ステップＳ３９０５において、変数ＰＷにＰＷ＋ＡＢＳ（Ｓ）を代入する。レーザビームの威力をあらわす変数ＰＷは、プレイヤ戦闘機が前回攻撃してから（Ｒスイッチ１０９（ディジタル）がオンとなってから）現在迄にプレイヤがＲスイッチ１０９（アナログ）を押したり戻したりすることによって増加する。ＡＢＳ（Ｓ）は、変数Ｓの絶対値を表す。
【０２０３】
ステップＳ３９０５の後、ステップＳ３９０６において、変数ｎを１インクリメント（変数ｎにｎ＋１を代入）し、ステップＳ３８０５に進む。
【０２０４】
ステップＳ３９０１において、Ｒスイッチ１０９（ディジタル）がオンならば、ステップＳ３９０７に進む。ステップＳ３９０７において、変数ＰＷの値に応じた攻撃処理を行う。たとえば、戦闘機どうしがレーザビームで打ち合うゲームであって、それぞれの戦闘機にライフポイントおよび攻撃力が設定されており、攻撃した戦闘機の攻撃力に応じて、攻撃された戦闘機のライフポイントが減少し、ライフポイントが０に成ったときに戦闘機が爆破され、爆破された戦闘機が負け、爆破した戦闘機が勝つというゲームがある。この願の変数ＰＷは、このゲームのレーザビームの攻撃力を決定するために用いられ、変数ＰＷが大きければ、攻撃力が上がり、敵を早く倒すことができ、変数ＰＷが小さければ、攻撃力が下がり、敵をなかなか倒すことができない。ただし、変数ＰＷを大きくするには、Ｒスイッチ１０９を長い期間、Ｒスイッチ１０９（ディジタル）をオンしないように、押し込んだり、押し戻したりして動かさなければならない。（人差し指で、カチャカチャと上下運動させなければならない。）その間に敵の戦闘機に攻撃される可能性があるので、どの程度変数ＰＷを大きくして、Ｒスイッチ１０９（ディジタル）をオンすべきかがゲームの勝敗を分けることとなる。
【０２０５】
ステップＳ３９０７の後、ステップＳ３９０８において、変数ｎを１にし、変数ＰＷを０にし、ステップＳ３８０５に進む。
【０２０６】
以上、図４５および図４６に示したゲームは、プレイヤがＲスイッチ１０９を人差し指で、カチャカチャと上下運動させた回数（および押し込んだ量）によって、敵戦闘機を攻撃する攻撃力を変化させるというこれまでになかった操作方法を実現できる。また、この願は、エネルギ（ＰＷ）をためる動作（Ｒスイッチ１０９（アナログ）をカチャカチャと操作する）と発射する動作（Ｒスイッチ１０９（ディジタル）をオンにする）とを同じスイッチで実現できるため操作性に優れたゲームを提供することが可能である。
【０２０７】
この発明が詳細に説明され図示されたが、それは単なる図解および一例として用いたものであり、限定であると解されるべきではないことは明らかであり、この発明の精神および範囲は添付されたクレームの文言によってのみ限定される。
【図１】
2012011220.tif 000003
【図２】
2012011220.tif 000004
【図３】
2012011220.tif 000005
【図４】
2012011220.tif 000006
【図５】
2012011220.tif 000007
【図６】
2012011220.tif 000008
【図７】
2012011220.tif 000009
【図８】
2012011220.tif 000010
【図９】
2012011220.tif 000011
【図１０】
2012011220.tif 000012
【図１１】
2012011220.tif 000013
【図１２】
2012011220.tif 000014
【図１３】
2012011220.tif 000015
【図１４】
2012011220.tif 000016
【図１５】
2012011220.tif 000017
【図１６】
2012011220.tif 000018
【図１７】
2012011220.tif 000019
【図１８】
2012011220.tif 000020
【図１９】
2012011220.tif 000021
【図２０】
2012011220.tif 000022
【図２１】
2012011220.tif 000023
【図２２】
2012011220.tif 000024
【図２３】
2012011220.tif 000025
【図２４】
2012011220.tif 000026
【図２５】
2012011220.tif 000027
【図２６】
2012011220.tif 000028
【図２７】
2012011220.tif 000029
【図２８】
2012011220.tif 000030
【図２９】
2012011220.tif 000031
【図３０】
2012011220.tif 000032
【図３１】
2012011220.tif 000033
【図３２】
2012011220.tif 000034
【図３３】
2012011220.tif 000035
【図３４】
2012011220.tif 000036
【図３５】
2012011220.tif 000037
【図３６】
2012011220.tif 000038
【図３７】
2012011220.tif 000039
【図３８】
2012011220.tif 000040
【図３９】
2012011220.tif 000041
【図４０】
2012011220.tif 000042
【図４１】
2012011220.tif 000043
【図４２】
2012011220.tif 000044
【図４３】
2012011220.tif 000045
【図４４】
2012011220.tif 000046
【図４５】
2012011220.tif 000047
【図４６】
2012011220.tif 000048
【図４７】
2012011220.tif 000049
【手続補正書】
【提出日】平成23年10月6日(2011.10.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】削除
【補正の内容】
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】削除
【補正の内容】
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】削除
【補正の内容】
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】削除
【補正の内容】
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】削除
【補正の内容】
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】削除
【補正の内容】
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】削除
【補正の内容】
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】削除
【補正の内容】
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】削除
【補正の内容】
【手続補正２１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゲームに登場するキャラクタの動作を指示するためのゲーム機用操作装置であって、
ハウジング、
前記ハウジングの一方主面上における一方側面近傍であって、ハウジングを把持する一方の手の親指の近傍位置に配置されるメインスイッチ、および、
前記メインスイッチの下部領域を除きかつ親指の移動可能な範囲の領域に、メインスイッチの周囲に分散して複数個配置されるサブスイッチを備え、
前記複数のサブスイッチは、前記メインスイッチの上部領域に配置される第１のサブスイッチと、メインスイッチの左側領域に配置される第２のサブスイッチと、メインスイッチの右側領域に配置される第３のサブスイッチを含んで構成され、それぞれがメインスイッチの形状よりも小さな形状とすることを特徴とする、ゲーム機用操作装置。
【請求項２】
前記メインスイッチは、形状が円形に形成され、
前記サブスイッチは、前記メインスイッチを中心として同心円上に配置される、請求項１記載のゲーム機用操作装置。
【請求項３】
前記第１のサブスイッチは、前記メインスイッチの中心を通る前記ハウジングの縦方向の軸をハウジングの中心方向に所定角度だけ傾けた第１の軸上に配置される、請求項１または２記載のゲーム機用操作装置。
【請求項４】
前記第２のサブスイッチと前記第３のサブスイッチは、前記第１の軸に対して対称な位置に配置される、請求項３記載のゲーム機用操作装置。
【請求項５】
ゲームに登場するキャラクタの動作を指示するためのゲーム機用操作装置であって、
ハウジング、
前記ハウジングの一方主面上における一方側面近傍であって、ハウジングを把持する一方の手の親指の近傍位置に配置されるメインスイッチ、および、
前記メインスイッチの上部領域であり、かつ前記メインスイッチの中心を通る前記ハウジングの縦方向の軸をハウジングの中心方向に傾けた第１の軸上に配置される、メインスイッチの形状よりも小さな形状をした第１のサブスイッチを備える、ゲーム機用操作装置。
【請求項６】
前記ハウジングは、前記メインスイッチの下部領域から前記第１の軸に略平行な方向に突出し、かつプレイヤの一方の手のひらで握り締められる形状をしたグリップをさらに備える、請求項３ないし５のいずれかに記載のゲーム機用操作装置。
【請求項７】
前記第１のサブスイッチは、そのキートップが前記メインスイッチのキートップよりも高く形成される、請求項１ないし５のいずれかに記載のゲーム機用操作装置。
【請求項８】
前記第２のサブスイッチまたは前記第３のサブスイッチのうち前記メインスイッチより前記ハウジングの中心側に配置されるサブスイッチは、そのキートップが前記メインスイッチのキートップよりも低く形成される、請求項１ないし４のいずれかに記載のゲーム機用操作装置。
【請求項９】
前記サブスイッチは、前記メインスイッチの形状の外周に沿って延伸した形状である、請求項1ないし８のいずれかに記載のゲーム機用操作装置。
【請求項１０】
前記ハウジングの一方主面上における他方側面近傍であって、ハウジングを把持する他方の手の親指の位置の近傍に配置され、かつゲームに登場するキャラクタの移動方向を指示する方向指示操作部をさらに備える、請求項1ないし１０のいずれかに記載のゲーム機用操作装置。。
【請求項１１】
ゲームに登場するキャラクタの動作を指示するためのゲーム機用操作装置であって、
横長形状をしたハウジング、
前記ハウジングの一方主面上における一方側面近傍であって、ハウジングを把持する一方の手の親指の近傍位置に配置されるメインスイッチ、および、
前記メインスイッチの下部領域を除きかつ親指の移動可能な範囲の領域に、メインスイッチの周囲に分散して複数個配置されるサブスイッチを備え、
前記複数のサブスイッチは、前記メインスイッチの上部領域に配置される第１のサブスイッチと、メインスイッチの左側領域に配置される第２のサブスイッチと、メインスイッチの右側領域に配置される第３のサブスイッチを含んで構成され、かつ、それぞれがメインスイッチの形状よりも小さな形状に選ばれ、
前記第１のサブスイッチは、前記メインスイッチの中心を通る前記ハウジングの縦方向の軸をハウジングの中心方向に所定角度だけ傾けた第１の軸上に配置される、ゲーム機用操作装置。
【請求項１２】
前記メインスイッチは、形状が円形に形成され、
前記複数のサブスイッチは、前記メインスイッチを中心として同心円上に配置され、かつ同心円の円周方向に延伸した形状である、請求項１１記載のゲーム機用操作装置。