(57)【特許請求の範囲】
【請求項１】
通信相手装置と非接触通信で送受信制御を行う端末装置であって、
近距離にある通信相手装置を検索することで当該通信相手装置との通信を一時的に確立する通信確立手段と、
当該端末装置本体の姿勢または動作を検出する検出手段と、
前記通信相手装置との一時的な通信確立後にあって、前記検出手段で検出した当該端末装置の姿勢または動作に基づいて、当該端末装置を送信モードとするか受信モードとするかを設定する設定手段と、
前記設定手段で当該端末装置を送信モードに確定して設定した際は、前記通信相手装置に受信モード設定を指示して当該通信相手装置に対するデータ送信処理を制御し、前記設定手段で当該端末装置を受信モードに確定して設定した際は、前記通信相手装置に送信モード設定を指示して当該通信相手装置からのデータ受信処理を制御し、前記何れのモードにも確定しない場合にはエラーとして一時的に確立した前記通信を解除し、前記通信確立手段による再度の検索を行うように制御する送受信制御手段と、
を具備したことを特徴とする端末装置。
【請求項２】
前記送受信制御手段によるデータ送信あるいはデータ受信後にあっては、当該端末装置本体による新たな姿勢または動作を前記検出手段により再度検出した際は、前記設定手段による設定と前記送受信制御手段による制御とを新たに行う、
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
当該端末装置本体に対する動作パターンを検出する動作検出手段と、
を更に具備し、
前記送受信制御手段は、前記動作検出手段で検出された動作が、複数種類の動作パターンの内の何れに該当するかを判別し、その判別された動作パターンに対応する通信処理内容により前記データを送信制御あるいは受信制御する、
ことを特徴とする請求項１又は２に記載の端末装置。
【請求項４】
前記通信相手装置のとの通信確立後にあって、その通信相手装置の姿勢を当該通信相手装置から取得する取得手段と、
を更に具備し、
前記設定手段は、前記検出手段で検出した当該端末装置の姿勢と、前記取得手段で取得した前記通信相手装置の姿勢と、に基づいて、当該端末装置を送信モードあるいは受信モードに設定する、
ことを特徴とする請求項１〜３の何れかに記載の端末装置。
【請求項５】
前記設定手段は、当該端末装置の姿勢と前記通信相手装置の姿勢とを比較し、その比較結果に基づいて、当該端末装置と前記通信相手装置との何れか一方を送信モードとして設定し、他方を受信モードとして設定する、
ことを特徴とする請求項４に記載の端末装置。
【請求項６】
通信相手装置と非接触通信で送受信制御を行う端末装置であって、
当該端末装置本体の姿勢または動作を検出する検出手段と、
近距離にある前記通信相手装置を検索することで当該通信相手装置を通信相手として特定し、その特定された通信相手装置との通信確立を行った後にその通信相手装置の姿勢または動作を当該通信相手装置から取得する取得手段と、
前記検出手段で検出した当該端末装置の姿勢または動作と、前記取得手段で取得した前記通信相手装置の姿勢または動作と、に基づいて、複数の通信動作内容の内で、前記通信確立後に当該端末装置と前記通信相手装置との間で通信を行う際の双方の通信動作内容を決定する決定手段と、
前記決定手段で決定された通信動作内容に基づいて当該端末装置と前記通信相手装置との間での非接触通信を行う通信制御手段と、
を具備したことを特徴とする端末装置。
【請求項７】
前記決定手段は、当該端末装置の姿勢と前記通信相手装置の姿勢とを比較し、その比較結果に基づいて、当該端末装置と前記通信相手装置の通信動作内容を、何れかを一方を送信モードとし、他方を受信モードとして決定する、
ことを特徴とする請求項６に記載の端末装置。
【請求項８】
前記決定手段は、当該端末装置の動作と前記通信相手装置の動作と、を比較し、その比較結果に基づいて、複数種の通信処理内容の内の何れかの通信処理内容を、当該端末装置と前記通信相手装置との通信動作内容として決定する、
ことを特徴とする請求項６又は７に記載の端末装置。
【請求項９】
通信相手装置と非接触通信で送受信制御を行う端末装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
近距離にある通信相手装置を検索することで当該通信相手装置との通信を一時的に確立する通信確立手段、
当該端末装置本体の姿勢または動作を検出する検出手段、
前記通信相手装置との一時的な通信確立後にあって、前記検出手段で検出した当該端末装置の姿勢または動作に基づいて、当該端末装置を送信モードとするか受信モードとするかを設定する設定手段、
前記設定手段で当該端末装置を送信モードに確定して設定した際は、前記通信相手装置に受信モード設定を指示して当該通信相手装置に対するデータ送信処理を制御し、前記設定手段で当該端末装置を受信モードに確定して設定した際は、前記通信相手装置に送信モード設定を指示して当該通信相手装置からのデータ受信処理を制御し、前記何れのモードにも確定しない場合にはエラーとして一時的に確立した前記通信を解除し、前記通信確立手段による再度の検索を行うように制御する送受信制御手段、
として機能させるようにしたコンピュータ読み取り可能なプログラム。
【請求項１０】
通信相手装置と非接触通信で送受信制御を行う端末装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
当該端末装置本体の姿勢または動作を検出する検出手段、
近距離にある前記通信相手装置を検索することで当該通信相手装置を通信相手として特定し、その特定された通信相手装置との通信確立を行った後にその通信相手装置の姿勢または動作を当該通信相手装置から取得する取得手段、
前記検出手段で検出した当該端末装置の姿勢または動作と、前記取得手段で取得した前記通信相手装置の姿勢または動作と、に基づいて、複数の通信動作内容の内で、前記通信確立後に当該端末装置と前記通信相手装置との間で通信を行う際の双方の通信動作内容を決定する決定手段、
前記決定手段で決定された通信動作内容に基づいて当該端末装置と前記通信相手装置との間での非接触通信を行う通信制御手段、
として機能させるようにしたコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置及びプログラムに関する。
【背景技術】
【０００２】
従来、商品に取り付けられたＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）タグ等のＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）カードを、ＮＦＣ技術を用いて読取り、当該ＮＦＣカードに書き込まれたデータを取得可能な機能を備えるハンディターミナルなどの端末装置が知られている。当該端末装置は、上記データの読取り機能に加えて、自機と相手機（通信相手）との間で上記ＮＦＣ技術を用いた通信機能が備えられており、読取ったデータを送受信等することにより商品に関する管理情報を相互に収集可能なことから、商品資産の棚卸しや商品の在庫管理など多様な用途がある。
【０００３】
ところが、端末装置にて上記ＮＦＣ技術を用いた通信機能を実行するには、通信時において自機と相手機の端末装置を送信モードとするか受信モードとするか、を操作パネルなどを介して事前に設定しておく必要があった。そのため、通信設定に手間や時間がかかるとともに、端末装置の設定操作の習熟が要求されるので、ユーザにとって利便性に欠くという問題があった。
【０００４】
そこで、デジタルカメラにおいて、姿勢検出装置を備え、当該姿勢検出装置にてデジタルカメラの姿勢を検知し、下向きの姿勢にあるデジタルカメラ（送信モードのデジタルカメラ）より上向きの姿勢にあるデジタルカメラ（受信モードのデジタルカメラ）に向けて、自動的に画像データの送信が可能なものが知られている（例えば、特許文献１等参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２００９−２５３５１１号公報
【０００６】
上記特許文献１に記載のデジタルカメラによると、通信設定における送信モードと受信モードの事前設定が不要になるため、データの送受信が容易になる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に記載のデジタルカメラでは、通信内容としてデータの送受信が可能であれば足りると推測されるが、商品の在庫管理などの多様な用途を備える端末装置では、例えば、データの送受信，データの初期化，自機と相手機とのデータの同期処理，などのように通信内容が多岐に亘る場合が考えられる。このような場合、ユーザは操作パネルなどを介して実施すべき通信内容を事前に設定しておく必要があるため、ユーザにとって依然利便性に欠くという問題があった。
【０００８】
そこで、本発明の課題は、ユーザにとっての利便性の高い端末装置及びプログラムを提供する。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、通信相手装置と非接触通信で送受信制御を行う端末装置であって、近距離にある通信相手装置を検索することで当該通信相手装置との通信を一時的に確立する通信確立手段と、当該端末装置本体の姿勢または動作を検出する検出手段と、前記通信相手装置との一時的な通信確立後にあって、前記検出手段で検出した当該端末装置の姿勢または動作に基づいて、当該端末装置を送信モードとするか受信モードとするかを設定する設定手段と、前記設定手段で当該端末装置を送信モードに確定して設定した際は、前記通信相手装置に受信モード設定を指示して当該通信相手装置に対するデータ送信処理を制御し、前記設定手段で当該端末装置を受信モードに確定して設定した際は、前記通信相手装置に送信モード設定を指示して当該通信相手装置からのデータ受信処理を制御し、前記何れのモードにも確定しない場合にはエラーとして一時的に確立した前記通信を解除し、前記通信確立手段による再度の検索を行うように制御する送受信制御手段、を具備したことを特徴とする。
【００１０】
請求項６に記載の発明は、通信相手装置と非接触通信で送受信制御を行う端末装置であって、当該端末装置本体の姿勢または動作を検出する検出手段と、近距離にある前記通信相手装置を検索することで当該通信相手装置を通信相手として特定し、その特定された通信相手装置との通信確立を行った後にその通信相手装置の姿勢または動作を当該通信相手装置から取得する取得手段と、前記検出手段で検出した当該端末装置の姿勢または動作と、前記取得手段で取得した前記通信相手装置の姿勢または動作と、に基づいて、複数の通信動作内容の内で、前記通信確立後に当該端末装置と前記通信相手装置との間で通信を行う際の双方の通信動作内容を決定する決定手段と、前記決定手段で決定された通信動作内容に基づいて当該端末装置と前記通信相手装置との間での非接触通信を行う通信制御手段と、を具備したことを特徴とする。
【発明の効果】
【００１１】
したがって、本発明は、ユーザにとっての利便性の高い端末装置及びプログラムを提供できる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る端末装置を模式的に例示した外観図である。
【図２】図１の端末装置の制御構造を表すブロック図である。
【図３】本発明に係る自機と通信相手とが行う通信処理を説明するためのフローチャートである。
【図４】本発明に係る自機を通信相手との通信時における送信モードに設定するパターンと受信モードに設定するパターンとがランダムに切換わる状態を説明するための図である。
【図５】本発明に係る端末装置１の姿勢変化量を模式的に説明するための図である。
【図６】本発明に係る機能識別コードテーブルを説明するための図である。
【図７】本発明に係る通信処理テーブルを説明するための図である。
【図８】本発明に係る端末装置１の動作パターン１〜６を説明するための図である。
【図９】本発明に係る端末装置１の動作パターン７〜１１を説明するための図である。
【図１０】密着状態が成立している場合の自機１ａと通信相手１ｂの位置関係及び姿勢変化量を説明するための図である。
【図１１】近接状態が成立している場合の自機１ａと通信相手１ｂの位置関係及び姿勢変化量を説明するための図である。
【図１２】本発明に係る通信状態確立処理を説明するためのフローチャートである。
【図１３】本発明に係る機能確認処理を説明するためのフローチャートであり、（ｉ）は自機が送信モード且つ通信相手１ｂが受信モードに一時的に設定されている場合の処理、（ｉｉ）は自機が受信モード且つ通信相手１ｂが送信モードに一時的に設定されている場合の処理、をそれぞれ示す。
【図１４】本発明に係る機能識別コードが自機と通信相手とで相違する場合に何れの機能識別コードを用いるかを例示した図である。
【図１５】本発明に係る通信実行処理を説明するためのフローチャートである。
【図１６】本発明に係る第１動作判断処理を説明するためのフローチャートである。
【図１７】本発明に係る第１動作判断処理を説明するためのフローチャートである。
【図１８】本発明に係る送信モード処理を説明するためのフローチャートである。
【図１９】本発明に係る受信モード処理を説明するためのフローチャートである。
【図２０】本発明に係る第２動作判断処理を説明するためのフローチャートである。
【図２１】本発明に係る第２動作判断処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は図示例に限定されない。なお、以下の説明では、図１における端末装置１の左右方向をＸ軸方向、前後方向をＹ軸方向、高さ方向をＺ軸方向とする。
【００１４】
本実施形態に係る端末装置１は、ハンディターミナルなどの端末である。そして、端末装置１の筐体２の外部には、図１に示されるように、上面側に設けられ、画像表示を行う表示部５０と、表示部５０の前方に設けられ、ユーザが各種操作を行うための操作部４０と、が備えられる。また、表示部５０の周囲には、当該表示部５０を取囲むように矩形状に設けられ、ＮＦＣ技術を用いた通信を行う通信アンテナ２０が筐体２内部に内蔵されており、ＮＦＣカードの読取り，自機と通信相手（例えば、他の端末装置１）との相互通信を行う。ここで、以下の説明では、自機及び通信相手は、別個に設けられた二台の端末装置１と便宜上定め、自機には符号１ａを、通信相手には符号１ｂを付すものとする。
【００１５】
次に、端末装置１の制御構造について、図２のブロック図を用いて説明する。
【００１６】
端末装置１は、図２に示すように、通信モジュール部１０と、通信アンテナ２０と、センサ部３０と、操作部４０と、表示部５０と、音声出力部５５と、２次記憶部６０と、電源部７０と、制御部１００と、を含んで構成される。
【００１７】
通信モジュール部１０は、ＮＦＣ技術を用いて非接触で通信相手１ｂとの通信を行うためのＮＦＣ規格に準拠したＮＦＣリーダ／ライタである。そして、通信モジュール部１０は、ＲＦＩＤタグやその他の非接触ＩＣカード等のＮＦＣカードとの通信，又はＮＦＣリーダ／ライタを備えた通信相手１ｂとの相互通信を行う。具体的には、通信モジュール部１０は、ＮＦＣカードに誘導起電力による電力供給を行うためのキャリア電波の送信、ＮＦＣカードや通信相手１ｂと通信状態を確立するための応答要求信号（検索信号）や応答信号の送受信、通信処理内容に応じた通信処理信号、当該通信処理信号に対する応答処理を表す応答処理信号の送受信、等を通信アンテナ２０を介して行う。
また、通信モジュール部１０は、制御部１００より送信される制御信号に応じて、ＮＦＣ技術を用いた通信を実行する際に、自機１ａを送信モード（送信側）に設定するか受信モード（受信側）に設定するかの切換えを行う。上記切換えにより、自機１ａが送信モード（又はイニシエータモード）に設定され、通信相手１ｂが受信モード（又はターゲットモード）に設定された際の通信処理のフローが図３に例示される。
図３に示すように、送信モードに設定された自機１ａは応答要求信号を送信して通信相手１ｂを検索する。そして、受信モードに設定された通信相手１ｂが当該応答要求信号を受信し、自機１ａが通信相手１ｂより応答信号を受信できた場合に通信相手１ｂの検索が成功した（通信状態が確立される）こととなる。そして、当該通信状態が確立された状態で、自機１ａが通信処理内容に応じた通信処理信号を通信相手１ｂに送信し、通信相手１ｂより応答処理信号を受信できた場合に通信処理が完了する。ここで、通信処理内容としては、自機１ａと通信相手１ｂとの間でのデータの送受信処理，送信モードに設定された自機１ａ（通信相手１ｂ）の設定値に基づく通信相手１ｂ（自機１ａ）の初期化処理，自機１ａと通信相手１ｂの双方の端末間でのデータの同期処理、等がある。
【００１８】
通信アンテナ２０は、所定のコイル巻数からなるアンテナコイルであり、通信モジュール部１０からの要求に応じて、キャリア電波や信号（応答要求信号，応答信号，通信処理信号、応答処理信号など）の送受信を行う。
【００１９】
センサ部３０は、加速度センサ３１と、角速度検出センサ３２と、を含んで構成される。
加速度センサ３１は、端末装置１がユーザによってＸ，Ｙ，Ｚ軸方向に並進移動された際のＸ，Ｙ，Ｚ軸方向それぞれの加速度を検出するための３軸加速度センサである。
角速度検出センサ３２は、例えば、ジャイロセンサ（ジャイロスコープ）であり、ヨー方向，ローリング方向，ピッチング方向，それぞれの角速度を検出する。
そして、加速度センサ３１にて検出された加速度及び角速度検出センサ３２にて検出された角速度は、ＡＤ変換器（図示省略）等を介して制御部１００に出力されることで、端末装置１（装置本体）の姿勢及び動作（アクション）が把握されるように構成されている。
【００２０】
操作部４０は、端末装置１をユーザが操作するための各種操作キーやボタン等を備えて構成され、ユーザにより操作された際に、当該操作された操作キーやボタンに応じた操作信号を制御部１００に出力するように構成されている。
【００２１】
表示部５０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＥＬＤ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等により構成され、制御部１００から入力される表示制御信号に応じて各種画像の表示処理を行う。なお操作部４０は、当該表示部５０と一体的にタッチパネルとして構成してもよい。
音声出力部５５は、制御部１００から入力される音声出力信号に従って、ビープ音やアラーム音を発生させて音声出力を行う。
【００２２】
２次記憶部６０は、読み書き可能な不揮発性メモリであるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ Ｅｒａｓａｂｌｅ Ｐｒｏｇｒａｍｍａｂｌｅ ＲＯＭ）やフラッシュメモリであり、制御部１００からの制御信号に従って、ユーザにより設定されたシステムや各機能に関する設定データ，通信相手１ｂとの通信時に送受信するデータや同期処理実行時のデータなどの各種データを記憶・更新する。
電源部７０は、端末装置１の各部に対して必要な電力供給を行う電源である。具体的には、電源部７０は、図示は省略するが、電気エネルギーを生成する蓄電池、当該電気エネルギーを端末装置１の各部で必要とされる適切な電圧に変換するＤＣ／ＤＣコンバータ、等を含んで構成される。
【００２３】
制御部１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２０と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３０と、を含んで構成され、端末装置１の各部を統括制御するコンピュータとして機能する。
【００２４】
ＣＰＵ１１０は、端末装置１の各部から入力される入力信号に応じて、ＲＯＭ１３０に記憶された各種プログラム（プログラムコード）を実行するとともに、実行に係るプログラムに基づいて各部に出力信号を出力することにより、端末装置１の動作全般を統括制御する。具体的には、ＣＰＵ１１０は、通信モジュール部１０の駆動制御、操作部４０が操作された際の各種操作信号に対する実行制御、表示部５０を介した画像の表示制御、音声出力部５５を介した音声出力制御などを行う。
ＲＡＭ１２０は、ＣＰＵ１１０によって実行される処理プログラムなどを展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果などを一次的に格納するためのデータ格納領域などを備える。具体的には、ＲＡＭ１２０は、ＣＰＵ１１０が表示部５０に表示制御するための文字列、ＣＰＵ１１０が処理プログラムを実行する際に使用するフラグの現在値（０：正常値、−１：エラー値、１：通信終了値）、自機１ａに現在設定されているモード（送信モード又は受信モード）、加速度センサ３１にて検出された加速度及び角速度検出センサ３２にて検出された角速度、等を記憶する。
【００２５】
ＲＯＭ１３０は、例えば、端末装置１で実行可能なシステムプログラムや、当該システムプログラムで実行可能な各種処理プログラム、上記処理プログラムを実行する際に使用されるデータなどを記憶する。具体的には、ＲＯＭ１３０は、表示部５０や音声出力部５５に出力する各種文字列や音声、通信処理内容に係る初期化処理の実行時の設定値、機能識別コードテーブル１３１と、動作パターンテーブル１３２と、端末装置１の属する通信グループを識別するためのグループ識別コードＧと、通信相手検索プログラムと、姿勢／動作取得プログラムと、通信処理プログラムと、などを記憶する。
【００２６】
次に、ＲＯＭ１３０に記憶された通信相手検索プログラム、姿勢／動作取得プログラムについて説明する。
【００２７】
通信相手検索プログラムは、自機１ａを通信相手１ｂとの通信時における送信側に設定するパターンと受信側に設定するパターンとをランダムな時間間隔で順次切換え、通信相手１ｂを検索する機能をＣＰＵ１１０に実行させるためのプログラムである。
具体的には、ＣＰＵ１１０が通信相手検索プログラムを実行すると、図４に示すように、通信モジュール部１０を介して、予めＲＯＭ１３０に記憶されたランダム係数に基づくランダムな時間間隔で、送信モードに設定するパターンと受信モードに設定するパターンと、を順次切換える。そして、自機１ａが送信モードで且つ通信相手１ｂが受信モードに設定されているタイミングＴ１や、自機１ａが受信モードで且つ通信相手１ｂが送信モードに設定されているタイミングＴ２において、通信モジュール部１０による応答要求信号及び応答信号の送受信が可能になるので、通信相手１ｂの検索が成功する（通信状態が確立される）こととなる。なお、上記ランダムな切換えにより自機１ａ及び通信相手１ｂに設定される送信モード／受信モードは、通信状態を確立するための一時設定であり、通信処理実行時において自機１ａ及び通信相手１ｂの何れを送信モード／受信モードとするかは、通信処理プログラムの実行時に決定される。
【００２８】
姿勢／動作取得プログラムは、センサ部３０より検出される端末装置１の加速度及び角速度に基づいて、端末装置１の姿勢／動作を取得する機能をＣＰＵ１１０に実行させるプログラムである。
具体的には、ＣＰＵ１１０は、ユーザにより端末装置１が傾斜された状態で、角速度検出センサ３２よりヨー方向，ローリング方向，ピッチング方向，それぞれの角速度を取得する。そして、ＣＰＵ１１０は、当該角速度に基づいて、端末装置１の姿勢を姿勢変化量Θｘ，Θｙ，Θｚとして導出する。この姿勢変化量は、例えば、Θの添え字以外の２軸（例えば、添え字がｚの場合、ＸＹ軸）が形成する平面からの端末装置１の傾斜角（°）を表し、当該２軸回りそれぞれの傾斜角の平均等により取得する。具体的には、図５に示すように、Θｚは、ＸＹ軸が形成する平面からの端末装置１の傾斜角であり、時計回りに（端末装置１が底面側から上面側に向かって）傾斜した場合を正方向（０°〜１８０°）、反時計回りに（端末装置１が上面側から底面側に向かって）傾斜した場合を負方向（０°〜−１８０°）とする。そのため、ＣＰＵ１１０は、｜９０°｜＜Θｚ≦｜１８０°｜の範囲にあるときに端末装置１が下向きの姿勢、｜０°｜≦Θｚ＜｜９０°｜の範囲にあるときに端末装置１が上向きの姿勢、と判断できる。
次に、ＣＰＵ１１０は上記特定（導出）した端末装置１の姿勢を基準として、ユーザにより端末装置１がＸ，Ｙ，Ｚ軸方向へ並進移動された又はヨー方向（Ｚ軸回り）に回転された場合の加速度及び角速度を加速度センサ３１及び角速度検出センサ３２より取得する。そして、ＣＰＵ１１０は、取得した加速度及び角速度に基づいて所定の演算処理を行い、上記特定した端末装置１の姿勢を基準とするＸ，Ｙ，Ｚ軸方向への並進移動した量を示す並進動作量Ｍｘ，Ｍｙ，Ｍｚ（ｍ／ｓ）及びヨー方向へ回転移動した量を示す回転動作量Ｍｒ（°／ｓ）を端末装置１の動作として導出（取得）する。
【００２９】
次に、ＲＯＭ１３０に記憶された機能識別コードテーブル１３１と、動作パターンテーブル１３２と、について説明する。
【００３０】
機能識別コードテーブル１３１は、図６の００１〜１１１で示す複数の機能識別コードＫを備えたテーブルである。
上記００１〜１１１のそれぞれの機能識別コードＫは、機能識別コードテーブル１３１の１段目及び２段目に示すように、端末装置１の姿勢に基づいて当該端末装置１を送信モードと受信モードの何れかに設定する処理をＣＰＵ１１０が実行するか否か、及び、端末装置１の動作に基づいて通信処理内容をＣＰＵ１１０が判断するか否か、により分類したコードである。
ここで、図６の２段目において、「自機・通信相手の両方」とは、自機１ａと通信相手１ｂの双方の動作に基づいてＣＰＵ１１０が通信処理内容を判断することを指し、「自機１ａ・通信相手１ｂの片方のみ」とは、自機１ａと通信相手１ｂの何れか一方（送信モードに設定された端末装置１）の動作に基づいてＣＰＵ１１０が通信処理内容を判断することを指す。
また、図６の３段目において、許容される動作識別コードＡとは、００１〜１１１の各機能識別コードＫで許容される端末装置１の動作を識別するためのコードであり、４ビット（００００〜１１１１）にて表現される。ここで、先頭のビットは端末装置１をヨー方向に回転させる動作（回転動作量Ｍｒに対応するＺ軸回りに回転させる動作）、次のビットは端末装置１をＺ軸方向に並進移動させる動作（並進動作量Ｍｚに対応するＺ軸方向に振る動作）、次のビットは端末装置１をＹ軸方向に並進移動させる動作（並進動作量Ｍｙに対応するＹ軸方向に振る動作）、末尾のビットは端末装置１をＸ軸方向に並進移動させる動作（並進動作量Ｍｘに対応するＸ軸方向に振る動作）、をそれぞれ実行する／しない（ビット値：１／０）を表す。
そして、自機１ａが通信相手１ｂと通信を行う際に、予めユーザが操作部４０を介して、当該機能識別コードテーブル１３１に備わる機能識別コードＫより一の機能識別コードＫを指定するように構成される。なお、ＣＰＵ１１０により、予め特定の機能識別コードＫが指定されるように構成しても勿論よい。また、機能識別コードＫは複数指定してもよく、全ての機能識別コードＫを指定しても、敢えて機能を制限する等のために選択的に幾つか複数指定するとしてもよい。
【００３１】
さらに、機能識別コードＫと当該機能識別コードＫにて許容される動作識別コードＡの組み合わせ（動作パターン）、及び、ユーザによる端末装置１に対する傾斜や動作に基づいて、当該動作パターンが後述の通信処理プログラムの実行により特定された場合に行うＣＰＵ１１０の通信処理の内容と、が図７の動作パターンテーブル１３２に記載されている。なお、動作パターンテーブル１３２の動作識別コードＡの欄に記載された動作（Ｘ，Ｙ，Ｚ，Ｒ）は、各々の動作識別コードＡに係る動作の種類であり、それぞれ、Ｘ，Ｙ，Ｚ軸方向への並進移動動作，ヨー方向への回転移動動作を表す。
【００３２】
次に、当該動作パターンテーブル１３２の各段に該当する端末装置１の動作パターン１〜１１を図８及び図９の（ｉ）〜（ｘｉ）に例示する。ここで、図８及び図９の（ｉ）〜（ｘｉ）に示す矢印は端末装置１のＸ，Ｙ，Ｚ軸方向への並進移動，ヨー方向への回転移動を表す。
また、図９（ｖｉｉ）及び（ｖｉｉｉ）を除く図８及び図９の（ｉ）〜（ｘｉ）において、便宜上送信モードに設定された端末装置１を自機１ａ、受信モードに設定された端末装置１を通信相手１ｂ、としている。つまり、図８（ｉ）〜（ｖｉ）の動作パターン１〜６のように、端末装置１の姿勢にて端末装置１を送信モードと受信モードの何れかに設定する処理を行う場合（機能識別コードＫが００１〜０１１の場合）、ＣＰＵ１１０は、下向きの姿勢にある（上方にある）端末装置１を送信モード，上向きの姿勢にある（下方にある）端末装置１を受信モードと判断する。
一方、ＣＰＵ１１０は、端末装置１の姿勢にて端末装置１を送信モードと受信モードの何れかに設定する処理を行わない場合、機能識別コードＫが１１１に係る、図９（ｉｘ）〜（ｘｉ）の動作パターン９〜１１のように、ユーザによる端末装置１の並進移動動作や回転動作が行われる側の端末装置１を送信モード、停止状態にある端末装置１を受信モードと設定する。また、図９（ｖｉｉ）の動作パターン７のように、機能識別コードＫが１１０且つ動作識別コードＡが００１０において、通信処理内容がデータの同期であり、自機１ａと通信相手１ｂの何れが送信モードでも受信モードでもよい場合、ＣＰＵ１１０は、通信相手検索プログラムの実行時に設定した送信モード／受信モードを自機１ａと通信相手１ｂに用いる。加えて、図９（ｖｉｉｉ）の動作パターン８のように、機能識別コードＫが１１０且つ動作識別コードＡが０１００の場合、ＣＰＵ１１０は、自機１ａから見たＺ軸方向への並進移動が正（Ｚ（＋））である場合、自機１ａを送信モード及び通信相手１ｂを受信モード、自機１ａから見たＺ軸方向への並進移動が負（Ｚ（−））である場合、自機１ａを受信モード及び通信相手１ｂを送信モード、と判断する。
【００３３】
なお、動作パターンテーブル１３２の密着／近接の欄は、図８及び図９の（ｉ）〜（ｘｉ）に例示されるように、各動作パターン１〜１１が、自機１ａと通信相手１ｂとが密着した状態（密着状態）で実現されるか近接した状態（近接状態）で実現されるかを表している。    
具体的に、密着状態とは、例えば、自機１ａの姿勢変化量Θｘ，Θｙ，Θｚ（Θｘａ，Θｙａ，Θｚａ）と、通信相手１ｂの姿勢変化量Θｘ，Θｙ，Θｚ（Θｘｂ，Θｙｂ，Θｚｂ）と、の間で、｜｜Θｘａ｜−９０°｜＝｜｜Θｘｂ｜−９０°｜，｜｜Θｙａ｜−９０°｜＝｜｜Θｙｂ｜−９０°｜，｜｜Θｚａ｜−９０°｜＝｜｜Θｚｂ｜−９０°｜が成立している場合をいう。当該密着状態が成立している場合の自機１ａと通信相手１ｂの位置関係及び姿勢変化量を、図１０の密着形式１〜４に例示する。また、近接状態とは、自機１ａの姿勢変化量と通信相手１ｂの姿勢変化量とが、密着状態における自機１ａ及び通信相手１ｂ各々の姿勢変化量に予め定めた所定値を増減させた値以下の範囲（許容範囲）内にある状態をいう。一例として、当該所定値を１５°とした場合の近接状態における自機１ａと通信相手１ｂの位置関係及び姿勢変化量を、図１１の近接形式１〜４に例示する。
【００３４】
次に、ＲＯＭ１３０に記憶された通信処理プログラムについて説明する。
【００３５】
通信処理プログラムは、センサ部３０により検出される端末装置１の姿勢や動作に基づいて動作パターンを特定し、当該特定した動作パターンに応じた通信処理内容にて通信相手１ｂと通信させる機能をＣＰＵ１１０に実行させるプログラムである。
具体的には、ＣＰＵ１１０は、ユーザにより端末装置１が傾斜され、Ｘ，Ｙ，Ｚ軸方向へ並進移動やヨー方向（Ｚ軸回り）へ回転されると、姿勢／動作取得プログラムの実行により、センサ部３０より検出される端末装置１の加速度及び角速度に基づいて、姿勢変化量Θｘ，Θｙ，Θｚ、及び動作量（並進動作量Ｍｘ，Ｍｙ，Ｍｚ，回転動作量Ｍｒ）を取得する。
そして、ＣＰＵ１１０は、予め指定された動作識別コードＫが１１０又は１１１の場合、上述のように、取得された並進動作量Ｍｘ，Ｍｙ，Ｍｚ，回転動作量Ｍｒに基づいて、当該端末装置１を送信モードと受信モードの何れかに設定し、動作識別コードＫが００１〜０１１の場合、姿勢変化量Θｚに基づいて端末装置１が上向きの姿勢であるか下向きの姿勢であるかを判断することで、当該端末装置１を送信モードと受信モードの何れかに設定する。
さらに、ＣＰＵ１１０は、例えば、回転動作量Ｍｒが予め定めた回転動作量Ｄｒ（°／ｓ）を上回るか否か（つまり、上記基準とする端末装置１の姿勢より予め定めた時間内に予め定めた量以上の回転を行っているか否か）を判断し、回転動作量Ｍｒが回転動作量Ｄｒ以上の場合に、ヨー方向への回転動作がユーザになされたと判断する。加えて、ＣＰＵ１１０は、回転動作がユーザになされていないと判断した場合、並進動作量Ｍｘ，Ｍｙ，Ｍｚの絶対値の中で最大値をとるものを特定することで、ＸＹＺ軸方向の何れかの方向への並進移動動作がユーザになされたと判断する。そして、ＣＰＵ１１０は、当該判断結果に基づいて、００００〜１１１１の中から一の動作識別コードＡを特定する。
次に、ＣＰＵ１１０は、動作パターンテーブル１３２を参照し、動作パターン１〜１１の中から当該特定した動作識別コードＡと予め指定された機能識別コードＫとの組み合わせに該当する動作パターンを特定する。そして、ＣＰＵ１１０は、特定した動作パターンに該当する通信処理内容を抽出し、通信モジュール部１０を介して当該通信処理内容に応じた通信処理信号を送受信することで通信相手１ｂとの通信を行う。なお、動作パターン２，３，７，８の場合、自機１ａが送信モードに設定されると、ＣＰＵ１１０は、通信相手１ｂより当該通信相手１ｂの動作量を通信モジュール部１０を介して取得し、自機１ａの動作量及び通信相手１ｂの動作量の双方に基づいて（つまり、双方の動作量の差異が予め定められた所定値以下である場合に）動作パターンの特定を行う。また、動作パターン４〜６，９〜１１の場合、通信相手１ｂより当該通信相手１ｂの動作量を通信モジュール部１０を介して取得し、通信相手１ｂの動作量に基づいて当該通信相手１ｂが停止状態（つまり、並進動作量Ｍｘ，Ｍｙ，Ｍｚ，回転動作量Ｍｒが全て予め定められた所定値以下である）と判断されると、自機１ａの動作量に基づいて動作パターンの特定を行う。
【００３６】
「通信状態確立処理」
次に、本実施形態に係る端末装置１による通信状態確立処理について図１２のフローチャートを用いて説明する。
【００３７】
まず、ユーザが操作部４０を介して通信開始操作を行うと、ＣＰＵ１１０は通信相手検索プログラムを実行し、自機１ａを送信モードに設定する（ステップＳ１）。
次いで、ＣＰＵ１１０は、通信モジュール部１０を介して応答要求信号を送信し、受信モードに設定された通信相手１ｂを検索する（ステップＳ２）。
次いで、ＣＰＵ１１０は、受信モードに設定された通信相手１ｂより応答処理信号を受信したか否かにより通信相手１ｂの検索に成功したか否かを判断し（ステップＳ３）、通信相手１ｂの検索に成功したと判断した場合（ステップＳ３；Ｙｅｓ）、ステップＳ９の処理へ移行する。
一方で、ＣＰＵ１１０は、ステップＳ３にて通信相手１ｂの検索に成功していないと判断した場合（ステップＳ３；Ｎｏ）、受信モードへの切換えのタイミングか否かを判断し（ステップＳ４）、切換えのタイミングでないと判断した場合（ステップＳ４；Ｎｏ）、ステップＳ３以降の処理を繰り返す。
【００３８】
次いで、ＣＰＵ１１０は、ステップＳ４にて受信モードへの切換えのタイミングであると判断した場合（ステップＳ４；Ｙｅｓ）、自機１ａを受信モードに設定する（ステップＳ５）。      
次いで、ＣＰＵ１１０は、通信モジュール部１０を介して応答要求信号を受信可能な状態にして、送信モードに設定された通信相手１ｂを検索する（ステップＳ６）。
次いで、ＣＰＵ１１０は、送信モードに設定された通信相手１ｂより応答要求信号を受信したか否かにより通信相手１ｂの検索に成功したか否かを判断し（ステップＳ７）、通信相手１ｂの検索に成功したと判断した場合（ステップＳ７；Ｙｅｓ）、当該通信相手１ｂへ応答信号を送信し、ステップＳ９の処理へ移行する。
一方で、ＣＰＵ１１０は、ステップＳ７にて通信相手１ｂの検索に成功していないと判断した場合（ステップＳ７；Ｎｏ）、送信モードへの切換えのタイミングか否かを判断し（ステップＳ８）、切換えのタイミングでないと判断した場合（ステップＳ８；Ｎｏ）、ステップＳ７以降の処理を繰り返す。また、ＣＰＵ１１０は、ステップＳ８にて切換えのタイミングであると判断した場合（ステップＳ８；Ｙｅｓ）、ステップＳ１以降の処理を繰り返す。
【００３９】
そして、ステップＳ３又はステップＳ７にて通信相手１ｂの検索に成功したと判断した場合（ステップＳ３；Ｙｅｓ、ステップＳ７；Ｙｅｓ）、ステップＳ１にて設定された送信モード又はステップＳ５にて設定された受信モードを、自機１ａの一時的な現在のモードとして決定し（ステップＳ９）、本処理を終了する。
【００４０】
「機能確認処理」
次に、本実施形態に係る端末装置１による機能確認処理について図１３（ｉ）（ｉｉ）のフローチャートを用いて説明する。ここで、図１３（ｉ）は、通信状態確立処理にて自機１ａが送信モード（通信相手１ｂが受信モード）に一時的に設定されている場合の処理を、図１３（ｉｉ）は、通信状態確立処理にて自機１ａが受信モード（通信相手１ｂが送信モード）に一時的に設定されている場合の処理を、それぞれ示す。なお、以下の説明で、添え字ｓが付されたものは送信モード側であることを、添え字ｒが付されたものは受信モード側であることを、便宜的に示す。
【００４１】
（送信モードの処理）
まず、図１３（ｉ）に示すように、ユーザが操作部４０を介して、機能識別コードテーブル１３１の中から一の機能識別コードＫｓを指定し、動作識別コードＡｓ（当該指定した機能識別コードＫｓで許容される動作識別コードＡｓの何れか）を選択すると、ＣＰＵ１１０は、ＲＯＭ１３０より自機１ａのグループ識別コードＧｓを取得し、機能識別コードＫｓと動作識別コードＡｓとグループ識別コードＧｓとで構成されるコード列ＫｓＡｓＧｓの設定を行う（ステップＳ２１）。
なお、機能識別コードＫｓはユーザが指定／入力する場合に限られず、ＣＰＵ１１０が予め指定された機能識別コードＫｓを機能識別コードテーブル１３１より抽出する構成であっても勿論よい。
【００４２】
次いで、ＣＰＵ１１０は、通信モジュール部１０を介してステップＳ１にて設定したコード列ＫｓＡｓＧｓを受信モードの通信相手１ｂに送信する（ステップＳ２２）。
次いで、ＣＰＵ１１０は、後述するステップＳ５０にて受信モードの通信相手１ｂより送信されるコード列ＫｒＡｒＧｒ（受信モードの通信相手１ｂに設定されたコード列）が受信できたか否かを判断し（ステップＳ２３）、受信できていないと判断する場合（ステップＳ２３；Ｎｏ）、受信されるまで待機する。
一方で、ＣＰＵ１１０は、ステップＳ２３にて受信できたと判断した場合（ステップＳ２３；Ｙｅｓ）、グループ識別コードＧｓとグループ識別コードＧｒが一致するか否かを判断する（ステップＳ２４）。
【００４３】
そして、ＣＰＵ１１０は、ステップＳ２４にて一致しないと判断した場合（ステップＳ２４；Ｎｏ）、音声出力部５５を介してエラー音を出力し（ステップＳ２５）、自機１ａと通信相手１ｂとでグループが相違する旨を表示部５０にてエラー画面として表示し（ステップＳ２６）、ステップＳ３０の処理へ移行する。
一方で、ＣＰＵ１１０は、ステップＳ２４にて一致すると判断した場合（ステップＳ２４；Ｙｅｓ）、機能識別コードＫｓ及び動作識別コードＡｓと、機能識別コードＫｒ及び動作識別コードＡｒと、が一致するか否かを判断する（ステップＳ２７）。そして、ＣＰＵ１１０は、ステップＳ２７にて一致しないと判断した場合（ステップＳ２７；Ｎｏ）、音声出力部５５を介してエラー音を出力し（ステップＳ２８）、自機１ａと通信相手１ｂとで機能又は動作が相違する旨を表示部５０にてエラー画面として表示する（ステップＳ２９）。そして、ＣＰＵ１１０は、一定時間が経過又はユーザにより操作部４０を介してエラー状態の解除の操作が行われた後（ステップＳ３０）、本処理を終了し再び「通信状態確立処理」を実行する。
また、ＣＰＵ１１０は、ステップＳ２７にて一致すると判断した場合（ステップＳ２７；Ｙｅｓ）、音声出力部５５を介して通信開始のメロディ音を出力し（ステップＳ３１）、通信開始の旨を表示部５０にて表示し（ステップＳ３２）、フラグを正常状態を表す０に設定し（ステップＳ３３）、本処理を終了する。
【００４４】
（受信モードの処理）
まず、図１３（ｉｉ）に示すように、ＣＰＵ１１０は、ステップＳ２２にて送信されるコード列ＫｓＡｓＧｓを受信出来たか否かを判断し（ステップＳ４１）、受信出来ていないと判断した場合（ステップＳ４１；Ｎｏ）、受信されるまで待機する。
一方で、ＣＰＵ１１０は、ステップＳ４１にて受信出来たと判断した場合（ステップＳ４１；Ｙｅｓ）、ＲＯＭ１３０より自機１ａのグループ識別コードＧｒを取得し、グループ識別コードＧｓと一致するか否かを判断する（ステップＳ４２）。
【００４５】
そして、ＣＰＵ１１０は、ステップＳ４２にて一致すると判断した場合（ステップＳ４２；Ｙｅｓ）、機能識別コードテーブル１３１の中から機能識別コードＫｓに一致する機能識別コードＫｒが存在するか否かを判断し、且つ、一致する機能識別コードＫｒが存在する場合に、機能識別コードＫｒで許容される動作識別コードＡｒに動作識別コードＡｓと一致するものが存在するか否かを判断することで、ＫｓＡｓと一致するＫｒＡｒが存在するか否かを判断する（ステップＳ４３）。
次いで、ＣＰＵ１１０は、ステップＳ４３にてＫｓＡｓと一致するＫｒＡｒが存在すると判断する場合（ステップＳ４３；Ｙｅｓ）、ステップＳ４２にて一致すると判断したグループ識別コードＧｒ及びステップＳ４３にて一致すると判断したＫｒＡｒにより、コード列ＫｒＡｒＧｒを生成する（ステップＳ４４）。そして、ＣＰＵ１１０は、フラグを正常状態を表す０に設定し（ステップＳ４５）、ステップＳ５０の処理へ移行する。
一方で、ＣＰＵ１１０は、ステップＳ４３にてＫｓＡｓと一致するＫｒＡｒが存在しないと判断する場合（ステップＳ４３；Ｎｏ）、ＫｒＡｒにエラー値を代入してコード列ＫｒＡｒＧｒ（ＧｒはＧｓに一致する値）を生成する（ステップＳ４６）。そして、ＣＰＵ１１０は、フラグをエラー状態を表す−１に設定し（ステップＳ４７）、ステップＳ５０の処理へ移行する。
【００４６】
次いで、ＣＰＵ１１０は、ステップＳ４２にて一致しないと判断した場合（ステップＳ４２；Ｎｏ）、ＫｒＡｒＧｒにエラー値を代入してコード列ＫｒＡｒＧｒを生成する（ステップＳ４８）。そして、ＣＰＵ１１０は、フラグをエラー状態を表す−１に設定する（ステップＳ４９）。
次いで、ＣＰＵ１１０は、ステップＳ４４，Ｓ４６，Ｓ４８にて生成したコード列ＫｒＡｒＧｒを送信モードの通信相手１ｂに送信する（ステップＳ５０）。次いで、ＣＰＵ１１０は、フラグが０であるか否かを判断し（ステップＳ５１）、フラグが０でないと判断した場合（ステップＳ５１；Ｎｏ）、音声出力部５５を介してエラー音を出力し（ステップＳ５２）、エラー状態にある旨を一定時間表示部５０にてエラー画面として表示する（ステップＳ５３）。そして、一定時間が経過又はユーザにより操作部４０を介してエラー状態の解除の操作が行われた後（ステップＳ５４）、本処理を終了し再び「通信状態確立処理」を実行する。一方で、ＣＰＵ１１０は、フラグが０であると判断した場合（ステップＳ５１；Ｙｅｓ）、通信開始の旨を表示部５０にて表示し（ステップＳ５５）、本処理を終了する。
【００４７】
なお、ステップＳ２７やステップＳ４３では、機能識別コードＫｓと機能識別コードＫｒとが完全に一致することを判断条件としているが、図１４に示すように、ＣＰＵ１１０が、機能識別コードＫｓと機能識別コードＫｒとが相違する場合でも、何れか一方の機能識別コードの値に準じて機能識別コードＫｓと機能識別コードＫｒとが一致すると判断するような構成としてもよい。
【００４８】
「通信実行処理」
次に、本実施形態に係る端末装置１による通信実行処理について図１５のフローチャートを用いて説明する。
【００４９】
まず、ＣＰＵ１１０は、現在設定されているフラグが０であるか否かを判断し（ステップＳ１０１）、０でない（フラグがエラー状態を示す−１や通信終了状態を示す１である）と判断した場合（ステップＳ１０１；Ｎｏ）、本処理を終了する。
一方で、ＣＰＵ１１０は、ステップＳ１０１にて０であると判断した場合（ステップＳ１０１；Ｙｅｓ）、機能識別コードＫの１桁目が０であるか否かを判断（つまり、端末装置１の姿勢に基づいて送信モードと受信モードの何れかに設定する処理をＣＰＵ１１０が実行するか否かを判断）する（ステップＳ１０２）。
そして、ＣＰＵ１１０は、ステップＳ１０２にて機能識別コードＫの１桁目が０でないと判断した場合（ステップＳ１０２；Ｎｏ）、後述する「第２動作判断処理」を実行し（ステップＳ１０３）、ステップＳ１０１以降の処理を繰り返す。
一方で、ＣＰＵ１１０は、ステップＳ１０２にて機能識別コードＫの１桁目が０であると判断した場合（ステップＳ１０２；Ｙｅｓ）、姿勢／動作取得プログラムの実行により自機１ａの姿勢変化量Θｘ，Θｙ，Θｚを取得する（ステップＳ１０４）。    
次いで、ＣＰＵ１１０は、ステップＳ９にて決定された現在のモードが送信モードか否かを判断する（ステップＳ１０５）。
【００５０】
次いで、ＣＰＵ１１０は、ステップＳ１０５にて現在のモードが送信モードと判断した場合（ステップＳ１０５；Ｙｅｓ）、受信モードの通信相手１ｂより当該通信相手１ｂの姿勢変化量Θｘ，Θｙ，Θｚを通信モジュール部１０を介して取得する（ステップＳ１０６）。    
次いで、ＣＰＵ１１０は、ステップＳ１０４にて取得した自機１ａの姿勢変化量Θｘ，Θｙ，Θｚと、ステップＳ１０６にて取得した通信相手１ｂの姿勢変化量Θｘ，Θｙ，Θｚと、を比較し（ステップＳ１０７）、比較結果の差異が許容範囲内にあるか否かを判断する（ステップＳ１０８）。
そして、ＣＰＵ１１０は、ステップＳ１０８にて許容範囲内に無いと判断した場合（ステップＳ１０８；Ｎｏ）、音声出力部５５を介してエラー音を出力し（ステップＳ１０９）、自機１ａと通信相手１ｂとの姿勢が許容範囲内に無い旨を表示部５０にてエラー画面として表示する（ステップＳ１１０）。そして、ＣＰＵ１１０は、一定時間が経過又はユーザにより操作部４０を介してエラー状態の解除の操作が行われた後（ステップＳ１１１）、本処理を終了し、再び「通信状態確立処理」を実行する。
【００５１】
一方で、ＣＰＵ１１０は、ステップＳ１０８にて許容範囲内にあると判断した場合（ステップＳ１０８；Ｙｅｓ）、自機１ａの姿勢変化量Θｚが９０°＜｜Θｚ｜≦１８０°の範囲（下向きの姿勢）にあり、且つ、通信相手１ｂの姿勢変化量Θｚが０°≦｜Θｚ｜＜９０°の範囲（上向きの姿勢）にあるか否かを判断する（ステップＳ１１２）。
そして、ＣＰＵ１１０は、ステップＳ１１２にて自機１ａが下向きの姿勢且つ通信相手１ｂが上向きの姿勢にあると判断した場合（ステップＳ１１２；Ｙｅｓ）、自機１ａを送信モードに確定し（ステップＳ１１３）、通信相手１ｂへ受信モードに確定させるための指示信号を送信する（ステップＳ１１４）。次いで、ＣＰＵ１１０は、後述する「第１動作判断処理」（ステップＳ１１５）及び「送信モード処理」（ステップＳ１１６）を実行し、ステップＳ１０１以降の処理を繰り返す。
【００５２】
一方で、ＣＰＵ１１０は、ステップＳ１１２にて自機１ａ及び通信相手１ｂの姿勢変化量Θｚが上記範囲に無いと判断した場合（ステップＳ１１２；Ｎｏ）、自機１ａの姿勢変化量Θｚが０°≦｜Θｚ｜＜９０°の範囲（上向きの姿勢）にあり、且つ、通信相手１ｂの姿勢変化量Θｚが９０°≦｜Θｚ｜＜１８０°の範囲（下向きの姿勢）にあるか否かを判断する（ステップＳ１１７）。
そして、ステップＳ１１７にて自機１ａ及び通信相手１ｂの姿勢変化量Θｚが上記範囲にあると判断した場合（ステップＳ１１７；Ｙｅｓ）、通信相手１ｂへ送信モードに切換えさせるための指示信号を送信し（ステップＳ１１８）、自機１ａを受信モードに切換える処理を実行する（ステップＳ１１９）。次いで、ＣＰＵ１１０は、後述する「第１動作判断処理」（ステップＳ１２０）及び「受信モード処理」（ステップＳ１２１）を実行し、ステップＳ１０１以降の処理を繰り返す。
また、ステップＳ１１７にて自機１ａ及び通信相手１ｂの姿勢変化量Θｚが上記範囲に無いと判断した場合（ステップＳ１１７；Ｎｏ）、音声出力部５５を介してエラー音を出力し（ステップＳ１２２）、自機１ａと通信相手１ｂとの姿勢により送信／受信モードが判断できない旨を表示部５０にてエラー画面として表示する（ステップＳ１２３）。そして、ＣＰＵ１１０は、一定時間が経過又はユーザにより操作部４０を介してエラー状態の解除の操作が行われた後（ステップＳ１２４）、本処理を終了し、再び「通信状態確立処理」を実行する。
【００５３】
次いで、ＣＰＵ１１０は、ステップＳ１０５にて現在のモードが送信モードでない（受信モードである）と判断した場合（ステップＳ１０５；Ｎｏ）、送信モードの通信相手１ｂへ自機１ａの姿勢変化量Θｘ，Θｙ，Θｚを通信モジュール部１０を介して送信する（ステップＳ１２５）。      
次いで、ＣＰＵ１１０は、通信相手１ｂより受信モードに確定の指示信号を受信したか否かを判断する（ステップＳ１２６）。
そして、ＣＰＵ１１０は、ステップＳ１２６にて指示信号を受信したと判断する場合（ステップＳ１２６；Ｙｅｓ）、後述する「第１動作判断処理」（ステップＳ１２７）及び「受信モード処理」（ステップＳ１２８）を実行し、ステップＳ１０１以降の処理を繰り返す。
一方で、ＣＰＵ１１０は、ステップＳ１２６にて指示信号を受信していないと判断する場合（ステップＳ１２６；Ｎｏ）、送信モードに切換えさせるための指示信号の受信を待って、自機１ａを送信モードに切換える処理を実行する（ステップＳ１２９）。そして、ＣＰＵ１１０は、後述する「第１動作判断処理」（ステップＳ１３０）及び「送信モード処理」（ステップＳ１３１）を実行し、ステップＳ１０１以降の処理を繰り返す。
【００５４】
「第１動作判断処理」
次に、本実施形態に係る端末装置１による第１動作判断処理について図１６及び図１７のフローチャートを用いて説明する。
【００５５】
まず、ＣＰＵ１１０は、機能識別コードＫが００１であるか否かを判断し（ステップＳ２０１）、００１であると判断した場合（ステップＳ２０１；Ｙｅｓ）、自機１ａが送信モードであるか否かを判断する（ステップＳ２０２）。そして、ＣＰＵ１１０は、ステップＳ２０２にて送信モードであると判断した場合（ステップＳ２０２；Ｙｅｓ）、動作パターン１の通信処理内容で通信処理信号を生成し（ステップＳ２０３）、本処理を終了する。また、ＣＰＵ１１０は、ステップＳ２０２にて送信モードでない（受信モードである）と判断した場合（ステップＳ２０２；Ｎｏ）、本処理を終了する。
【００５６】
次いで、ＣＰＵ１１０は、ステップＳ２０１にて機能識別コードＫが００１でないと判断した場合（ステップＳ２０１；Ｎｏ）、機能識別コードＫが０１０であるか否かを判断し（ステップＳ２０４）、０１０であると判断した場合（ステップＳ２０４；Ｙｅｓ）、自機１ａの動作量（並進動作量Ｍｘ，Ｍｙ，Ｍｚ、回転動作量Ｍｒ）を取得する（ステップＳ２０５）。
【００５７】
次いで、ＣＰＵ１１０は、自機１ａが送信モードであるか否かを判断する（ステップＳ２０６）。そして、ＣＰＵ１１０は、ステップＳ２０６にて送信モードであると判断した場合（ステップＳ２０６；Ｙｅｓ）、通信相手１ｂより当該通信相手１ｂの動作量（並進動作量Ｍｘ，Ｍｙ，Ｍｚ、回転動作量Ｍｒ）を取得する（ステップＳ２０７）。
【００５８】
次いで、ＣＰＵ１１０は、自機１ａの動作量と通信相手１ｂの動作量とを比較し（ステップＳ２０８）、比較結果の差異が予め定められた許容範囲以内か否か（自機１ａと通信相手１ｂが同じ動作を行っているか否か）を判断する（ステップＳ２０９）。そして、ＣＰＵ１１０は、ステップＳ２０９にて許容範囲以上と判断した場合（ステップＳ２０９；Ｎｏ）、ステップＳ２０５以降の処理を繰り返す。一方で、ＣＰＵ１１０は、ステップＳ２０９にて許容範囲以内と判断した場合（ステップＳ２０９；Ｙｅｓ）、回転動作量｜Ｍｒ｜が予め定めた回転動作量Ｄｒを上回るか否かを判断する（ステップＳ２１０）。
そして、ＣＰＵ１１０は、ステップＳ２１０にて上回ると判断した場合（ステップＳ２１０；Ｙｅｓ）、動作パターン３の通信処理内容で通信処理信号を生成し（ステップＳ２１１）、本処理を終了する。
一方で、ＣＰＵ１１０は、ステップＳ２１０にて下回ると判断した場合（ステップＳ２１０；Ｎｏ）、並進動作量｜Ｍｘ｜，｜Ｍｙ｜，｜Ｍｚ｜中で最大値をとるものが並進動作量｜Ｍｘ｜であるか否かを判断する（ステップＳ２１２）。
そして、ＣＰＵ１１０は、ステップＳ２１２にて並進動作量｜Ｍｘ｜であると判断した場合（ステップＳ２１２；Ｙｅｓ）、動作パターン２の通信処理内容で通信処理信号を生成し（ステップＳ２１３）、本処理を終了する。
一方で、ＣＰＵ１１０は、ステップＳ２１２にて並進動作量｜Ｍｘ｜でないと判断した場合（ステップＳ２１２；Ｎｏ）、音声出力部５５を介してエラー音を出力し（ステップＳ２１４）、動作パターンが特定できない旨を表示部５０にてエラー画面として表示する（ステップＳ２１５）。そして、ＣＰＵ１１０は、一定時間が経過又はユーザにより操作部４０を介してエラー状態の解除の操作が行われた後（ステップＳ２１６）、本処理を終了し、再び「通信状態確立処理」を実行する。
【００５９】
次いで、ＣＰＵ１１０は、ステップＳ２０６にて自機１ａが送信モードでない（受信モードである）と判断した場合（ステップＳ２０６；Ｎｏ）、通信相手１ｂへ自機１ａの動作量を送信し（ステップＳ２１７）、本処理を終了する。
【００６０】
次いで、ＣＰＵ１１０は、ステップＳ２０４にて機能識別コードＫが０１０でない（０１１である）と判断した場合（ステップＳ２０４；Ｎｏ）、自機１ａの動作量を取得する（ステップＳ２１８）。
【００６１】
次いで、ＣＰＵ１１０は、自機１ａが送信モードであるか否かを判断する（ステップＳ２１９）。そして、ＣＰＵ１１０は、ステップＳ２１９にて送信モードであると判断した場合（ステップＳ２１９；Ｙｅｓ）、通信相手１ｂより当該通信相手１ｂの動作量を取得し（ステップＳ２２０）、通信相手１ｂの動作量（並進動作量Ｍｘ，Ｍｙ，Ｍｚ、回転動作量Ｍｒ）が全て予め定められた所定値以下であるか否か（つまり、通信相手１ｂが停止状態にあるか否か）を判断する（ステップＳ２２１）。そして、ＣＰＵ１１０は、ステップＳ２２１にて所定値以下でないと判断した場合（ステップＳ２２１；Ｎｏ）、ステップＳ２２８以降の処理へ進む。
一方で、ＣＰＵ１１０は、ステップＳ２２１にて所定値以下であると判断した場合（ステップＳ２２１；Ｙｅｓ）、自機１ａの回転動作量｜Ｍｒ｜が予め定めた回転動作量Ｄｒを上回るか否かを判断する（ステップＳ２２２）。
次いで、ＣＰＵ１１０は、ステップＳ２２２にて上回ると判断した場合（ステップＳ２２２；Ｙｅｓ）、動作パターン６の通信処理内容で通信処理信号を生成し（ステップＳ２２３）、本処理を終了する。
一方で、ＣＰＵ１１０は、ステップＳ２２２にて下回ると判断した場合（ステップＳ２２２；Ｎｏ）、並進動作量｜Ｍｘ｜，｜Ｍｙ｜，｜Ｍｚ｜の絶対値の中で最大値をとるものを判断する（ステップＳ２２４）。
そして、ＣＰＵ１１０は、ステップＳ２２４にて並進動作量｜Ｍｘ｜であると判断した場合（ステップＳ２２４；１．｜Ｍｘ｜）、動作パターン４の通信処理内容で通信処理信号を生成し（ステップＳ２２５）、本処理を終了する。一方、ＣＰＵ１１０は、ステップＳ２２４にて並進動作量｜Ｍｙ｜であると判断した場合（ステップＳ２２４；２．｜Ｍｙ｜）、動作パターン５の通信処理内容で通信処理信号を生成し（ステップＳ２２６）、本処理を終了する。さらに、ＣＰＵ１１０は、ステップＳ２２４にて並進動作量｜Ｍｚ｜であると判断した場合（ステップＳ２２４；３．｜Ｍｚ｜）、ステップＳ２２８以降の処理へ移行する。
【００６２】
次いで、ＣＰＵ１１０は、ステップＳ２１９にて受信モードであると判断した場合（ステップＳ２１９；Ｎｏ）、自機１ａの動作量が全て予め定められた所定値以下であるか否か（つまり、自機１ａが停止状態にあるか否か）を判断する（ステップＳ２２７）。そして、ＣＰＵ１１０は、ステップＳ２２７にて全て予め定められた所定値以下であると判断した場合（ステップＳ２２７；Ｙｅｓ）、自機１ａが停止状態であるとして本処理を終了する。一方、ＣＰＵ１１０は、ステップＳ２２７にて全て予め定められた所定値以下でないと判断した場合（ステップＳ２２７；Ｎｏ）、音声出力部５５を介してエラー音を出力し（ステップＳ２２８）、動作パターンが特定できない旨を表示部５０にて表示する（ステップＳ２２９）。そして、ＣＰＵ１１０は、一定時間が経過又はユーザにより操作部４０を介してエラー状態の解除の操作が行われた後（ステップＳ２３０）、本処理を終了し、再び「通信状態確立処理」を実行する。
【００６３】
「送信モード処理」
次に、本実施形態に係る端末装置１による送信モード（イニシエータモード）処理について図１８のフローチャートを用いて説明する。
【００６４】
まず、ＣＰＵ１１０は、受信モードの通信相手１ｂに対して通信処理信号を送信する（ステップＳ３０１）。
次いで、ＣＰＵ１１０は、ステップＳ３０１にて送信した通信処理信号に対する応答処理信号を通信相手１ｂより受信したか否かを判断する（ステップＳ３０２）。
【００６５】
そして、ＣＰＵ１１０は、ステップＳ３０２にて受信したと判断した場合（ステップＳ３０２；Ｙｅｓ）、フラグを通信終了状態を示す１に設定し（ステップＳ３０３）、応答処理信号を解析して通信が成功しているか否かを判断する（ステップＳ３０４）。
【００６６】
次いで、ＣＰＵ１１０は、ステップＳ３０４にて通信が成功したと判断する場合（ステップＳ３０４；Ｙｅｓ）、音声出力部５５を介して通信正常終了のメロディ音を出力し（ステップＳ３０５）、通信正常終了の旨を表示部５０にて表示し（ステップＳ３０６）、本処理を終了する。一方で、ＣＰＵ１１０は、ステップＳ３０４にて通信が失敗したと判断する場合（ステップＳ３０４；Ｎｏ）、ステップＳ３０８以降の処理へ移行する。
【００６７】
一方で、ＣＰＵ１１０は、ステップＳ３０２にて受信していないと判断した場合（ステップＳ３０２；Ｎｏ）、ステップＳ３０１に係る通信処理信号の送信の開始より所定時間が経過し、タイムアウト状態であるか否かを判断する（ステップＳ３０７）。そして、ＣＰＵ１１０は、ステップＳ３０７にてタイムアウト状態でないと判断した場合（ステップＳ３０７；Ｎｏ）、ステップＳ３０２以降の処理を繰り返す。一方で、ＣＰＵ１１０は、ステップＳ３０７にてタイムアウト状態であると判断した場合（ステップＳ３０７；Ｙｅｓ）、音声出力部５５を介してエラー音を出力し（ステップＳ３０８）、通信エラーが発生した旨を表示部５０にてエラー画面として表示する（ステップＳ３０９）。そして、ＣＰＵ１１０は、一定時間が経過又はユーザにより操作部４０を介してエラー状態の解除の操作が行われた後（ステップＳ３１０）、本処理を終了し、再び「通信状態確立処理」を実行する。
【００６８】
「受信モード処理」
次に、本実施形態に係る端末装置１による受信モード（ターゲットモード）処理について図１９のフローチャートを用いて説明する。
【００６９】
まず、ＣＰＵ１１０は、送信モードの通信相手１ｂより通信処理信号を受信したか否かを判断する（ステップＳ４０１）。
そして、ＣＰＵ１１０は、ステップＳ４０１にて受信したと判断した場合（ステップＳ４０１；Ｙｅｓ）、フラグを通信終了状態を示す１に設定し（ステップＳ４０２）、通信処理信号を解析して通信が成功しているか否かを判断する（ステップＳ４０３）。
【００７０】
次いで、ＣＰＵ１１０は、ステップＳ４０３にて通信が成功したと判断する場合（ステップＳ４０３；Ｙｅｓ）、通信正常終了の応答処理信号を生成して通信相手１ｂに送信し（ステップＳ４０４）、本処理を終了する。一方で、ＣＰＵ１１０は、ステップＳ４０３にて通信が失敗したと判断する場合（ステップＳ４０３；Ｎｏ）、ステップＳ４０６以降の処理へ移行する。
【００７１】
一方で、ＣＰＵ１１０は、ステップＳ４０１にて受信していないと判断した場合（ステップＳ４０１；Ｎｏ）、通信処理信号の受信の開始より所定時間が経過し、タイムアウト状態であるか否かを判断する（ステップＳ４０５）。そして、ＣＰＵ１１０は、ステップＳ４０５にてタイムアウト状態でないと判断した場合（ステップＳ４０５；Ｎｏ）、ステップＳ４０１以降の処理を繰り返す。一方で、ＣＰＵ１１０は、ステップＳ４０５にてタイムアウト状態であると判断した場合（ステップＳ４０５；Ｙｅｓ）、異常終了の応答処理信号を生成して通信相手１ｂに送信し（ステップＳ４０６）、再び「通信状態確立処理」を実行する。
【００７２】
「第２動作判断処理」
次に、本実施形態に係る端末装置１による第２動作判断処理について図２０及び図２１のフローチャートを用いて説明する。
【００７３】
まず、ＣＰＵ１１０は、機能識別コードＫが１１０であるか否かを判断し（ステップＳ５０１）、１１０であると判断した場合（ステップＳ５０１；Ｙｅｓ）、自機１ａの動作量（並進動作量Ｍｘ，Ｍｙ，Ｍｚ、回転動作量Ｍｒ）を取得する（ステップＳ５０２）。
次いで、ＣＰＵ１１０は、自機１ａが送信モードであるか否かを判断する（ステップＳ５０３）。そして、ＣＰＵ１１０は、ステップＳ５０３にて送信モードであると判断した場合（ステップＳ５０３；Ｙｅｓ）、通信相手１ｂより当該通信相手１ｂの動作量を取得する（ステップＳ５０４）。
【００７４】
次いで、ＣＰＵ１１０は、自機１ａの動作量と通信相手１ｂの動作量とを比較し（ステップＳ５０５）、比較結果の差異が予め定められた許容範囲以内か否か（自機１ａと通信相手１ｂが同じ動作を行っているか否か）を判断する（ステップＳ５０６）。そして、ＣＰＵ１１０は、ステップＳ５０６にて許容範囲以上と判断した場合（ステップＳ５０６；Ｎｏ）、ステップＳ５０２以降の処理を繰り返す。一方で、ＣＰＵ１１０は、ステップＳ５０６にて許容範囲以内と判断した場合（ステップＳ５０６；Ｙｅｓ）、自機１ａの回転動作量｜Ｍｒ｜が予め定めた回転動作量Ｄｒを上回るか否かを判断する（ステップＳ５０７）。
そして、ＣＰＵ１１０は、ステップＳ５０７にて上回ると判断した場合（ステップＳ５０７；Ｙｅｓ）、ステップＳ５０９以降の処理を実行する。
【００７５】
一方で、ＣＰＵ１１０は、ステップＳ５０７にて下回ると判断した場合（ステップＳ５０７；Ｎｏ）、並進動作量｜Ｍｘ｜，｜Ｍｙ｜，｜Ｍｚ｜の絶対値の中で最大値をとるものを判断する（ステップＳ５０８）。
そして、ＣＰＵ１１０は、ステップＳ５０８にて並進動作量｜Ｍｘ｜であると判断した場合（ステップＳ５０８；１．｜Ｍｘ｜）、音声出力部５５を介してエラー音を出力し（ステップＳ５０９）、動作パターンが特定できない旨をエラー画面として表示部５０にて表示する（ステップＳ５１０）。そして、ＣＰＵ１１０は、一定時間が経過又はユーザにより操作部４０を介してエラー状態の解除の操作が行われた後（ステップＳ５１１）、本処理を終了し、再び「通信状態確立処理」を実行する。
【００７６】
一方、ＣＰＵ１１０は、ステップＳ５０８にて並進動作量｜Ｍｙ｜であると判断した場合（ステップＳ５０８；２．｜Ｍｙ｜）、動作パターン７の通信処理内容で通信処理信号を生成し（ステップＳ５１２）、ステップＳ５１５以降の処理を実行する。
また、ＣＰＵ１１０は、ステップＳ５０８にて並進動作量｜Ｍｚ｜であると判断した場合（ステップＳ５０８；３．Ｍｚ）、並進動作量Ｍｚが正の値であるか否か（つまり、自機１ａが通信相手１ｂ側へ向かう動作を行っているか否か）を判断する（ステップＳ５１３）。
【００７７】
そして、ＣＰＵ１１０は、ステップＳ５１３にて並進動作量Ｍｚが正の値と判断した場合（ステップＳ５１３；Ｙｅｓ）、動作パターン８の通信処理内容で通信処理信号を生成し（ステップＳ５１４）、「送信モード処理」を実行して（ステップＳ５１５）、本処理を終了する。
【００７８】
一方で、ＣＰＵ１１０は、ステップＳ５１３にて並進動作量Ｍｚが負の値と判断した場合（ステップＳ５１３；Ｎｏ）、通信相手１ｂへ送信モードに切換えさせるための指示信号を送信し（ステップＳ５１６）、自機１ａを受信モードに切換える処理を実行する（ステップＳ５１７）。次いで、ＣＰＵ１１０は、「受信モード処理」を実行して（ステップＳ５１８）、本処理を終了する。
【００７９】
次いで、ＣＰＵ１１０は、ステップＳ５０３にて送信モードでない（受信モードである）と判断した場合（ステップＳ５０３；Ｎｏ）、通信相手１ｂへ自機１ａの動作量を送信する（ステップＳ５１９）。
そして、ＣＰＵ１１０は、通信相手１ｂより送信モードへの切換えの指示信号を受信したか否かを判断し（ステップＳ５２０）、受信していないと判断した場合（ステップＳ５２０；Ｎｏ）、「受信モード処理」を実行して（ステップＳ５２１）、本処理を終了する。
一方で、ＣＰＵ１１０は、ステップＳ５２０にて受信したと判断した場合（ステップＳ５２０；Ｙｅｓ）、自機１ａを送信モードに切換える処理を実行する（ステップＳ５２２）。    
そして、ＣＰＵ１１０は、動作パターン８の通信処理内容で通信処理信号を生成し（ステップＳ５２３）、「送信モード処理」を実行して（ステップＳ５２４）、本処理を終了する。
【００８０】
次いで、ＣＰＵ１１０は、機能識別コードＫが１１０でない（１１１である）と判断した場合（ステップＳ５０１；Ｎｏ）、自機１ａの動作量（並進動作量Ｍｘ，Ｍｙ，Ｍｚ、回転動作量Ｍｒ）を取得する（ステップＳ５２５）。
次いで、ＣＰＵ１１０は、自機１ａが送信モードであるか否かを判断する（ステップＳ５２６）。そして、ＣＰＵ１１０は、ステップＳ５２６にて送信モードであると判断した場合（ステップＳ５２６；Ｙｅｓ）、通信相手１ｂより当該通信相手１ｂの動作量を取得する（ステップＳ５２７）。
【００８１】
次いで、ＣＰＵ１１０は、自機１ａの動作量と通信相手１ｂの動作量とを比較し（ステップＳ５２８）、動作量（並進動作量Ｍｘ，Ｍｙ，Ｍｚ、回転動作量Ｍｒ）が全て予め定められた所定値以下であるのが自機１ａか通信相手１ｂかを判断（つまり、自機１ａと通信相手１ｂとで何れが停止状態にあるのか）を判断する（ステップＳ５２９）。
そして、ＣＰＵ１１０は、ステップＳ５２９にて自機１ａ及び通信相手１ｂの何れでもないと判断した場合（ステップＳ５２９；１．何れでもない）、音声出力部５５を介してエラー音を出力し（ステップＳ５３０）、動作パターンが特定できない旨を表示部５０にてエラー画面として表示する（ステップＳ５３１）。そして、ＣＰＵ１１０は、一定時間が経過又はユーザにより操作部４０を介してエラー状態の解除の操作が行われた後（ステップＳ５３２）、本処理を終了し、再び「通信状態確立処理」を実行する。
また、ＣＰＵ１１０は、ステップＳ５２９にて自機１ａであると判断した場合（ステップＳ５２９；２．自機）、通信相手１ｂへ送信モードに切換えさせるための指示信号を送信し（ステップＳ５３３）、自機１ａを受信モードに切換える処理を実行する（ステップＳ５３４）。次いで、ＣＰＵ１１０は、「受信モード処理」を実行して（ステップＳ５３５）、本処理を終了する。
さらに、ＣＰＵ１１０は、ステップＳ５２９にて通信相手１ｂであると判断した場合（ステップＳ５２９；３．通信相手）、ステップＳ５３９以降の処理に移行する。
【００８２】
次いで、ＣＰＵ１１０は、ステップＳ５２６にて送信モードでない（受信モードである）と判断した場合（ステップＳ５２６；Ｎｏ）、通信相手１ｂに自機１ａの動作量を送信する（ステップＳ５３６）。
次いで、ＣＰＵ１１０は、通信相手１ｂより受信モードに切換えの指示信号を受信したか否かを判断する（ステップＳ５３７）。そして、ＣＰＵ１１０は、ステップＳ５３７にて受信したと判断する場合（ステップＳ５３７；Ｙｅｓ）、自機１ａを送信モードに切換える処理を実行する（ステップＳ５３８）。
次いで、ＣＰＵ１１０は、自機１ａの回転動作量｜Ｍｒ｜が予め定めた回転動作量Ｄｒを上回るか否かを判断し（ステップＳ５３９）、上回ると判断した場合（ステップＳ５３９；Ｙｅｓ）、動作パターン９の通信処理内容で通信処理信号を生成し（ステップＳ５４０）、ステップＳ５４４の処理へ以降する。
【００８３】
次いで、ＣＰＵ１１０は、ステップＳ５３９にて下回ると判断した場合（ステップＳ５３９；Ｎｏ）、並進動作量｜Ｍｘ｜，｜Ｍｙ｜，｜Ｍｚ｜の中で最大値をとるものを判断する（ステップＳ５４１）。
そして、ＣＰＵ１１０は、ステップＳ５４１にて並進動作量｜Ｍｘ｜であると判断した場合（ステップＳ５４１；１．｜Ｍｘ｜）、動作パターン１０の通信処理内容で通信処理信号を生成し（ステップＳ５４２）、ステップＳ５４４の処理へ以降する。また、ＣＰＵ１１０は、ステップＳ５４１にて並進動作量｜Ｍｙ｜であると判断した場合（ステップＳ５４１；２．｜Ｍｙ｜）、動作パターン１１の通信処理内容で通信処理信号を生成し（ステップＳ５４３）、「送信モード処理」を実行して（ステップＳ５４４）、本処理を終了する。
さらに、ＣＰＵ１１０は、ステップＳ５４１にて並進動作量｜Ｍｚ｜であると判断した場合（ステップＳ５４１；３．｜Ｍｚ｜）、音声出力部５５を介してエラー音を出力し（ステップＳ５４５）、動作パターンが特定できない旨を表示部５０にてエラー画面として表示する（ステップＳ５４６）。そして、ＣＰＵ１１０は、一定時間が経過又はユーザにより操作部４０を介してエラー状態の解除の操作が行われた後（ステップＳ５４７）、本処理を終了し、再び「通信状態確立処理」を実行する。
【００８４】
また、ＣＰＵ１１０は、ステップＳ５３７にて受信していないと判断する場合（ステップＳ５３７；Ｎｏ）、「受信モード処理」を実行して（ステップＳ５４８）、本処理を終了する。
【００８５】
以上により、本実施形態における端末装置１によると、ＣＰＵ１１０は、通信相手の検索が成功した場合に、センサ部３０により検出される端末装置１の動作に基づいて動作パターンテーブル１３２より動作パターンを特定し、当該特定した動作パターンに応じた通信処理内容にて通信相手１ｂと通信させることができるので、ユーザは操作パネルなどを介して実施すべき通信内容を事前に設定しておく必要がない。
したがって、端末装置１及び制御部１００が実行するプログラムは、ユーザにとっての利便性の高い端末装置及びプログラムといえる。
【００８６】
また、端末装置１において、ＣＰＵ１１０は、通信相手１ｂを検索する際に、自機１ａを通信相手１ｂとの通信時における送信モードに一時的に設定するパターンと受信モードに一時的に設定するパターンとをランダムな時間間隔で順次切換えることができる。つまり、自機１ａと通信相手１ｂが、同じタイミングで送信モードに設定されるパターンと受信モードに設定されるパターンとを繰り返し切換えることで、通信相手１ｂを検索することができなくなる（通信状態が確立出来なくなる）事態を回避でき、確実に通信相手１ｂを検索することが可能となる。
【００８７】
また、端末装置１において、ＣＰＵ１１０は、通信相手１ｂの検索が成功した場合、動作パターン８のように、センサ部３０により検出される端末装置１の動作に基づいて、自機１ａを送信モード又は受信モードに設定することができる。つまり、端末装置１によると、通信処理の実行とともにモードの設定を行うことができるので、ユーザが通信処理を実行する前にモードの設定を完了させておく手間が省かれ、一層端末装置１の利便性は向上する。
【００８８】
また、端末装置１において、ＣＰＵ１１０は、通信相手１ｂの検索が成功した場合、動作パターン１〜６のように、センサ部３０により検出される端末装置１の姿勢に基づいて、自機１ａを送信モード又は受信モードに設定することができるため、ユーザはモードの設定操作に手間や時間がかからないので、一層端末装置１の利便性は向上する。
【００８９】
また、端末装置１において、ＣＰＵ１１０は、通信相手１ｂの検索が成功し自機１ａを送信モードに設定した際、通信相手１ｂより動作量を取得し、取得した動作量に基づいて通信相手１ｂが停止状態にあると判断される場合に、動作パターン４〜６や動作パターン９〜１１を特定する。つまり、動作パターン２，３，７，８のように、自機１ａと通信相手１ｂの双方を動作させてはじめて通信処理が実行される場合と比較して、送信モードの端末装置１のみを動作させることで通信処理を実行できるので、ユーザの端末装置１に対する操作の簡便性が向上する。
【００９０】
また、端末装置１において、ＣＰＵ１１０は、通信相手１ｂの検索が成功し自機１ａを送信モードに設定した際、通信相手１ｂより動作量を取得し、自機１ａの動作量及び通信相手１ｂの動作量の双方に基づいて動作パターン２，３，７，８を特定する。つまり、自機１ａと通信相手１ｂの双方を動作させてはじめて通信処理が実行されるように構成されているので、ＣＰＵ１１０が実行する通信処理に係る通信処理内容の判別を確実に行うことが可能となる。
【００９１】
なお、以上の実施形態における記述は、本発明に係る好適な端末装置の一例であり、これに限定されるものではない。
また、以上の実施形態における端末装置を構成する各部の細部構成及び細部動作に関して本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【００９２】
例えば、上記実施形態では、加速度センサ３１及び角速度検出センサ３２の双方を用いて端末装置１の姿勢変化量や動作量を取得するように構成したが、例えば、動作パターン３，６，１１の通信処理を実行する場合のように、並進動作量を必要としない場合は、角速度検出センサ３２のみを備える構成としてもよい。
また、例えば、本実施形態では、自機及び通信相手は、別個に設けられた二台の端末装置１としているが、自機を端末装置１、通信相手を当該端末装置１と同一の機能を備えた他の装置（例えば、パーソナルコンピュータなど）としても勿論よい。さらに、動作パターン４〜６，９〜１１の通信処理を実行する場合のように、通信相手の動作を把握する必要がない場合、当該通信相手をＮＦＣカードなどとしてもよい。
【００９３】
また、上記実施形態において、フローチャートに記述されている各機能は、コンピュータとしての制御部１００(ＣＰＵ１１０)が読み取り可能なプログラムコードの形態で記録媒体（ＲＯＭ１３０）に格納されており、このプログラムコードに従ったコンピュータ（制御部１００）による処理動作が実行される。なお、伝送媒体を介して外部より伝送されてきた上述のプログラムコードに従ってコンピュータ(制御部１００)による処理動作を実行することもでき、このような伝送媒体も含めて、本実施の形態では記録媒体と定義する。
【符号の説明】
【００９４】
１                    端末装置
１０                  通信モジュール部
２０                  通信アンテナ
３０                  センサ部
３１                  加速度センサ
３２                  角速度検出センサ
４０                  操作部
５０                  表示部
５５                  音声出力部
６０                  ２次記憶部
７０                  電源部
１００                制御部
１１０                ＣＰＵ
１２０                ＲＡＭ
１３０                ＲＯＭ
１３１                機能識別コードテーブル
１３２                動作パターンテーブル
【図１】
0005609202.tif 000002
【図２】
0005609202.tif 000003
【図３】
0005609202.tif 000004
【図４】
0005609202.tif 000005
【図５】
0005609202.tif 000006
【図６】
0005609202.tif 000007
【図７】
0005609202.tif 000008
【図８】
0005609202.tif 000009
【図９】
0005609202.tif 000010
【図１０】
0005609202.tif 000011
【図１１】
0005609202.tif 000012
【図１２】
0005609202.tif 000013
【図１３】
0005609202.tif 000014
【図１４】
0005609202.tif 000015
【図１５】
0005609202.tif 000016
【図１６】
0005609202.tif 000017
【図１７】
0005609202.tif 000018
【図１８】
0005609202.tif 000019
【図１９】
0005609202.tif 000020
【図２０】
0005609202.tif 000021
【図２１】
0005609202.tif 000022