(57)【要約】【課題】提示された問題に対して入力デバイスを操作して正答を入力する場合において、問題の思考に要した時間を入力デバイスの種類を考慮して計測する。【解決手段】ストローク解析部２３２が、○のストローク操作が完了したことを検出すると、正誤答判定部２３３は、ストローク操作による○が、問題に対する正答箇所・大きさを指示するかを判定する。タイマ処理部２７０は、問題が提示されてから○が正答を指示すると判定されるまでの所要時間を計測する。そして、計測された所要時間と、入力デバイスを用いて○を入力完了するために必要とされる入力デバイスの種別毎の基準時間とに基づき、思考時間を算出する。【選択図】図７
2010104676.tif 000002
【特許請求の範囲】
【請求項１】
問題が提示されてから、入力デバイスを用いて為された一連操作に基づき、操作者の前記問題が提示されてから前記正答を導出するのに要した思考時間を計測する計測方法であって、
前記一連操作が完了したことを検出する操作検出ステップと、
前記操作検出ステップが検出した前記一連操作が、提示された前記問題に対する正答を指示するかを判定する判定ステップと、
前記問題が提示されてから、前記判定ステップにより正答を指示すると判定されるまでの所要時間を計測する正答時間計測ステップと、
前記正答時間計測ステップにより計測された前記所要時間と、前記入力デバイスを用いて前記一連操作を完了するために必要とされる前記入力デバイスの種別毎の基準時間とに基づき、前記思考時間を算出する算出ステップと、を備える、計測方法。
【請求項２】
前記算出ステップでは、
前記所要時間から、前記基準時間を減算することにより、前記思考時間を算出する、請求項１に記載の計測方法。
【請求項３】
算出した前記思考時間を出力する、請求項１または２に記載の計測方法。
【請求項４】
算出した前記思考時間を記憶する、請求項１から３のいずれかに記載の計測方法。
【請求項５】
外部端末から、当該外部端末において算出された、前記同一問題に対する前記思考時間のデータを受信する受信ステップと、
受信した前記データが指す前記思考時間と、前記算出ステップにより算出した前記思考時間とを比較する時間比較ステップと、
前記時間比較ステップの比較結果に基づき、前記問題に対する前記思考時間の速さを競った場合の勝敗判定結果を出力する勝敗出力ステップと、をさらに備える、請求項１から４のいずれかに記載の計測方法。
【請求項６】
問題が提示されてから、入力デバイスを用いて為された一連操作に基づき、操作者の前記問題が提示されてから前記正答を導出するのに要した思考時間を計測する計測装置であって、
前記一連操作が完了したことを検出する操作検出手段と、
前記操作検出手段が検出した前記一連操作が、提示された前記問題に対する正答を指示するかを判定する判定手段と、
前記問題が提示されてから、前記判定手段により正答を指示すると判定されるまでの所要時間を計測する正答時間計測手段と、
前記正答時間計測手段により計測された前記所要時間と、前記入力デバイスを用いて前記一連操作を完了するために必要とされる前記入力デバイスの種別毎の基準時間とに基づき、前記思考時間を算出する算出手段と、を備える、計測装置。
【請求項７】
請求項１に記載の計測方法をコンピュータに実行させるための、計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計測方法および装置に関し、特に、提示された問題に対して入力デバイスを操作して正答を入力する場合において思考に要した時間を計測する方法および装置に関する。
【背景技術】
【０００２】
早押しゲームなどの正答までの速度を複数人で競う対戦型マルチプレイヤゲームが従来から提供されている。たとえば、対戦型マルチプレイヤゲームとして間違い探しゲームのシステムが、特許文献１（特開２００４−８９６０１号）に開示される。このようなゲームでは、一般的に、正答操作したその瞬間の時刻情報により勝敗を決めている。この時刻情報は、ゲーム端末内のクロック（計時部）をベースに求めるが、各端末に内蔵されているクロックには個体差がある。このことによって、各端末で計時された時刻情報にはズレが生じる。この問題を解消するために、特許文献２（特開２００２-２３３６６７号公報）は、受信した標準電波に基づき同期基準時刻を把握し、そして、ゲーム装置内の基準時計の示す時刻と同期基準時刻とに基づき同期が取れていないと判定した場合には、基準時計を校正する。
【特許文献１】特開２００４-８９６０１号公報
【特許文献２】特開２００２-２３３６６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
対戦型マルチプレイヤゲームでは、プレイヤがする特定操作の速さを競うケースが想定される。その場合には、入力デバイスの種類の違いが要因となって、プレイヤ間で解答操作にかかる時間に差が生じる。この点について詳述する。
【０００４】
たとえば、間違い探しゲームでは、一般的に、表示された絵において間違い箇所を入力デバイスを操作して指示することにより解答し、いち早く正答したプレイヤが勝つことになる。つまり、問題提示から解答完了までに要する時間が一番短いプレイヤが勝つことになるので、勝敗を正確に判定しゲーム性を高めるには、プレイヤが操作する入力デバイスの種類毎に、解答に係る一連操作が完了するまでの平均的な所要時間を考慮することが必要となる。
【０００５】
たとえば、表示された絵において誤り箇所を○で囲むという解答のための操作は、一般的には、入力デバイスとしてタブレットとペンを用いて操作する方が、トラックボールやマウス等の入力デバイスを用いて操作するよりも、スムーズに操作できるので、入力デバイスとしてトラックボールを有する端末のプレイヤの方が、勝敗に関してハンディキャップを受けることになるであろう。
【０００６】
以上のように、「間違い探しゲーム」など入力デバイスを用いた特定操作の速さを競うゲームでは、勝敗判定にプレイヤが利用している入力デバイスの種類を考慮しない場合には、ゲーム性は喪失する。
【０００７】
しかしながら、特許文献１および２のいずれにおいても、このような入力デバイスの種類の違いに起因した操作に要する時間差を補償する提案は何らされていない。
【０００８】
それゆえに、この発明の目的は、提示された問題に対して入力デバイスを操作して正答を入力する場合において、問題の思考に要した時間を入力デバイスの種類を考慮して計測する方法および装置を提供することである。
【課題を解決するための手段】
【０００９】
この発明のある局面に従うと、問題が提示されてから、入力デバイスを用いて為された一連操作に基づき、操作者の前記問題が提示されてから前記正答を導出するのに要した思考時間を計測する計測方法は、一連操作が完了したことを検出する操作検出ステップと、操作検出ステップが検出した一連操作が、提示された問題に対する正答を指示するかを判定する判定ステップと、問題が提示されてから、判定ステップにより正答を指示すると判定されるまでの所要時間を計測する正答時間計測ステップと、正答時間計測ステップにより計測された所要時間と、入力デバイスを用いて一連操作を完了するために必要とされる入力デバイスの種別毎の基準時間とに基づき、思考時間を算出する算出ステップと、を備える。
【００１０】
好ましくは、算出ステップでは、所要時間から、基準時間を減算することにより、前記思考時間を算出する。
【００１１】
好ましくは、算出した思考時間を出力し、または、記憶する。
好ましくは、外部端末から、当該外部端末において算出された、同一問題に対する思考時間のデータを受信する受信ステップと、受信したデータが指す思考時間と、算出ステップにより算出した思考時間とを比較する時間比較ステップと、時間比較ステップの比較結果に基づき、問題に対する思考時間の速さを競った場合の勝敗判定結果を出力する勝敗出力ステップと、をさらに備える。
【００１２】
この発明の他の局面に従うと、問題が提示されてから、入力デバイスを用いて為された一連操作に基づき、操作者の問題が提示されてから正答を導出するのに要した思考時間を計測する計測装置は、一連操作が完了したことを検出する操作検出手段と、操作検出手段が検出した一連操作が、提示された問題に対する正答を指示するかを判定する判定手段と、問題が提示されてから、判定手段により正答を指示すると判定されるまでの所要時間を計測する正答時間計測手段と、正答時間計測手段により計測された所要時間と、入力デバイスを用いて一連操作を完了するために必要とされる入力デバイスの種別毎の基準時間とに基づき、思考時間を算出する算出手段と、を備える。
【００１３】
この発明のさらに他の局面に従うと、上述の計測方法をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【００１４】
本発明によれば、提示された問題に対して入力デバイスを操作して正答を入力する場合において、操作者の問題の思考に要した時間を入力デバイスの種類を考慮して計測することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部分には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１６】
また、以下では、他の端末と通信をしながら対戦型マルチプレイヤゲームのソフトウェアを実行可能な「通信端末」の代表例として携帯電話１００を挙げて説明を行う。ただし、このような機能を有する通信端末であれば、パーソナルコンピュータや、カーナビゲーション装置（Satellite navigation system）や、ＰＮＤ（Personal Navigation Device）や、ＰＤＡ（Personal Data Assistant）などのような、移動体端末を含む他の情報通信機器であってもよい。
【００１７】
また、本実施の形態では、ゲームソフトウェアとして「間違い探し」のゲームプログラムを実行する場合を想定し、プレイヤは、表示された問題の絵柄をみて間違い箇所を、入力デバイスを操作して○で囲むことで解答を入力すると想定する。
【００１８】
また、本実施の形態では、後述のインターネット５００またはキャリア網７００を介したオンラインサービスによるチャットにより、リアルタイムに通信端末同士がメッセージをやり取りしながら、ゲームをプレイする。通信は、メールサーバは介さないＩＰ（Internet Protocol）アドレスを用いた後述のＰ２Ｐ型のデータ通信、またはメールサーバ経由の電子メール交換であってもよい。
【００１９】
また、チャットするプレイヤ同士を関係付けるためにチャットルームが用いられる。チャットルームは、チャットのためのデータ通信（データ交換）を要求するユーザ（プレイヤ）の識別情報を相互に関係付けるための情報を指す。この識別情報は、本実施の形態では各通信端末に割り当されたＩＰアドレスとしている。
【００２０】
また、本実施の形態では、‘ルームの開設’とは、ルームの生成に相当する。具体的には、所定記憶領域に新規にルームＩＤ（Identifier）を格納するとともに、このルームＩＤに対応してルームの生成を要求したプレイヤの通信端末の識別情報を格納する動作に相当する。
【００２１】
また、‘ルームへの参加’とは、所定記憶領域に既に格納されたルームＩＤに対応してチャットを要求するプレイヤの識別情報を格納するともに、当該プレイヤに対して他のプレイヤの識別情報を配信する動作に相当する。
【００２２】
また、‘ルームの削除’とは、削除するべきルームのルームＩＤを、所定記憶領域から削除するための動作を指す。
【００２３】
（ネットワークシステムの全体構成）
図１に示すように、ネットワークシステム１は、携帯電話１００Ａ，１００Ｂ，１００Ｃと、マッチングサーバ４００と、インターネット５００と、メールサーバ６００と、パーソナルコンピュータ（ＰＣ：Personal Computer）３００と、キャリア網７００とを含む。また、本実施の形態に係るネットワークシステム１は、車両２５０に搭載されるカーナビゲーション装置２００を含む。
【００２４】
説明の簡単化のために、以下では、本実施の形態に係るネットワークシステム１が、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、第３の携帯電話１００Ｃとを含む場合について説明する。また、携帯電話１００Ａ，１００Ｂ，１００Ｃの各々に共通の構成や機能を説明する際には、それらを携帯電話１００とも総称する。そして、携帯電話１００Ａ，１００Ｂ，１００Ｃ、カーナビゲーション装置２００およびＰＣ３００の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。
【００２５】
携帯電話１００は、キャリア網７００に接続可能に構成されている。カーナビゲーション装置２００は、インターネット５００に接続可能に構成されている。マッチングサーバ４００は、インターネット５００に接続可能に構成されている。
【００２６】
より詳細には、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、第３の携帯電話１００Ｃと、カーナビゲーション装置２００とは、キャリア網７００やメールサーバ６００やインターネット５００を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話１００とカーナビゲーション装置２００には、自端末を特定するための識別情報（たとえば、メールアドレスやＩＰアドレスなど）が割り当てられる。すなわち、携帯電話１００とカーナビゲーション装置２００とＰＣ３００は、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網７００やインターネット５００などを介して当該他の通信端末とデータ送受信を行うことができる。
【００２７】
なお、本実施の形態に係る携帯電話１００とカーナビゲーション装置２００とＰＣ３００は、割り当てられるＩＰアドレスを利用して、メールサーバ６００を介さずに他の通信端末とデータ送受信を行うものである。ここでは、各通信端末がマッチングサーバ４００にアクセスする際には、すなわち各通信端末がインターネット７００にアクセスした際に、マッチングサーバ４００あるいは他の図示しないサーバ装置などによってＩＰアドレスが割り当てられるものとする。ＩＰアドレスの割り当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
【００２８】
また、本実施の形態に係る携帯電話１００、カーナビゲーション装置２００は、自身に割り当てられたＩＰアドレスを利用することにより、直接的に相互にネットワークを介してデータ送受信を行うことが可能である。すなわち、本実施の形態に係るネットワークシステム１に含まれる携帯電話１００、カーナビゲーション装置２００およびＰＣ３００は、いわゆるＰ２Ｐ（Pear to Pear）型のネットワークを構成することが可能である。
【００２９】
（Ｐ２Ｐの動作概要）
本実施の形態に係る各通信端末は、Ｐ２Ｐ型のデータ通信を行うために、予め互いのＩＰアドレスを交換（取得）する必要がある。そして、各通信端末は、ＩＰアドレスを取得したのちに、Ｐ２Ｐ型のデータ通信によってメッセージや添付ファイルなどを他の通信端末に送信する。対戦型マルチプレイヤゲームでプレイヤの通信端末間で行なわれるチャットは、このＰ２Ｐ型のデータ通信によって実現される。
【００３０】
次に、本実施の形態に係るネットワークシステム１の動作概要について説明する。図２は、ネットワークシステム１における動作概要を示すシーケンス図である。図１および図２に示すように、本実施の形態に係る各通信端末は、Ｐ２Ｐ型のデータ送受信を行うために、はじめに互いのＩＰアドレスを交換（取得）する必要がある。そして、各通信端末は、ＩＰアドレスを取得したのちに、Ｐ２Ｐ型のデータ送受信によってメッセージや添付ファイルなどを他の通信端末に送信する。
【００３１】
ただし、以下では、通信端末のそれぞれが、マッチングサーバ４００に生成されたチャットルームを介してメッセージを送受信し、その後互いのＩＰアドレスに基づいてＰ２Ｐ通信を行う場合について説明する。
【００３２】
まず、第１の携帯電話１００Ａ（図２において端末Ａ）が、マッチングサーバ４００にＩＰ登録（ログイン）を要求する（ステップＳ００２）。第１の携帯電話１００Ａは、同時にＩＰアドレスを取得してもよいし、予め他のサーバ装置などからＩＰアドレスを取得してもよい。より詳細には、第１の携帯電話１００Ａは、キャリア網７００、メールサーバ６００、インターネット網５００を介して、マッチングサーバ４００に第１の携帯電話１００ＡのメールアドレスとＩＰアドレスと第２の携帯電話１００Ｃ（図２では端末Ｃ）のメールアドレスと新たなチャットルームの開設を要求するメッセージとを送信する。
【００３３】
マッチングサーバ４００は、その要求に応じて、第１の携帯電話１００ＡのメールアドレスをそのＩＰアドレスに対応付けて格納する。そして、マッチングサーバ４００は、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｃのメールアドレスとに基づいてルーム名を生成し、あるいは、メッセージに含まれるルーム名を抽出して、当該ルーム名のチャットルームを開設する。このとき、マッチングサーバ４００は、チャットルーム開設が完了した旨を第１の携帯電話１００Ａに通知してもよい。マッチングサーバ４００は、ルーム名と参加中の通信端末のＩＰアドレスとを対応付けて格納する。
【００３４】
第１の携帯電話１００Ａのプレイヤは、第２の携帯電話１００Ｃのプレイヤに、新たなチャットルームを開設したことを知らせる、すなわち第２の携帯電話１００Ｃのプレイヤにチャットルームへの参加要請をする。たとえば、第１の携帯電話１００Ａは、キャリア網７００、メールサーバ６００、インターネット網５００を介して、Ｐ２Ｐ参加要請メールを第２の携帯電話１００Ｃに送信する。
【００３５】
第２の携帯電話１００Ｃは、Ｐ２Ｐ参加要請メールを受信すると、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｃのメールアドレスとに基づいてルーム名を生成し、あるいは参加要請メールからルーム名を取得し、マッチングサーバ４００に第２の携帯電話１００ＣのメールアドレスとＩＰアドレスとそのルーム名を有するチャットルームへ参加する旨のメッセージとを送信する（ステップＳ００８）。第２の携帯電話１００Ｃは、同時にＩＰアドレスを取得してもよいし、先にＩＰアドレスを取得してからマッチングサーバ４００にアクセスしてもよい。
【００３６】
マッチングサーバ４００は、そのメッセージを受け付けて、第２の携帯電話１００ＣのメールアドレスをＩＰアドレスに対応付けて格納する。そして、マッチングサーバ４００は、第１の携帯電話１００Ａに、第２の携帯電話１００Ｃがチャットルームに参加した旨と第２の携帯電話１００ＢのＩＰアドレスとを送信する（ステップＳ０１０）。同時に、マッチングサーバ４００は、第２の携帯電話１００Ｃに、チャットルームへの参加を受け付けた旨と第１の携帯電話１００ＡのＩＰアドレスとを送信する。このとき、マッチングサーバ４００はチャットルームを削除してもよい。
【００３７】
第１の携帯電話１００Ａは、第２の携帯電話１００ＣのＩＰアドレスに基づいて第２の携帯電話１００ＣにＰ２Ｐ接続要求メッセージ（開始メッセージ）を送信する（ステップＳ０１２）。第２の携帯電話１００Ｃは、接続要求メッセージを受信して、第１の携帯電話１００ＡのＩＰアドレスに基づいて第１の携帯電話１００Ａに第１の接続承諾メッセージ（返答メッセージ）を送信する（ステップＳ０１４）。第１の携帯電話１００Ａは、第２の携帯電話１００Ｃから第２の接続承諾メッセージを受信して、第２の携帯電話１００Ｃに接続承諾メッセージを送信する（ステップＳ０１６）。
【００３８】
このようにして、第１の携帯電話１００Ａと第２の携帯電話１００Ｃとは、互いに相手を認証する。認証が完了すると、第１の携帯電話１００Ａと第２の携帯電話１００Ｃとは、Ｐ２Ｐ通信を開始する（ステップＳ０１８）。そしてＰ２Ｐ通信をしながら両者の携帯電話においては対戦型マルチプレイヤゲームが実行される。
【００３９】
その後、第１の携帯電話１００Ａが、第２の携帯電話１００ＣにＰ２Ｐ通信を切断する旨のメッセージを送信すると（ステップＳ０３０）、第２の携帯電話１００Cは、第１の携帯電話１００Ａに切断する要求を受け付けた旨のメッセージを送信する（ステップＳ０３２）。
【００４０】
以下、このようなＰ２Ｐ通信を伴う対戦型マルチプレイヤゲームを実現するための構成について詳述する。
【００４１】
（携帯電話のハードウェア構成）
本実施の形態に係る携帯電話１００のハードウェア構成について説明する。図３には携帯電話１００の概観が示されて、図４には携帯電話１００のハードウェア構成が示される。
【００４２】
図３および図４を参照して、携帯電話１００は、アンテナ１０２を接続し外部のネットワークとの間でデータを送受信する通信デバイス１０１と、ＲＯＭ（Read Only Memory）１０３１およびＲＡＭ（Random Access Memory）１０３２を含みプログラムや各種データを記憶する記憶部１０３と、ＣＰＵ（Central Processing Unit）１０６Ａを含むマイクロコンピュータに相当する制御部１０６と、ディスプレイ１０７と、音声を出力するスピーカ１０９と、音声を入力するためのマイク１０４と、時間を計る計時部１０５と、タブレット１１９と、各種情報の入力を受け付ける操作部１１０とを含む。
【００４３】
本実施の形態に係るディスプレイ１０７は、液晶パネルから構成されるタッチパネルである。すなわち、本実施の形態に係る携帯電話１００は、メインディスプレイ１０７の下側（裏側）にタブレット１１９が敷設されている。これによって、表示一体型入力装置１０８が構成される。プレイヤはスタイラスペン１２０などを操作することによって、タブレット１１９を介して、ゲームの正答を示す情報（たとえば、図形・記号など）を制御部１０６に手書きにより入力することができる。
【００４４】
操作部１１０は、キー入力操作などによってユーザから情報を受け付ける。たとえば、操作部１１０は、テンキーや決定キーなどを含み、相手先アドレスの選択命令やメール本文の入力などを受け付ける。
【００４５】
制御部１０６は、携帯電話１００の各部を制御する。たとえば、操作部１１０を介してユーザから各種の命令を受け付けて、通信デバイス１０１やネットワークを介して外部の通信端末とデータの送受信を行う。
【００４６】
通信デバイス１０１は、制御部１０６からの通信データを通信信号に変換し、その通信信号をアンテナ１０２を介して発信する。通信デバイス１０１は、アンテナ１０２を介して受信した通信信号を通信データに変換し、その通信データを制御部１０６に出力する。
【００４７】
記憶部１０３は、作業用メモリとして機能するＲＡＭ１０３２や、制御プログラムなどを格納するＲＯＭ１０３１や、ハードディスクなどによって実現される。
【００４８】
（表示一体型入力装置の構成）
本実施の形態に係る表示一体型入力装置１０８の詳細構成の１例が図５に示される。
【００４９】
図５を参照して、表示一体型入力装置１０８は、液晶パネル３２０および液晶パネル３２０の背面側に設けられ該液晶パネル３２０に光を照射するバックライト３１０を備える。
【００５０】
液晶パネル３２０は、多数の画素がマトリクス状に配列されたアクティブマトリクス基板３２１を有する。アクティブマトリクス基板３２１には、各画素を駆動するためのスイッチング素子であるＴＦＴ（Thin Film Transistor）、配向膜（図示せず）、光センサ素子３３０などが設けられている。
【００５１】
表示一体型入力装置１０８では、バックライト３１０からの光を光源として利用して、検出対象面３００ａ上に置かれた物体の画像情報（形状・色彩など）を取得する。つまり、バックライト３１０から照射され液晶パネル３２０を透過した光は、検出対象面３００ａ上の物体において反射される。各画素のＲ(赤)・Ｇ(緑)・Ｂ（青）ごとに設けられた光センサ素子３３０は、反射光を検知し、各素子で検出された波長成分に基づき検出対象面３００ａ上に置かれた物体の形状および色彩を認識することができる。検出対象面３００ａに置かれた指やペン１２０が描画する軌跡のデータは座標データとして読取る場合には、陰影情報のみを検知すればよいので、光センサ素子３３０は各画素に一個設けられる。このように、検出対象面３００ａ上における指またはペン１２０の描画データは、時系列の座標データとして入力される。
【００５２】
表示一体型入力装置１０８は図５の構成に限定されず、図６の抵抗膜式アナログタッチパネルの構成であってもよい。図６の構成の詳細は、特開２００４−２１３３１２号公報に開示がされる。
【００５３】
簡単に説明すると、図６の表示一体型入力装置１０８は、タブレット１１９に相当のタッチパネル１０、下シート１１、上シート１２、Ｘ座標検知回路１３、Ｙ座標検知回路１４、および制御部１５を備える。
【００５４】
タッチパネル１０は、図６に示すように、下シート１１と上シート１２との２枚の透明な抵抗膜を離間して備え、上シート１２を形成する抵抗膜の任意の位置をペン１２０や指などで押下したときに、その押下された位置で２枚の抵抗膜が接触するように構成されている。２枚の抵抗膜であるシート１１と１２には、それぞれ、Ｙ座標検知回路１４とＸ座標検知回路１３とが接続されている。
【００５５】
このように構成されるタッチパネル１０は、２枚のシートが接触すると、一方の抵抗膜に印可された基準電圧が他方の抵抗膜で分圧され、その分圧された電圧を検出することによりＸＹ座標の算出を行うように構成されている。したがって、タブレット１０９上における指またはペン１２０の描画データは、Ｘ座標検知回路１３、Ｙ座標検知回路１４および制御部１５を介して時系列の座標データとして導出される。
【００５６】
タッチパネルへの接触がない場合、２枚のシートが接触しないので座標検出の電圧は検出されず、その結果、電圧の有無を検出すればタッチパネル１０への接触の有無（後述のペンダウン／アップ）を検出することができる。Ｘ座標検知回路１３、Ｙ座標検知回路１４および制御部１５を介して導出される時系列の座標データは、後述の入力処理部２８０に与えられる。
【００５７】
（携帯電話１００の機能構成）
図７を参照して携帯電話１００の機能構成を説明する。
【００５８】
携帯電話１００は、勝敗判定部２１１を含むアプリケーション部２１０、送信処理部２２１および受信処理部２２２を含む通信部２２０、ＵＩ（User Interfaceの略）処理部２３０、表示処理部２４０、表示処理部２４０に関連して設けられる表示用メモリ２５０、描画消去部２６０、タイマ処理部２７０および入力処理部２８０を備える。これらの各部の機能は予めプログラム・データとして記憶部１０３の所定記憶領域に格納されており、ＣＰＵ１０６Ａがこれらプログラム・データを記憶部１０３から読出し、実行することにより、各部の機能が実現される。なお、図７においては、ＣＰＵ１０６Ａが有する各部とデータ・情報を入出力する周辺回路部のみが示される。
【００５９】
記憶部１０３には、入力デバイス情報１０３Ａ、変数情報１０３Ｂおよび問題情報１０３Ｃが格納される。アプリケーション部２１０は、記憶部１０３に格納された入力デバイス情報１０３Ａ、変数情報１０３Ｂおよび問題情報１０３Ｃに従い、所定のアプリケーションプログラムを実行する。本実施の形態では、このアプリケーションプログラムは、間違い探しのゲームプログラムである。問題情報１０３Ｃは、間違い探しの絵柄を示す画像情報１０４Ａ、画像情報１０４Ａにより表示される画像における間違い箇所の座標位置のデータANSx，ANSy、および間違い箇所の大きさ（サイズ）のデータANSzを含む。
【００６０】
通信部２２０は、通信デバイス１０１を介して、外部の携帯電話１００と通信する。
ＵＩ処理部２３０は、表示一体型入力装置１０８のタブレット１１９上におけるプレイヤのペン１２０などの操作に応じた描画のデータを入力処理部２８０を介して入力する。また、表示処理部２４０を表示用メモリ２５０に格納された表示用データをディスプレイ１０７に表示するよう制御する。
【００６１】
ＵＩ処理部２３０は、タブレット１１９上におけるペン１２０の操作によるストロークの情報を、すなわち時系列の座標データを入力処理部２８０を介して入力し記憶部１０３の所定記憶領域に格納するためのストローク記憶処理部２３１、記憶部１０３に格納されたストロークの情報を解析し、解析結果を出力するストローク解析部２３２、ストローク解析部２３２の解析結果に基づき、間違い探しの問題に対して正答したか誤答したかを判定するための正誤答判定部２３３を含む。
【００６２】
描画消去部２６０は、表示処理部２４０を介してディスプレイ１０７に描画されたストロークの軌跡を消去するよう動作する。
【００６３】
タイマ処理部２７０は、計時部１０５から与えられる計時データに基づき所定時間を計時する。
【００６４】
（記憶部の内容）
図８と図９には、記憶部１０３に格納される情報の一例が示される。ここでは入力デバイス情報１０３Ａと変数情報１０３Ｂについて説明する。
【００６５】
図８を参照して入力デバイス情報１０３Ａは、携帯電話１００が備える入力デバイスの種類（タイプ）を示すために予め値が設定される変数DEVTP、ペン１２０がタブレット１０９上で移動していないと判定するための基準となる距離値を指す変数SAMEPOS、備える入力デバイスで所定大きさの○を描画する操作をする場合の所要時間の基準値を指す変数OPTM、○が描画されたと判定するための描画開始点と終了点の間の距離値を指す変数CIRCLOSE、変数OKPOSおよび変数OKSZを含む。入力デバイス情報１０３Ａに関して、変数DEVTPの値に応じた他の変数の値、すなわち入力デバイスに固有である他の変数の値が設定される。他の変数の値は、実験などにより予め検出されて、記憶部１０３に格納される。
【００６６】
変数DEVTPは、入力デバイスのタイプとして、マウスの場合は値：０１、図６の抵抗膜の装置の場合は値：２０、図５の光センサとペン１２０の組合せの場合は値：３０、および図５の光センサと指の組合せの場合には値：３１を取る。
【００６７】
変数OKPOSは、間違い箇所が指定されたと判定するための、正解の間違い箇所とプレイヤの指定箇所との基準距離のデータを指す。変数OKSZは、間違い箇所が指定されたと判定するための、正解の間違い箇所のサイズとプレイヤの指定箇所である○のサイズとの許容距離を示す。
【００６８】
上述したように、入力デバイスに固有である他の変数の値が入力デバイス情報１０３Ａとして設定されることにより、同種デバイスでも、そのデバイスの実現の仕方（方式）が異なると各変数の値に生じる差、さらには、同じ方式でのデバイスでも、入力感度等に係るパラメータの設定状況によっても生じる差を、吸収することができる。
【００６９】
たとえば、図５の光センサ液晶方式のタッチパネルの場合、たとえば、操作物体として、「ペン」か「指」か等（入力操作の物体かどうかの判定するため）の入力感度等に係るパラメータ設定（デバイス調整）が可能となっているのが一般的で、その設定状況により、一連操作を完了するまでに平均的にかかる時間は異なる。この相違を相殺するために、上述した他の変数に、入力感度等に係るパラメータ設定状況に応じた値が予め設定される。一方、図６の抵抗膜方式のタッチパネルでは、一般的には、出荷時に工場などで調整された後は、入力感度等に係るパラメータがユーザによって設定されることはない。すなわち、一連操作を完了するまでに平均的にかかる時間は、出荷後、ほぼ同じとなるであろう。したがって、上述した他の変数には、変数DEVTPに応じた値が一旦設定がされると、その後は変更されることはないであろう。
【００７０】
図９には、変数情報１０３Ｂの一例が示される。変数情報１０３Ｂは、データ群Ｅ１、Ｅ２およびＥ３を含む。データ群Ｅ１は、当該携帯電話１００の入力デバイスの情報およびプレイヤの操作に関する情報の変数を含む。
【００７１】
データ群Ｅ２は、当該携帯電話１００と対戦する相手プレイヤの携帯電話１００の入力デバイスの情報および相手プレイヤの操作に関する情報の変数を含む。データ群Ｅ２のデータ群Ｅ１の変数と同一名の変数は、データ群Ｅ１において説明したのと同様のデータを指示する。
【００７２】
データ群Ｅ３は、プレイヤの入力デバイス操作を検出するための変数を含む。具体的には、タイマ処理部２７０の稼働を指示するフラグの変数TimerF、タブレット１１９上のペン１２０などの描画の軌跡を指す座標データの記憶個数を指示する変数cnt、当該座標データの記憶用バッファである配列型の変数I_BFx[],I_BFy[]、プレイヤが○で囲んだ箇所が間違い箇所（正答箇所）かどうかを判定する際に利用される変数Xl,Yl,Xh,Yh、POINTsz、POINTx,POINTy、相手プレイヤの携帯電話１００から受信した座標データが最初の入力イベントであるか、すなわちペン１２０のタブレット１１９上へのダウン操作であるかどうかを判定する際に参照される変数IFlag、相手プレイヤの携帯電話１００において直前に入力された座標データを記憶するための変数OS_x,OS_y、相手プレイヤの携帯電話１００において今回入力された座標データを記憶するための変数NS_x,NS_yを含む。
【００７３】
（表示画面の例示）
図１０には、アプリケーション部２１０による間違い探しゲームのプログラム実行時のディスプレイ１０７の表示画面の一例が示される。図１０のディスプレイ１０７の表示領域は、上下２つに分割されて、分割された各領域に画像が表示される。
【００７４】
ディスプレイ１０７の上半分には、基準の絵柄を指す基準画像が表示され、下半分には間違い箇所を探索して指定するための対象画像が表示される。対象画像は、基準画像の絵柄とは異なる箇所（間違い箇所）を含んでおり、プレイヤは、対象画像において間違い箇所を探索して、その箇所をペン１２０または指を操作して○で囲んで指定することにより、解答を入力することができる。
【００７５】
図１１および図１２には、間違い探しゲームにおける本実施の形態に係る正答・誤答判定の一例が示される。ディスプレイ１０７の上段に図１１（Ａ）の基準画像が表示されて、その下段には図１１（Ｂ）または（Ｃ）の対象画像が表示されたと想定する。
【００７６】
図１１（Ｂ）の対象画像が表示された場合、図１１（Ａ）と（Ｂ）の両画像を照合すると、対象画像における間違いは“家のドア”の箇所であることがわかる。プレイヤは図１２（Ａ）に示されるように、“家のドア”の箇所を○で囲んで指示することにより、解答（正答）を入力することができる。このとき、図１２（Ｂ）に示すように“家”全体を○で囲んでしまった場合には、本実施の形態においては誤答であると判定される。つまり、正答（“ドア”）の位置およびサイズとは、異なる位置およびサイズを指定したと判定し、誤答であると判定される。
【００７７】
一方、下段に図１１（Ｃ）の対象画像が表示された場合、図１１（Ａ）と（Ｃ）の両画像を比較すると、図１１（Ｃ）の対象画像において“家”の大きさが基準画像とは相違し、“家”自体が間違い箇所であることがわかる。したがって、プレイヤが図１２（Ｃ）に示されるように“家”全体を○で囲むことにより解答を入力した場合には、正答と判定される。一方、図１２（Ｄ）のように、家の“ドア”だけを○で囲むことにより解答を入力した場合には、本実施の形態においては誤答であると判定される。つまり、正答（“家”）の位置およびサイズとは、異なる位置およびサイズを指定したと判定し、誤答であると判定される。
【００７８】
図１０〜図１２では、画面は上下に分割されるとしているが、左右に２分割されてもよい。
【００７９】
上述したように、本実施の形態では、「間違い箇所」と「間違いの大きさ」を意味するプレイヤの入力デバイス操作に基づき、正答・誤答を判定する。
【００８０】
（処理フローチャート）
次に、図１３〜図２０のフローチャートに従い、図２のステップＳ０１８において本実施の形態に係る携帯電話１００Ａと相手プレイヤの携帯電話１００Ｃとにおいて間違い探しのゲームプログラムが実行される場合の動作について説明する。図２１には、このフローチャートに従うプログラムが実行される場合において、携帯電話１００Ａ（端末Ａ）と１００Ｃ（端末Ｃ）との間における通信手順の概略シーケンスを示す。
【００８１】
なお、区別のために、データ群Ｅ１の各変数については、その名称の頭に‘My.’を付与し、データ群Ｅ２の各変数については、その名称の頭に‘His.’を付与する。また、図１３〜図２０に示すフローチャートに従うプログラムは、予め記憶部１０３の所定記憶領域に格納されており、ＣＰＵ１０６Ａがこれらプログラムを記憶部１０３から読出し、実行することにより、各部の処理が実現される。
【００８２】
ここでは、記憶部１０３の間違い探しゲームのための問題情報１０３Ｃは、ディスプレイ１０７に表示されるべき基準画像と対象画像の情報１０４Ａ、および当該画像情報１０４Ａに対応して、当該画像情報における間違い箇所の位置を指すデータ１０４Ｂ、および間違い箇所である絵柄の大きさ（サイズ）を指すデータ１０４Ｃを含む。
【００８３】
より具体的には、データ１０４Ｂは、正答と判定するべき○の座標を指示する変数ANSx，ANSyを含む。データ１０４Ｃは、対象画像における正答と判定するべき○のサイズ（面積）を指す変数ANSzを含む。
【００８４】
ここでは、携帯電話１００Ａのプレイヤが自己が有する間違い探しの問題情報１０３Ｃについて携帯電話１００Ｃのプレイヤに対戦を申し込み、携帯電話１００Ｃのプレイヤは申し込みを受けたと想定する。
【００８５】
（全体処理）
まず、携帯電話１００ＡのＣＰＵ１０６Ａは、操作部１１０のプレイヤ操作により、間違い探しのゲームプログラムが起動されたことを検知すると、アプリケーション部２１０を起動する。
【００８６】
起動されたアプリケーション部２１０は、記憶部１０３から問題情報１０３Ｃを読出し、読出した問題情報１０３Ｃを通信部２２０に出力する。
【００８７】
通信部２２０の送信処理部２２１は、与えられる問題情報１０３Ｃを、通信デバイス１０１を介して、相手プレイヤの携帯電話１００Ｃに送信する。携帯電話１００Ｃでは、携帯電話１００Ａから受信した問題情報１０３Ｃを記憶部１０３に格納する（図１３と図２１のステップＳ１参照）。
【００８８】
次に、アプリケーション部２１０は、記憶部１０３から入力デバイス情報１０３Ａを読出し、通信部２２０に与える。通信部２２０の送信処理部２２１は、与えられた入力デバイス情報１０３Ａを入力し、通信デバイス１０１を介し携帯電話１００Ｃに送信する（ステップＳ３）。このとき、携帯電話１００Ｃにおいても、図２１に示されるように、同様に、入力デバイス情報１０３Ａの読出と、相手プレイヤの携帯電話１００Ａへの送信とが行なわれる（ステップＳ３）。したがって、図２１のステップＳ３のシーケンスで示されるように、携帯電話１００Ａと１００Ｃは、それぞれ相手から入力デバイス情報１０３Ａを受信し、受信した相手側の入力デバイス情報を、変数情報１０３Ｂのデータ群Ｅ２として、記憶部１０３に格納する。これにより、携帯電話１００Ａと１００Ｃにおいて相互の入力デバイス情報１０３Ａが交換される。
【００８９】
続いて携帯電話１００Ａのアプリケーション部２１０は、ゲームの開始操作がされたか否かを、入力処理部２８０を介して与えられる指示信号に基づき判定する（ステップＳ５）。または、通信デバイス１０１を介して、相手プレイヤの携帯電話１００Ｃからゲームの開始操作の指示信号を受信したか否かを判定する（ステップＳ５）。判定の結果、ゲーム開始操作がされない、または携帯電話１００Ｃから開始操作の信号が受信がされない間は、ステップＳ５の処理が繰返されるが、ゲーム開始操作がされた、または開始操作信号を受信したと判定されると（ステップＳ５でＹＥＳ）、ゲームが開始される。ステップＳ５の処理は、相手プレイヤの携帯電話１００Ｃにおいても同様に行なわれる。
【００９０】
ゲームが開始されると、携帯電話１００Ａおよび１００Ｃのそれぞれにおいては、アプリケーション部２２０は、表示処理部２４０に画像データに基づく画像を表示させる。具体的には、表示処理部２４０に、表示用メモリ２５０において、記憶部１０３の問題情報１０３Ｃが示す画像情報１０４Ａに基づく画像データを展開させて、展開させた表示用データを表示用メモリ２５０から読出させて、ディスプレイ１０７に表示させるよう制御する（ステップＳ７）。これにより、携帯電話１００Ａおよび１００Ｃのディスプレイ１０７において、たとえば図１０に示すような基準画像と対象画像が表示される。
【００９１】
続いて、アプリケーション部２１０は、ＵＩ処理部２３０と受信処理部２２２を稼働する（ステップＳ９）。
【００９２】
続いてアプリケーション部２１０は、ＵＩ処理部２３０および通信部２２０の両処理部から、処理終了信号を受信するまで待機する（ステップＳ１１でＮＯ）。終了信号を受信したと判定すると（ステップＳ１１でＹＥＳ）、アプリケーション部２１０は勝敗判定部２１１を稼働する（ステップＳ１３）。勝敗判定部２１１の処理終了後は、一連の間違い探しゲームのプログラムに関する処理は終了する。
【００９３】
図２１に示すように、ステップＳ１〜ステップＳ１３の処理は、Ｐ２Ｐ通信を行なう携帯電話１００Ａと１００Ｃのそれぞれにおいて、並行して、同時に行なわれる。
【００９４】
以下においては、説明を簡単にするために、携帯電話１００Ａにおける処理のみについて説明するが、実際には、並行して、携帯電話１００Ｃにおいても、携帯電話１００Ａと同様の処理が実行されている。
【００９５】
（勝敗判定処理）
図１４には、勝敗判定部２１１による処理フローチャートが示される。
【００９６】
勝敗判定部２１１は、ディスプレイ１０７に画像情報１０４Ａの問題を提示してから解答の入力操作を完了し正答と判定されるまでの所要時間（以下、正答操作時間という）を示す変数My.ANSTMの値と、タブレット１９上でペン１２０を操作して○で囲む操作に対する基準時間の変数My.OPTMの値との差分と、相手プレイヤの携帯電話１００Ｃから受信した正答操作時間を示す変数His.ANSTMの値と携帯電話１００Ｃにおける入力デバイスを操作して○で囲む操作に対する基準時間を示す変数His.OPTMの値との差分とを比較する。そして比較結果に基づき、両差分が等しいか否かを判定する（ステップＳ１３１）。両差分が等しいと判定すると（ステップＳ１３１でＹＥＳ）、すなわち問題情報１０３Ｃのゲームの対戦結果はドロー（引き分け）であると判定すると、勝敗判定部２１１は、表示処理部２４０を介してディスプレイ１０７に‘ドロー’のデータ表示を行なう（ステップＳ１３２）。
【００９７】
一方、両差分は等しくないと判定すると（ステップＳ１３１でＮＯ）、比較結果に基づき、「変数My.ANSTMの値と変数My.OPTMの値との差分＜変数His.ANSTMの値と変数His.OPTMの値との差分」の条件が成立するか否かを判定する（ステップＳ１３３）。この条件が成立すると判定すると（ステップＳ１３３でＹＥＳ）、すなわち勝ちと判定すると、勝敗判定部２１１は、表示処理部２４０を介して、ディスプレイ１０７にＷＩＮ（勝ち）の表示を行なう。一方、当該条件が成立しないと判定すると（ステップＳ１３３でＮＯ）、ディスプレイ１０７にＬＯＳＴ（負け）の表示を行なう（ステップＳ１３５）。ステップＳ１３２、Ｓ１３４およびＳ１３６の処理を終了後は、図１３の処理に戻る。
【００９８】
このように、正答操作時間を競う場合に、各プレイヤが操作する入力デバイスの種類の相違から生じる、正答操作時間の差分の補正が行なわれた結果に基づいて、提示された問題に対する思考時間に従う勝敗判定ができる。
【００９９】
以下、実質的な正答操作時間を測定するための手順について説明する。
（ＵＩ処理）
ＵＩ処理部２３０の処理について図１５のフローチャートに従い説明する。アプリケーション部２１０によってＵＩ処理部２３０が稼働されると（ステップＳ９）、ＵＩ処理部２３０は、タイマ処理部２７０に指示して、計時部１０５の計時データに基づきゲームに対する正答を得るまでの時間をカウント開始させる（ステップＳ９１、Ｓ９２）。つまり、タイマカウントのために変数My.ANSTMの値を０に初期化し（ステップＳ９１）、変数TimerFに値１を初期設定する（ステップＳ９２）。
【０１００】
変数TimerFが値１を指示している期間は、後述の図２０に示すように、タイマ処理部２７０によって、変数My.ANSTMの値が計時部１０５が出力する計時データに基づき１クロック単位でカウントアップされる。変数TimerFは正答の判定がされると値が０に設定されるので、変数My.ANSTMの最終値は、正答操作時間を示す。
【０１０１】
続いて、ＵＩ処理部２３０は、ストローク記憶処理部２３１を稼働させる（ステップＳ９３）。これにより、ストローク記憶処理部２３１は後述する図１６に従う動作を開始する。
【０１０２】
ストローク記憶処理部２３１の処理終了後に、ＵＩ処理部２３０は、ストローク解析部２３２を稼働させる（ステップＳ９４）。これにより、ストローク解析部２３２は、後述の図１７のフローチャートに従い動作する。
【０１０３】
ストローク解析部２３２による処理の終了後、ＵＩ処理部２３０は、ストローク解析部２３２による解析結果を示すリターン値が解析が正常に終えたことを指す“ＯＫ”を示すか否かを判定する（ステップＳ９５）。
【０１０４】
“ＯＫ”を示すと判定すると（ステップＳ９５でＹＥＳ）、ＵＩ処理部２３０は、正誤答判定部２３３を稼働させる（ステップＳ９６）。これにより、正誤答判定部２３３は、後述の図１８のフローチャートに従う処理を行なう。この処理終了後、ＵＩ処理部２３０は、正誤答判定部２３３の判定結果を示すリターン値が、解答が正答であると判定したことを指す“ＯＫ”を指示するか否かを判定する（ステップＳ９７）。
【０１０５】
“ＯＫ”を指示すると判定すると（ステップＳ９７でＹＥＳ）、処理終了の信号をアプリケーション部２１０に出力する（ステップＳ９８）。
【０１０６】
一方、ステップＳ９５またはステップＳ９７において、ストローク解析部２３２の解析結果を示すリターン値が解析が正常に終了しないことを示す“ＥＲＲＯＲ”を指すと判定すると（ステップＳ９５でＮＯ）、または正誤答判定部２３３の判定結果を示すリターン値が解答が誤答であると判定したことを示す“ＥＲＲＯＲ”を指すと判定すると（ステップＳ９７でＮＯ）、ＵＩ処理部２３０は描画消去部２６０を稼働する（ステップＳ９９）。
【０１０７】
描画消去部２６０は、稼動後、表示処理部２４０を介して、ディスプレイ１０７に表示されている描画（ペン１２０の軌跡）を消去する（ステップＳ９９）。
【０１０８】
次に、ＵＩ処理部２３０は、描画消去の指示信号を通信部２２０の送信処理部２２１を介して相手プレイヤの携帯電話１００Ｃに送信する（ステップＳ１００）。その後、処理はステップＳ９３に戻り、以降の処理が同様に行なわれる。
【０１０９】
これにより、ストローク解析部２３２により、タブレット１１９上のペン１２０の操作によるストロークは○を指していると判定できなかった場合（ステップＳ９５でＮＯ）、または正誤答判定部２３３により、○で示す解答について正誤の判定ができなかった場合（ステップＳ９７）においては、ペン１２０の描画の表示がディスプレイ１０７から消去されて、解答のための処理が繰返されることになる。プレイヤはペン１２０の軌跡がディスプレイ１０７から消去されると、再度、解答のための入力デバイスの操作を行なう。
【０１１０】
（ストローク記憶処理）
図１６を参照して、ストローク記憶処理部２３１の処理について説明する。
【０１１１】
ストローク記憶処理部２３１は、タブレット１１９におけるペン１２０のストローク（ペン１２０のダウン〜アップまでをストロークという）によるペン１２０の軌跡を示す時系列の座標入力データを記憶する処理である。
【０１１２】
まず、ストローク記憶処理部２３１が稼働されると、変数cntに値０が初期設定される（ステップＳ９３１）。変数cntは、ペン１２０の軌跡を示す座標データの記憶個数をカウントするための変数であり、配列型変数I_BFx[],I_BFy[]の添え字（インデックス）として充てられる。
【０１１３】
続いて、ペン１２０が、タブレット１０９上にダウンされたか否かを入力処理部２８０からの信号に基づき判定する（ステップＳ９３２）。これにより、監視後、初めて入力デバイスから座標データが出力されたか否かが判定される。ペン１２０のダウンが検出されると（ステップＳ９３２でＹＥＳ）、ストローク記憶処理部２３１は、タブレット１１９上におけるペンダウンの座標位置を、入力処理部２８０からの入力信号に基づき検出し、検出したｘ座標およびｙ座標のデータを、それぞれ変数I_BFx[cnt],I_BFy[cnt]に代入する。そして、変数cntの値を＋１更新する（ステップＳ９３３）。
【０１１４】
続いて、ストローク記憶処理部２３１は、入力した座標値（変数I_BFx[cnt],I_BFy[cnt]）を通信部２２０の送信処理部２２１を介して相手プレイヤの携帯電話１００Ｃに送信する（ステップＳ９３４）。
【０１１５】
その後、ストローク記憶処理部２３１は、入力処理部２８０からの入力信号に基づきタブレット１１９上においてペン１２０がアップされたか否かを判定する（ステップＳ９３５）。この判定は、入力処理部２８０から直前に座標データが出力されてから、一定時間出力がないか否かに基づき判定される。一定時間出力がない、すなわちペンアップされたことが検出されると（ステップＳ９３５でＹＥＳ）、ペンアップのイベント信号を相手プレイヤの携帯電話１００Ｃに、送信処理部２２１を介して送信する（ステップＳ９３６）。その後、図１５の処理に戻る。
【０１１６】
一方、タブレット１１９におけるペン１２０のアップが検出されないと（ステップＳ９３５でＮＯ）、ストローク記憶処理部２３１は、現在、入力処理部２８０から入力している座標データの値と、直前に入力した座標データの値とが近似するか否かを判定する（ステップＳ９３７）。具体的には、現在の入力座標値と直前の入力座標値との差分と変数SAMEPOSで指示する値を比較し、比較結果に基づき、当該差分が変数SAMEPOSの値の範囲に収まるか否かに基づき、現在の入力座標と直前の入力座標とが近似する位置を指示しているか否かを判定する。
【０１１７】
当該差分が変数SAMEPOSの値の範囲に収まる、すなわち両方の入力座標は近似位置を指示すると判定されると（ステップＳ９３７でＹＥＳ）、すなわちペン１２０はペンダウンしているが動いていないと判定されると、処理はステップＳ９３５に戻り、以降の処理が同様に行なわれる。
【０１１８】
一方、当該差分が変数SAMEPOSの値の範囲から外れる、すなわち両方の入力座標位置を示していないと判定がされると（ステップＳ９３７でＮＯ）、すなわちプレイヤはペン１２０は軌跡を描いていると判定されると、ストローク記憶処理部２３１は、今回の入力座標値を、変数I_BFx[cnt],I_BFy[cnt]のそれぞれに代入し、その後、変数cntの値を＋１更新する（ステップＳ９３８）。続いて、表示処理部２４０を介し、ディスプレイ１０７において、変数I_BFx[cnt],I_BFy[cnt]が示す今回入力した座標位置から、変数I_BFx[cnt-1],I_BFy[cnt-1]の値が示す直前に入力した座標位置の間にラインを描画する（ステップＳ９３９）。その後、処理はステップＳ９３４に移る。
【０１１９】
このように、タブレット１１９上においてペン１２０のダウンが検出されてから、ペン１２０のアップが検出されないストローク入力期間は、ペン１２０によるタブレット１１９上の描画軌跡の座標データが記憶される。これにより、ペン１２０がダウンしてから、直後にアップが検出されるまでを１ストロークと見なし、１ストローク期間のペン軌跡を示す座標データが配列型変数I_BFx[cnt],I_BFy[cnt]に時系列に順次格納される。
【０１２０】
（ストローク解析処理）
ストローク解析部２３２の動作を、図１７のフローチャートに従い説明する。
【０１２１】
ストローク解析部２３２は、変数I_BFx[cnt],I_BFy[cnt]に格納されたペン軌跡のデータが、「○」の軌跡データであるか否かを検出する。
【０１２２】
具体的には、まず変数cntの値が４未満を指す否かが判定される（ステップＳ９４１）。４未満であると判定がされると（ステップＳ９４１でＹＥＳ）、リターン値を“ＥＲＲＯＲ”として、処理は図１５のステップＳ９５に移る（ステップＳ９４７）。ここでは、ストローク解析のための必要な座標データ個数は４個以上であるとしているが、これは１例であり、５個以上としてもよい。
【０１２３】
一方、変数cntの値が４以上であると判定されると（ステップ９４１でＮＯ）、すなわち、ストロークを解析するのに十分にデータがサンプリングされたと判定されると、ペン軌跡の始点と終点の座標位置に基づき、変数CIRCLOSEの値の範囲で近似するか否かを判定する（ステップＳ９４２）。すなわち、変数I_BFx[0],I_BFy[0]が指す始点位置と、変数I_BFx[cnt],I_BFy[cnt]が指す終点位置との距離を求めて、その距離が変数CIRCLOSEの値の範囲内に該当するか否かを判定する。
【０１２４】
求めた距離が変数CIRCLOSEの値の範囲内にあり、始点位置と終点位置は近似すると判定されると（ステップＳ９４２でＹＥＳ）、処理は後述のステップＳ９４３に移る。
【０１２５】
距離が変数CIRCLOSEの値の範囲を超えており、始点位置と終点位置は近似しないと判定されると（ステップＳ９４２でＮＯ）、ペン１２０の軌跡（ストローク）は○を示していないと判定されて、リターン値を“ＥＲＲＯＲ”として、処理は図１５のステップＳ９５に移る（ステップＳ９４７）。
【０１２６】
ステップＳ９４３においては、配列型変数I_BFx[],I_BFy[]に格納された時系列の座標データから、ペン１２０で描かれた○の最右上端および最左下端のｘｙ座標値を検索し、それぞれを変数Xl,Yl,Xh,Yhに代入する。これにより、ペン１２０で描かれた○に対応した４角形の対角の座標点のデータが変数Xl,Yl,Xh,Yhに格納される。
【０１２７】
続いて、ストローク解析部２３２は、変数Xl,Yl,Xh,Yhの座標値で示される矩形の面積と重心座標とを算出し、算出した値のそれぞれを変数POINTszおよび変数POINTx,POINTyに代入する（ステップＳ９４４）。
【０１２８】
続いて、ストローク解析部２３２は、○で囲むイベント信号を、相手プレイヤの携帯電話１００Ｃに送信する（ステップＳ９４５）。このとき、変数POINTsz、変数POINTxおよびPOINTyの値が代入されたパラメータper1、per2およびper３が当該イベント信号に付与されて、相手プレイヤの携帯電話１００Ｃに送信される。その後、リターン値を“ＯＫ”として、図１５のステップＳ９５に移る（ステップＳ９４６）。
【０１２９】
このように、ペン１２０のストロークが○を描いていた場合には、その○の位置として重心座標値が算出され、○のサイズとして、その面積が算出される。
【０１３０】
（正誤答判定処理）
次に、正誤答判定部２３３の処理について図１８のフローチャートに従い説明する。
【０１３１】
正誤答判定部２３３は、対象画面上で解答としてペン１２０によって○で指定した箇所が、間違い箇所（正答）に一致するかをチェックし、チェック結果に基づき正答・誤答の出力をする。
【０１３２】
具体的には、まず、変数POINTx,POINTyが指示する○の座標位置と、問題情報１０３Ｃから読出した変数ANSx,ANSyが指す座標位置との距離を算出し、その距離の値が変数My.OKPOSで示す値の範囲であるか否かが判定される（ステップＳ９６１）。変数My.OKPOSで指示する値の範囲内であると判定されると（ステップＳ９６１でＹＥＳ）、変数POINTszが指示する○のサイズ値と、間違い箇所のエリアのサイズを指す変数ANSzの値とを比較して、比較結果に基づき、○のサイズ値が変数My.OKSZが指示する値の範囲内であるかが判定される（ステップＳ９６２）。変数My.OKSZの値の範囲であることが判定されると（ステップＳ９６２でＹＥＳ）、正誤答判定部２３３は、表示処理部２４０を介して、ディスプレイ１０７に‘正答’の表示を行なう（ステップＳ９６３）。この表示後、変数TimerFの値に０が設定されて、タイマ処理部２７０によるタイマ計時が停止させられる（ステップＳ９６４）。
【０１３３】
続いて、正誤答判定部２３３は、正答イベント信号を、送信処理部２２１を介して携帯電話１００Ｃに送信する（ステップＳ９６５）。この正答イベント信号には、変数My.ANSTMの値と、変数My.OPTMの値とを指すパラメータper1とper2とが付与されている。その後、リターン値として“ＯＫ”が設定されて、処理は図１５のステップＳ９７に移る（ステップＳ９６６）。
【０１３４】
一方、ステップＳ９６１またはステップＳ９６２において、○の位置が間違い箇所の位置に該当しないと判定された場合（ステップＳ９６１でＮＯ）、または指示した○のサイズが、間違い箇所として指定すべきエリアのサイズよりも大き過ぎる／小さい過ぎると判定された場合には（ステップＳ９６２でＮＯ）、リターン値に“ＥＲＲＯＲ”が設定されて（ステップＳ９６７）処理は図１５のステップＳ９７に戻る。
【０１３５】
なお、ステップＳ９６３で表示がされるとき、変数My.ANSTMと変数My.OPTMの差分を算出して、実質的な思考に要した実思考時間を求めて、これを表示し、また記憶してもよい。記憶した場合には、同一問題に対する記憶しておいた過去の実思考時間を読出し、現在の思考時間と比較することができる。
【０１３６】
そして、図１４の勝敗判定処理では、携帯電話１００Ｃは自己が算出した実思考時間を携帯電話１００Ａに送信して、携帯電話１００Ａでは、自己の算出して実思考時間と、受信した相手の実思考時間との差分に基づき、勝敗を判定してもよい。
【０１３７】
このように、本実施の形態では、プレイヤがペン１２０を操作して解答として入力した○の位置およびサイズが、正解（間違い箇所として指定すべき）エリアの位置およびサイズに、完全に一致しなくとも、両者の差分が、変数DEVTPが指す入力デバイスのタイプに応じたデバイス固有のストロークデータ検出に係る誤差に基づく変数My.OKPOSおよび変数My.OKSZが指す許容範囲内に収まれば、正答と判定される。
【０１３８】
（受信処理）
受信処理部２２２の処理について、図１９のフローチャートに従い説明する。
【０１３９】
まず、受信処理部２２２は、相手プレイヤの携帯電話から送信がされる入力座標データが最初の入力イベント（ペンダウン）か否かを判定するために、変数IFlagの値を０に初期設定する（ステップＳ１０１）。続いて、相手側の携帯電話から何らかのイベント信号を受信するのを待機する（ステップＳ１０２）。
【０１４０】
イベント信号を受信すると、当該イベント信号は、正誤答判定処理部２３３からの正答イベントであるかを判定する（ステップＳ１０３）。正答イベントを受信しないと判定すると（ステップＳ１０３でＮＯ）、ステップＳ１０４において、相手プレイヤの携帯電話におけるペン１２０による軌跡を自己の携帯電話のディスプレイ１０７に表示するために、相手プレイヤの携帯電話と同種の入力デバイスを備えるか否かを、記憶部１０３の変数My.DEVTPの値と、変数HIis.DEVTPの値とを比較し、判別する（ステップＳ１０４）。両方の値は等しくないと判定されると相手側のペン１２０の軌跡の表示はせずに、処理はステップＳ１０２に戻る。
【０１４１】
一方、同種の入力デバイスであることを判定すると（ステップＳ１０４でＹＥＳ）、受信したイベントがペン軌跡（ペン座標）のイベントであるか否かを判定する（ステップＳ１０５）。ペン軌跡のイベントでないと判定されると（ステップＳ１０５でＮＯ）、相手プレイヤの携帯電話のステップＳ１００の処理において送信された描画消去の指示であるか否かを判定する（ステップＳ１０６）。描画消去指示の信号を受信したことを判定すると（ステップＳ１０６でＹＥＳ）、処理はステップＳ１０８に移り、描画消去部２６０により、ディスプレイ１０７上の相手プレイヤの描画が消去される。その後、処理はステップＳ１０１に戻る。
【０１４２】
一方、描画消去の指示信号を受信したのではないと判定されると（ステップＳ１０６でＮＯ）、受信した信号がその他のイベントを指示するか否かが判定される（ステップＳ１０７）。本実施の形態に係るアプリケーション部２１０は上述以外のイベントは必要がないので、ここでは何の制御もされない。したがって、処理はステップＳ１０２に戻る。
【０１４３】
ステップＳ１０３の処理に戻り、受信した信号が正答イベントを指示していると判定されると（ステップＳ１０３でＹＥＳ）、当該信号とともに受信をしたパラメータper1とper2の値を変数His.ANSTMと変数His.OPTMに格納する（ステップＳ１１０）。その後、処理終了をアプリケーション部２１０に出力する（ステップＳ１１１）。
【０１４４】
なお、変数per2が指す変数His.OPTMの値を事前に取得している場合、または初期化する場合には、変数per2の値は必須ではない。
【０１４５】
ステップＳ１０５の処理に戻り、受信した信号がペン軌跡（ペン座標）のイベントを指示していると判定されると（ステップＳ１０５でＹＥＳ）、当該イベントとともに受信した入力座標の値を変数NS_x,NS_yのそれぞれに代入する（ステップＳ１１３）。その後、受信したイベント信号がペンダウンを指示するか否かが判定される（ステップＳ１１５）。すなわち、変数IFlagの値が０を指示するか否かが判定される。この判定により、監視（消去）を開始した後、初めての相手プレイヤの携帯電話からのペン操作のイベント受信であるか否かが判定される。
【０１４６】
ペンダウンのイベント信号を指示していると判定されると（ステップＳ１１５でＹＥＳ）、ステップＳ１１７の処理に移行する。ペンダウンのイベントを指示する信号であると判定されなければ（ステップＳ１１５でＮＯ）、変数OS_x,OS_yの座標位置から、変数NS_x,NS_yの座標位置の間にラインを描画するように、表示処理部２４０に指示がなされる。これにより、ディスプレイ１０７に、相手プレイヤの携帯電話に表示されるのと同じ位置に相手プレイヤのペン操作によるラインが描画される（ステップＳ１１６）。その後、ステップＳ１１７の処理に移行する。
【０１４７】
ステップＳ１１７においては、変数IFlagの値が１に設定されるとともに、変数OS_x,OS_yに、変数NS_x,NS_yのｘおよびｙ座標の値がそれぞれが代入される。その後、処理はステップＳ１０２に移る。
【０１４８】
（タイマ処理）
タイマ処理部２７０の処理について、図２０のフローチャートを参照し説明する。
【０１４９】
タイマ処理部２７０は稼働されると、まず、変数TimerFの値が０を指示するか否かを判定する（ステップＳ１５１）。変数TimerFの値が０を指示すると判定すると、処理は終了するが、指示しないと判定すると（ステップＳ１５１でＮＯ）、正答操作時間を計測するために、変数My.ANSTMの値を＋１カウントアップする（ステップＳ１５２）。その後処理は終了する。
【０１５０】
（プログラムおよび記録媒体）
ここで、本実施の形態における携帯電話１００を含む通信端末間の間違い探しゲームプログラム実行時の通信を含む正答操作時間に係る方法は、上述したようなフローチャートに従うプログラムとして提供することができる。このようなプログラムは、携帯電話１００のＣＰＵ１０６Ａのコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、ＦＤ（Flexible Disc）、ＣＤ（Compact Disc）−ＲＯＭまたは記憶部１０３を構成するＲＯＭ１０３１およびＲＡＭ１０３２、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット５００を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。ここで、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１５１】
なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要なときに呼出して処理を進める方式が一般的である。そうした場合、本実施の形態に係るシステムを実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめてシステムが実現することになる。しかし、一般的なプラットホームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体（およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号）が実施の形態を構成すると考えることができる。
【０１５２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１５３】
【図１】本発明の実施の形態に係る通信ネットワークの構成図である。
【図２】本実施の形態に係るルーム作成処理の通信シーケンスを示す図である。
【図３】本実施の形態に係る携帯電話の外観を示す図である。
【図４】本実施の形態に係る携帯電話のハードウェア構成図である。
【図５】本実施の形態に係る表示一体型入力装置の一例を示すハードウェアブロック図である。
【図６】本実施の形態に係る表示一体型入力装置の他の例を示すハードウェア構成図である。
【図７】本実施の形態に係る携帯電話の機能構成図である。
【図８】本実施の形態に係る記憶部に格納される入力デバイス情報の一例を示す図である。
【図９】本実施の形態に係る記憶部に格納される変数の一例を示す図である。
【図１０】本実施の形態に係る間違い探しのゲームプログラム実行時に表示される画面の一例を示す図である。
【図１１】（Ａ）〜（Ｃ）は、間違い探しの表示画面例を説明する図である。
【図１２】（Ａ）〜（Ｄ）は、間違い探しのゲームプログラムにおける正答・誤答の例を説明する図である。
【図１３】本実施の形態に係るアプリケーション部の処理フローチャートである。
【図１４】本実施の形態に係る勝敗判定部の処理フローチャートである。
【図１５】本実施の形態に係るＵＩ処理部の処理フローチャートである。
【図１６】本実施の形態に係るストローク記憶処理部の処理フローチャートである。
【図１７】本実施の形態に係るストローク解析部の処理フローチャートである。
【図１８】本実施の形態に係る正誤答判定処理のフローチャートである。
【図１９】本実施の形態に係る受信処理のフローチャートである。
【図２０】本実施の形態に係るタイマ処理部の処理フローチャートである。
【図２１】本実施の形態に係るゲーム実行時の携帯電話間の通信のシーケンスを模式的に示す図である。
【符号の説明】
【０１５４】
１００  通信端末、１００Ａ、１００Ｂ、１００Ｃ  携帯電話、２１０  アプリケーション部、２１１  勝敗判定部、２２０  通信部、２２１  送信処理部、２２２  受信処理部、２３０  ＵＩ処理部、２３１  ストローク記憶処理部、２３２  ストローク解析部、２３３  正誤答判定部、２４０  表示処理部、２５０  表示用メモリ、２６０  描画消去部、２７０  タイマ処理部、２８０  入力処理部、１０３Ａ  入力デバイス情報、１０３Ｂ  変数情報、１０３Ｃ  問題情報。
【図１】
2010104676.tif 000003
【図２】
2010104676.tif 000004
【図３】
2010104676.tif 000005
【図４】
2010104676.tif 000006
【図５】
2010104676.tif 000007
【図６】
2010104676.tif 000008
【図７】
2010104676.tif 000009
【図８】
2010104676.tif 000010
【図９】
2010104676.tif 000011
【図１０】
2010104676.tif 000012
【図１１】
2010104676.tif 000013
【図１２】
2010104676.tif 000014
【図１３】
2010104676.tif 000015
【図１４】
2010104676.tif 000016
【図１５】
2010104676.tif 000017
【図１６】
2010104676.tif 000018
【図１７】
2010104676.tif 000019
【図１８】
2010104676.tif 000020
【図１９】
2010104676.tif 000021
【図２０】
2010104676.tif 000022
【図２１】
2010104676.tif 000023