以下、実施形態として、本発明に係る管理サーバを用いた管理システムについて、図面を参照しつつ説明する。
<第1実施形態>
<1.情報処理システムの構成>
図1は、本発明の実施形態に係る情報処理システム100のブロック図である。情報処理システム100は、インターネットなどの通信網NETを介して、ゴルフ予約サービス等を提供する情報処理サーバ1(情報処理装置の一例)と、利用者の端末装置2とを備える。以下の説明では、情報処理サーバ1のゴルフ予約サービス等を利用する利用者をゴルフユーザ(ユーザの一例)と称する。
利用者の端末装置2は、通信網NETを介した通信が可能であり、例えば、パーソナルコンピュータ、携帯電話機、スマートフォン、タブレット端末などが該当する。本実施形態では、一例として、ゴルフをプレーするゴルフユーザが端末装置2を利用して、ゴルフの予約、個人のプレー履歴としてのスコアの保存、バーチャルコンペの参加申し込み、バーチャルコンペとしてのスコア登録等の処理を行う例について説明する。そのため、前記ゴルフユーザの端末装置2は携行可能なスマートフォン等の装置である。
図1を参照して、情報処理サーバ1の機能を説明する。情報処理サーバ1は、識別情報管理部10と、予約情報取得部11と、登録要求情報取得部12と、予約情報判断部13と、施設情報判断部14と、記憶部15と、イベント成績情報登録部16とを備える。これらは、情報処理サーバ1が本発明のイベント成績登録等に関するプログラムを実行することにより発揮される機能ブロックである。
識別情報管理部10は、端末装置2を使用するゴルフユーザを特定可能な識別情報を、記憶部15に格納されたゴルフユーザ情報テーブルTBL11を用いて管理する。本実施形態においては、ゴルフ予約サービスにおけるユーザ登録を行う際には、ゴルフユーザの氏名、及び、ログインIDとパスワード等を入力するようになっている。ユーザ登録が完了したゴルフユーザに対しては、識別情報UIDが割り当てられる。識別情報UIDは、ゴルフ予約サービスに関連するデータとして端末装置2に記憶されるが、情報処理サーバ1の記憶部15において、ゴルフユーザ情報テーブルTBL11に記憶されるようになっている。ゴルフユーザ情報テーブルTBL11においては、識別情報UIDは、ゴルフ予約サービスのログインID及びパスワード等と関連付けられて記憶される。
予約情報取得部11は、ゴルフユーザの識別情報UIDに基づいて、ゴルフユーザが予約したゴルフ場のゴルフ場ID(施設情報の一例)と、プレー日を示す日付情報とを含む予約情報を、予約情報テーブルTBL13から取得する。予約情報テーブルTBL13は、本実施形態では、記憶部15に記憶される。
登録要求情報取得部12は、後述するバーチャルゴルフコンペに参加するゴルフユーザの識別情報UIDと、バーチャルゴルフコンペにおいて登録を要求されるスコア(成績情報の一例)と、少なくともスコアが記録された日を含む記録日情報と、ゴルフ場IDとを含む登録要求情報を、端末装置2から取得する。
予約情報判断部13は、登録要求情報取得部12により取得した登録要求情報に含まれる識別情報UID、記録日情報及びゴルフ場IDと一致する識別情報UID、日付情報及びゴルフ場IDを含む予約情報が、記憶部15に格納された予約情報テーブルTBL13内に存在するか否かを判断する。
施設情報判断部14は、登録要求情報に含まれるゴルフ場IDが、バーチャルゴルフコンペの対象となるゴルフ場のゴルフ場IDに該当するか否かを判断する。具体的には、施設情報判断部14は、登録要求情報に含まれるゴルフ場IDが、記憶部15に格納されたコンペ対象ゴルフ場テーブルTBL16に記憶されたゴルフ場IDと一致するかどうかを判断する。
イベント成績情報登録部16は、予約情報判断部13により、登録要求情報に含まれる識別情報UID、記録日情報及びゴルフ場IDと一致する識別情報UID、日付情報及びゴルフ場IDを含む予約情報が存在すると判断された場合、登録要求情報に含まれるスコア、ゴルフユーザの識別情報UID、及び、ゴルフ場IDを、記憶部15に格納されたコンペ情報テーブルTBL15に登録する。
記憶部15は、情報処理サーバ1の制御プログラム、ゴルフユーザ情報テーブルTBL11、ゴルフ場テーブルTBL12、予約情報テーブルTBL13、個人スコア情報テーブルTBL14、コンペ情報テーブルTBL15、コンペ対象ゴルフ場テーブルTBL16、及び、コンペ開催時期情報テーブルTBL17を記憶する。
図4にゴルフユーザ情報テーブルTBL11のデータ構造を示す。ゴルフユーザ情報テーブルTBL11には登録情報として複数のレコードが記録されている。1つのレコードは、ゴルフユーザを一意に識別する識別情報UID、ログインID、パスワード、氏名、及び、プロフィール情報を含む。
識別情報UIDは、ゴルフユーザがゴルフ予約サービスの利用登録を行った際に、当該ゴルフユーザに対して割り当てられる。ログインID、パスワード、氏名、及び、プロフィール情報については、ゴルフユーザがゴルフ予約サービスの利用登録を行った際に、あるいは、利用登録後の編集処理において、各ユーザによって入力される。プロフィール情報には、性別、年齢等が含まれる。
図5にゴルフ場テーブルTBL12のデータ構造を示す。ゴルフ場テーブルTBL12には登録情報として複数のレコードが記録されている。1つのレコードは、ゴルフ場ID、ゴルフ場名、位置情報、及び、通信情報を含む。ゴルフ場IDは、各ゴルフ場を一意に識別する情報で、ゴルフ場テーブルTBL12にゴルフ場名及び位置情報が記憶される際に割り当てられる。本実施形態では、情報処理サーバ1は、地図情報、施設名称、位置情報等が記憶されているマップサーバ(図示せず)と通信可能に構成されており、マップサーバにアクセスしてゴルフ場名の情報とともに位置情報送信要求を行うことにより、各ゴルフ場の位置情報を取得し、ゴルフ場テーブルTBL12に記憶させる。位置情報としては、例えば緯度経度情報が用いられる。本実施形態では、情報処理サーバ1は複数のゴルフ場サーバと通信可能に構成されており、ゴルフ場テーブルTBL12に記憶された通信情報を参照することにより、各ゴルフ場サーバに対して予約情報の送信要求等を送信する。通信情報には、メールアドレスやIPアドレス等が含まれる。
図6に示す予約情報テーブルTBL13、図7に示す個人スコア情報テーブルTBL14、図8に示すコンペ情報テーブルTBL15、図9に示すコンペ対象ゴルフ場テーブルTBL16、及び、図10に示すコンペ開催時期情報テーブルTBL17のそれぞれの詳細については後述する。
次に、図1を参照して、端末装置2の機能を説明する。端末装置2は、入力部20と、表示部21と、表示制御部22と、送信部23とを備える。これらは、本実施形態の端末装置2が、ゴルフに関する種々のサービスを提供するためのソフトウェアであるゴルフナビゲーションアプリケーションを実行することにより発揮される機能ブロックである。
ゴルフナビゲーションアプリケーションは、利用者の端末装置2の操作に応じて、アプリケーション配信サイト(図示せず)を介すなどしてダウンロードされ、端末装置2にインストールされるものであり、端末装置2上で実行されるアプリケーションである。
本実施形態のゴルフナビゲーションアプリケーションは、ゴルフコースのホール情報を端末装置2上に表示させたり、実際にゴルフをプレーしている最中にスコアを入力したり、あるいは、入力したスコアに関する情報をSNS等への投稿を可能にする等の機能を有している。
入力部20は、ゴルフ場選択の入力、ログインID及びパスワードの入力等を行うことができる。表示制御部22は、スコアを入力するためのスコアカード画面等の各種の情報を表示部21に表示させる。送信部23は、登録要求情報を情報処理サーバ1に送信する登録要求送信部として機能すると共に、ログインID及びパスワード等の各種の情報を情報処理サーバ1に送信する。
図2に情報処理サーバ1の構成を示す。この図に示すように、情報処理サーバ1は、装置全体を制御するCPU(Central Processing Unit)30、CPU30の作業領域として機能するRAM(Random Access Memory)31、ブートプログラムなどを記憶したROM(Read Only Memory)32、各種のプログラムやデータを記憶するハードディスクドライブ(HDD)33、キーボードやマウスなどを含む入力部34、画像を表示するディスプレイ35、通信網NETを介して外部の装置と通信を行う通信インターフェース36、及びコンパクトディスクなどの情報記録媒体を読み取る読取装置37を備える。HDD33は、上述した記憶部15の一例である。
本実施形態において、CPU30は、識別情報管理部10、予約情報判断部13、施設情報判断部14、及び、イベント成績情報登録部16として動作し得る。また、CPU30と通信インターフェース36は、予約情報取得部11、登録要求情報取得部12として動作し得る。
図3に端末装置2の構成を示す。端末装置2は、装置全体を制御するCPU40、CPU40の作業領域として機能するRAM41、ブートプログラムなどを記憶したROM42、各種のプログラムやデータを記憶する記憶装置43、テンキーなどを含む入力部44、画像を表示するディスプレイ45、及び通信網NETを介して外部の装置と通信を行う通信インターフェース46を備える。なお、入力部がタッチパネルである場合は、ディスプレイ45が、タッチパネルである入力部44を兼ねることとなる。入力部44は単一のデバイスで構成しても、複数のデバイスを組み合わせて構成しても良い。
本実施形態において、CPU40は表示制御部22として動作し得る。また、CPU40と通信インターフェース46は送信部23として動作し得る。
<2.情報処理サーバ1により提供されるサービス>
本実施形態の情報処理サーバ1により提供される各種のサービスについて説明する。本実施形態においては、一例として、情報処理サーバ1により、ゴルフ場予約サービス、スコア保存サービス、及び、バーチャルコンペサービスが提供されるようになっている。
<2−1.ゴルフ場予約サービス>
本実施形態におけるゴルフ場予約サービスは、情報処理サーバ1により提供されるゴルフ場予約の専用サイトを用いて行われる。ゴルフ場予約の専用サイトは、ゴルフユーザの端末装置2、あるいは、ゴルフユーザが利用するパーソナルコンピュータ等のディスプレイに表示可能となっている。ゴルフユーザは、ゴルフ場予約の専用サイトにおいて、ゴルフ場の空き枠情報等を確認し、予約の申込みを行うことができる。ゴルフユーザからの予約申し込みがあった場合には、情報処理サーバ1は、予約情報テーブルTBL13に予約の内容を記憶させると共に、予約対象のゴルフ場のゴルフ場サーバ(図示せず)宛に予約の内容を通知するように構成されている。
本実施形態においては、ゴルフユーザがゴルフ場予約サービスを用いて予約の申込みを行うためには、まず、ゴルフ予約サービスにおけるユーザ登録を行う必要がある。ユーザ登録は、ゴルフユーザの氏名、及び、ログインIDとパスワード等を入力するようになっている。ユーザ登録が完了したゴルフユーザに対しては、識別情報UIDが割り当てられる。識別情報UIDは、情報処理サーバ1の記憶部15において、ログインID及びパスワード等と関連付けられてゴルフユーザ情報テーブルTBL11に記憶される。
ユーザ登録が完了した後においては、ゴルフユーザは、上述したゴルフ場予約の専用サイトにアクセスし、ログインIDとパスワードを入力することにより、ゴルフ場予約サービスを利用することができる。情報処理サーバ1は、ゴルフユーザ情報テーブルTBL11を参照することにより、入力されたログインIDとパスワードに関連付けられた識別情報UIDを読み取る。そして、情報処理サーバ1は、ゴルフユーザにより予約の申込みが行われた場合には、予約の内容を識別情報UIDと関連付けて予約情報テーブルTBL13に記憶させる。また、情報処理サーバ1は、識別情報UIDと予約の内容をゴルフ場サーバに通知する。
図6に予約情報テーブルTBL13のデータ構造を示す。予約情報テーブルTBL13には登録情報として複数のレコードが記録されている。1つのレコードは、予約ID、予約日、予約者名、予約者の識別情報UID、入場処理フラグ、ゴルフ場ID、プレー日、スタート時間、IN/OUT、人数、同伴者1、同伴者2、同伴者3等を含む。これ以外の情報を記憶するようにしてもよい。なお、予約者の識別情報UIDは、図6においては「予約者UID」と表記している。
予約IDは、予約ごとに割り当てられ、各予約を一意に識別する情報である。予約日は、予約が行われた日を示す情報である。予約者名は、予約を行ったゴルフユーザの氏名を示す情報である。予約者UIDは、予約を行ったゴルフ利用者の識別情報UIDである。入場処理フラグは、ゴルフ利用者が入場処理を行ったかどうかを示す情報である。プレー日は、実際にゴルフを行う日を示す情報(日付情報の一例)である。IN/OUTは、INからスタートするか、OUTからスタートするかを示す情報である。人数は、ゴルフを行う人数を示す情報である。同伴者1、同伴者2、及び、同伴者3は、同伴者の氏名を示す情報(名前情報の他の例)である。同伴者の氏名も、実際のデータは、姓の部分と名の部分に分かれている。なお、図6において、同伴者名のフィールドに「null」となっているのは、同伴者の名前が登録されていないことを示している。同伴者名は予約と同時に登録しても良いし、後から追加的に登録・変更してもよい。
<2−2.スコア保存サービス>
端末装置2においてインストールされるゴルフナビゲーションアプリケーションを起動させることにより、ゴルフユーザは、ゴルフをプレーしながら、各ホールのスコアを記録することができる。また、ゴルフユーザが、最終ホールのプレーが終了した後に、スコアの保存処理を行うと、その日のトータルスコアが情報処理サーバ1の記憶部15における個人スコア情報テーブルTBL14に記憶されるようになっている。情報処理サーバ1は、ゴルフナビゲーションアプリケーションに関して、このようなスコア保存サービスの提供も行っている。
ゴルフユーザが、スコア保存サービスを利用するには、ログインID、パスワード、氏名等を入力してユーザ登録を行う必要がある。スコア保存サービスのログインID及びパスワードは、上述したゴルフ場予約サービスのログインID及びパスワードと共通のログインID及びパスワードが用いられる。つまり、上述したゴルフ場予約サービスにユーザ登録をすることにより、登録したログインID及びパスワードを用いてスコア保存サービスを利用することができる。また、スコア保存サービスにユーザ登録をした場合には、登録したログインID及びパスワードを用いてゴルフ場予約サービスを利用することができる。ただし、他の実施形態においては、ゴルフ場予約サービスについてのユーザ登録とスコア保存サービスについてのユーザ登録とを分け、それぞれにユーザ登録を必要とする構成としてもよい。
但し、端末装置2においてゴルフナビゲーションアプリケーションを起動し、各ホールのスコアを記録する場合には、必ずしもスコア保存サービスにログインする必要はないが、少なくとも、最終ホールのプレーが終了した後にスコアの保存処理を行う際には、スコア保存サービスにログインする必要がある。
スコアの保存処理は、後述するように、端末装置2のディスプレイ45に表示されるサーバ保存ボタンが押下されることにより開始される。サーバ保存ボタンが押下されると、スコアの保存処理要求が端末装置2から情報処理サーバ1に送信される。スコアの保存処理要求が送信される際には、ゴルフユーザの識別情報UID、プレー日、スコア、ゴルフ場ID等の情報も端末装置2から情報処理サーバ1に送信される。これらの情報を受信した情報処理サーバ1は、受信した情報を個人スコア情報テーブルTBL14に記憶させる。
図7に個人スコア情報テーブルTBL14のデータ構造を示す。予約情報テーブルTBL13には登録情報として複数のレコードが記録されている。1つのレコードは、スコアID、ゴルフユーザの識別情報UID、プレー日、スコア、及び、ゴルフ場ID等を含む。なお、これ以外の情報を記憶するようにしてもよい。
スコアIDは、スコアの保存要求ごとに割り当てられ、各スコアを一意に識別する情報である。プレー日は、実際にゴルフをプレーした日を示す情報である。スコアは、その日のトータルのスコアを示す情報である。ゴルフ場IDはプレーを行ったゴルフ場を識別する情報である。
端末装置2におけるゴルフナビゲーションアプリケーションを利用したスコアの入力処理、情報処理サーバ1におけるスコアの保存処理の詳細ついては後述する。
<2−3.バーチャルコンペサービス>
バーチャルコンペサービスは、本実施形態ではゴルフ場予約サービスの一環であり、ゴルフ場予約サービスのウェブサイトとは別の、バーチャルコンペ用の専用サイトが用いられる構成としている。本実施形態においては、バーチャルコンペ用の専用サイトは、情報処理サーバ1によって提供される。本実施形態のバーチャルコンペは、開催期間と対象となるゴルフ場とが予め定められている。ゴルフユーザは、バーチャルコンペの開催期間中に、対象となっているゴルフ場においてプレーした際のスコアを、自己申告によりバーチャルコンペ用の専用サイト上に登録する。各ゴルフユーザのスコアは、バーチャルコンペ用の専用サイト上でランキング表示されるようになっており、ランキングに応じて賞品等が授与される。
バーチャルコンペ用の専用サイト上におけるスコアの登録は、本実施形態においては、パーソナルコンピュータ等によりバーチャルコンペ用の専用サイトにアクセスし、ゴルフユーザが手動でスコアを入力することにより行われる。また、本実施形態においては、端末装置2上で起動させたゴルフナビゲーションアプリケーションにより入力したスコアを、端末装置2から情報処理サーバ1に送信し、自動的にバーチャルコンペ用のスコアとして登録することも可能になっている。
本実施形態においては、バーチャルコンペに参加するためには、予めバーチャルコンペ用の専用サイト上において参加者登録を行う必要がある。また、バーチャルコンペへの参加者登録を行うには、まずゴルフ場予約サービスにログインする必要がある。
バーチャルコンペにおけるスコアの登録処理は、後述するように、端末装置2のディスプレイ45に表示されるコンペスコア登録ボタンが押下されることにより開始される。コンペスコア登録ボタンが押下されると、バーチャルコンペ用のスコア登録処理要求が端末装置2から情報処理サーバ1に送信される。スコア登録処理要求が送信される際には、ゴルフユーザの識別情報UID、プレー日、スコア、ゴルフ場ID等の情報も端末装置2から情報処理サーバ1に送信される。これらの情報を受信した情報処理サーバ1は、後述する所定の条件が充足されていると判断した場合には、受信した情報をコンペ情報テーブルTBL15に記憶させる。
図8にコンペ情報テーブルTBL15のデータ構造を示す。コンペ情報テーブルTBL15には登録情報として複数のレコードが記録されている。1つのレコードは、コンペID、参加者としてのゴルフユーザの識別情報UID、プレー日、スコア、及び、ゴルフ場ID等を含む。なお、これ以外の情報を記憶するようにしてもよい。
コンペIDは、バーチャルコンペごとに割り当てられ、各バーチャルコンペを一意に識別する情報である。プレー日は、実際にゴルフをプレーした日を示す情報である。スコアは、受信したトータルのスコアを示す情報である。すなわち、本実施形態では所定のハンディキャップ計算を行う前のスコアが記憶されている。ゴルフ場IDはプレーを行ったゴルフ場を識別する情報である。
バーチャルコンペに参加登録した場合には、コンペ情報テーブルTBL15には、まず、コンペIDと参加者としてのゴルフユーザの識別情報UIDとが記憶される。その他の情報については、上述したようにゴルフユーザが手動でスコア等を入力した際、あるいは、上述したスコア登録処理が行われた際にコンペ情報テーブルTBL15に記憶されるようになっている。
また、バーチャルコンペの対象となっているゴルフ場についての情報は、記憶部15に格納されたコンペ対象ゴルフ場テーブルTBL16に記憶されるようになっている。さらに、バーチャルコンペの開催期間についての情報は、記憶部15に格納されたコンペ開催時期情報テーブルTBL17に記憶されるようになっている。
図9にコンペ対象ゴルフ場テーブルTBL16のデータ構造を示す。コンペ対象ゴルフ場テーブルTBL16には登録情報として複数のレコードが記録されている。1つのレコードは、コンペID、ゴルフ場ID、及び、コースレートを含む。なお、これ以外の情報を記憶するようにしてもよい。
コンペIDは、バーチャルコンペごとに割り当てられ、各バーチャルコンペを一意に識別する情報である。ゴルフ場IDは、バーチャルコンペの対象となっているゴルフ場のゴルフ場IDである。コースレートは、各ゴルフ場の難易度等に応じて定められる情報である。
図10にコンペ開催時期情報テーブルTBL17のデータ構造を示す。コンペ開催時期情報テーブルTBL17には登録情報として複数のレコードが記録されている。1つのレコードは、コンペID、開始日、終了日を含む。なお、これ以外の情報を記憶するようにしてもよい。
コンペIDは、バーチャルコンペごとに割り当てられ、各バーチャルコンペを一意に識別する情報である。開始日はバーチャルコンペが開始される日についての情報、終了日はバーチャルコンペが終了する日についての情報である。
端末装置2におけるゴルフナビゲーションアプリケーションを利用したバーチャルコンペ用のスコア登録処理の詳細ついては後述する。
<3.情報処理システムの動作>
次に、本実施形態の情報処理システム100におけるゴルフユーザの端末装置2で起動させたゴルフナビゲーションアプリケーションによるスコア入力処理、入力したスコアを情報処理サーバ1に保存するスコア保存サービスの処理、及び、入力したスコアを情報処理サーバ1にバーチャルコンペ用のスコアとして登録するバーチャルコンペ用のスコア登録処理について説明する。
<3−1.スコア入力処理>
ゴルフユーザの端末装置2にゴルフナビゲーションアプリケーションを予めインストールしておき、端末装置2においてゴルフナビゲーションアプリケーションを起動させることにより、ゴルフナビゲーションサービスを利用することができる。また、ゴルフナビゲーションサービスにおいては、ゴルフコースの選択、及び、各ホールの情報等を表示させることができる。さらには、1打目、2打目等のスコアの入力画面等を表示させ、スコアの入力を行うこともできる。特に、以下では、スコア入力処理について説明する。
<3−1−1:初期画面>
端末装置2にインストールされているゴルフナビゲーションアプリケーションを起動した際には、端末装置2のディスプレイ45には、メインメニューページが表示される。図11にメインメニューページP1の例を示す。メインメニューページP1は、ラウンド再開セルA1、ラウンド開始セルA2、コースチェックセルA3、ラウンド履歴セルA4、設定セルA5、ログイン処理セルA6を備えている。
ラウンド再開セルA1が押下されると、端末装置2のCPU40によって、ラウンドを中断した後に再開するホールの情報が端末装置2のディスプレイ45に表示され、再びゴルフナビゲーションアプリケーションを利用可能となる。
ラウンド開始セルA2が押下されると、端末装置2のCPU40によって、ゴルフ場を地域から探すか、GPSで探すか、あるいは、過去にラウンドしたこのあるゴルフ場から探すかの選択メニューページ(図示せず)が端末装置2のディスプレイ45に表示される。
コースチェックセルA3が押下されると、ゴルフコース選択メニューページ等(図示せず)が表示される。その後、ゴルフユーザによりゴルフコースが選択されると、端末装置2のCPU40によって、選択されたゴルフコースのホール情報が端末装置2のディスプレイ45に表示され、コースのチェックが可能となる。
ラウンド履歴セルA4が押下されると、端末装置2のCPU40によって、過去に利用したゴルフコースとその際のスコア等の履歴情報が端末装置2のディスプレイ45に表示される。
設定セルA5が押下されると、端末装置2のCPU40によって、ユーザ情報の設定とアプリケーション情報の設定とのいずれの設定を行うのかの選択画面(図示せず)が端末装置2のディスプレイ45に表示される。ユーザ情報の設定が選択された場合には、ユーザ情報編集画面(図示せず)が端末装置2のディスプレイ45に表示される。
ユーザ情報編集画面(図示せず)においては、氏名欄、年齢欄、性別欄、ハンディキャップ欄、ログインID欄、パスワード欄等が表示されており、各欄の入力・変更等が可能になっている。
また、アプリケーション情報の設定が選択された場合には、GPS測位間隔の設定、または、ハザード表示の設定等を行うことができる。
ログイン処理セルA6が押下されると、スコア保存サービスにおけるログイン処理が行われる。なお、スコア保存サービスにおけるログイン処理は、ログイン処理セルA6が押下された場合だけではない。ログインを行わない状態でスコア入力を行い、スコア保存を行う際にログイン処理を行うこともできる。詳しくは後述する。
ログイン処理セルA6が押下されると、端末装置2のCPU40は、情報処理サーバ1に対してログイン画面要求を送信する。ログイン画面要求を受信した情報処理サーバ1のCPU30は、ログイン画面情報を端末装置2に送信する。ログイン画面情報を受信した端末装置2のCPU40は、ログイン画面情報に基づいてディスプレイ45に図12に示すログイン画面P2を表示させる。
ログイン画面P2は、図12に示すように、ログインID入力欄B1と、パスワード入力欄B2と、送信ボタンB3と、キャンセルボタンB4とを備えている。ログインID入力欄B1にログインIDが入力されパスワード入力欄B2にパスワードが入力された状態で送信ボタンB3が押下されると、端末装置2のCPU40は、情報処理サーバ1に対してログインIDとパスワードを送信する。ログインIDとパスワードを受信した情報処理サーバ1のCPU30は、ログイン処理を行う。ログイン処理においては、HDD33に記憶されているゴルフユーザ情報テーブルTBL11に、受信したログインIDとパスワードの組と一致する組が存在するかどうかを確認する。受信したログインIDとパスワードの組と一致する組がゴルフユーザ情報テーブルTBL11に存在した場合には、情報処理サーバ1のCPU30は端末装置2にアクセストークンを送信する。端末装置2のCPU40は、アクセストークンを記憶装置43に記憶し、これ以降、情報の送信処理等を行う場合には、情報処理サーバ1に対してアクセストークンを付して送信を行う。
また、ログイン処理が成功した場合には、その旨のメッセージをディスプレイ45に表示させ、その後、図11に示すメインメニューページP1をディスプレイ45に表示させる。ログイン処理が失敗した場合には、情報処理サーバ1から端末装置2へのアクセストークンの送信は行われず、端末装置2のCPU40は、ディスプレイ45に、ログインIDまたはパスワードが間違っている旨のメッセージを表示させ、ログインIDとパスワードの再入力を促す。
図12に示すキャンセルボタンB4が押下された場合には、図11に示すメインメニューページP1を表示させる。
なお、本実施形態においては、ログイン処理の成功後に情報処理サーバ1から端末装置2にアクセストークンを送信する例について説明するが、本発明はこの例に限定されるものではなく、再度の手動でのログインを不要とする方法であれば、どのような方法を採用してもよい。
<3−1−2:ラウンド開始処理>
ラウンド開始セルA2が押下された場合には、ゴルフ場を地域から探すか、GPSで測位した位置情報に基づいて探すか、あるいは、マイコースから探すかを選択する画面(図示せず)が表示される。例えば、地域から探すことが選択された場合には、北海道、関東等の地域を示す画面(図示せず)が表示される。例えば、関東が選択された場合には、東京都、神奈川県等を示す画面(図示せず)が表示される。そして、例えば、東京都が選択された場合には、ア行からワ行まで、50音で検索する画面(図示せず)が表示される。例えば、ア行が選択された場合には、図13に示すようなア行のゴルフ場がリスト状に表示されたゴルフコース選択メニューページP3が表示される。
図13のゴルフコース選択メニューページP3は、戻るボタンG1、ゴルフコース表示セルG2〜G4を備えている。ゴルフコース表示セルG2〜G4のいずれかが選択されると、情報処理サーバ1の記憶部15に格納されたゴルフ場テーブルTBL12に記憶されたゴルフ場のホール情報が、端末装置2にダウンロードされる。
ホール情報のダウンロードが完了すると、端末装置2においては、図14に示すラウンド設定メニューページP4が表示される。ラウンド設定メニューページP4は、コース名表示領域H1、ラウンド日入力領域H2、スタート時間入力領域H3、天候入力領域H4、風入力領域H5、ティーグラウンド選択領域H6、前半コース選択領域H7、後半コース選択領域H8、同伴者入力領域H9、同伴者名受信ボタンH10、同伴者名編集ボタンH11〜H13、及び、決定ボタンH14を備えている。
コース名表示領域H1には、ゴルフコース表示セルG2〜G4を押下することによって選択したゴルフコースの名称が表示される。
ラウンド日入力領域H2には「年」、「月」、「日」に分けてプルダウンメニュー欄が表示されており、プルダウンメニューから「年」、「月」、「日」を選択することにより、ラウンド日の入力が可能となっている。
スタート時間入力領域H3には「時」、「分」に分けてプルダウンメニュー欄が表示されており、プルダウンメニューから「時」、「分」を選択することにより、スタート時間の入力が可能となっている。
天候入力領域H4及び風入力領域H5にもプルダウンメニュー欄が表示されており、プルダウンメニューから天候と風の強さ等を選択することにより、天候と風についての情報の入力が可能となっている。
ティーグラウンド選択領域H6にはプルダウンメニュー欄が表示されており、プルダウンメニューからレギュラーティー、レディースティー等の選択することが可能となっている。
前半コース選択領域H7と後半コース選択領域H8には、プルダウンメニュー欄が表示されており、プルダウンメニューからアウトまたはインのいずれかを選択することが可能となっている。
同伴者入力領域H9には、同伴プレーヤーの名前の入力欄が表示されており、同伴者名編集ボタンH11〜H13を押下することにより、同伴者の名前を直接テキスト入力により入力することが可能になっている。また、本実施形態においては、同伴者名受信ボタンH10を押下することにより、情報処理サーバ1から同伴者名が送信され、端末装置2において受信されるようになっている。そして、同伴者入力領域H9に同伴者名が自動的に表示されるようになっている。この名前自動入力処理については後述する。
以上に説明した各領域における各情報の入力及び選択等を行った後に、決定ボタンH14が押下されると、端末装置2のCPU40は、図15に示すような距離表示ページP5をディスプレイ45に表示させる。
<3−1−3:スコア入力処理>
図15に示す距離表示ページP5は、ホール番号表示領域J1、パー数表示領域J2、メニューボタンJ3、SNS接続ボタンJ4、スコアカードボタンJ5、ページボタンJ6、グリーン奥距離表示領域J7、ピン位置距離表示領域J8、グリーン手前距離表示領域J9、グリーン設定ボタンJ10、飛距離表示領域J11、打数ボタンJ12、カップインボタンJ13、ホール選択ボタンJ14を備えている。
ホール番号表示領域J1は、ホール番号がアウトとインに分けて記載される。ラウンド開始時においては、アウトまたはインの1番目のホールが表示され、カップインボタンJ13が押下されるごとに次のホールのホール番号が表示される。また、ホール選択ボタンJ14の押下によっても表示が切り替わる。
パー数表示領域J2には、ホール番号表示領域J1に表示されているホールのパー数が表示される。このパー数のデータは、ダウンロードしたホール情報に含まれているものである。
メニューボタンJ3が押下されると、「メインメニューへ戻る」、「指定のホールへ移動する」、及び、「ラウンドを終了する」のいずれかを選択する画面(図示せず)が表示される。「メインメニューへ戻る」が押下された場合には、図11に示すメインメニューページP1が表示される。「指定のホールへ移動する」が押下された場合には、ホールを指定する画面(図示せず)が表示され、その画面においてホールを指定することができる。ホールが指定されると、そのホールの距離表示ページP5が表示される。
SNS接続ボタンJ4が押下されると、外部サーバによって提供されるSNSとの接続が可能となり、ホールアウトした際のスコアを、メッセージとしてゴルフ情報アプリケーション等に投稿することが可能となる。
スコアカードボタンJ5が押下されると、図16に示すスコアカードページP6が表示される。スコアカードページP6の詳細については後述する。
ページボタンJ6が押下されると、距離表示ページP5の下部のハザード画面(図示せず)が表示される。このハザード画面は、ダウンロードしたハザード情報に基づいて作成されるものであり、ハザード情報は、ホール情報に含まれる情報である。
グリーン奥距離表示領域J7には、初期状態ではティーグラウンドからグリーン奥までの距離が表示され、ピン位置距離表示領域J8にはティーグラウンドからピン位置までの距離が表示され、グリーン手前距離表示領域J9にはティーグラウンドからグリーン手前までの距離が表示される。これらの距離の情報は、ダウンロードしたグリーン情報に基づいて作成されるものであり、グリーン情報は、ホール情報に含まれる情報である。
グリーン設定ボタンJ10は、そのラウンドにおいて使用されるグリーンが左グリーンか右グリーンかを設定するボタンである。図15に示す例では、左グリーンが設定されている状態を示している。左グリーンが設定された場合には、左グリーンIDを参照することによりグリーン情報テーブルから読み取られたグリーン情報に基づいてグリーン奥距離表示領域J7、ピン位置距離表示領域J8、及び、グリーン手前距離表示領域J9における距離表示が行われる。右グリーンが設定された場合には、右グリーンIDを参照することによりグリーン情報テーブルから読み取られたグリーン情報に基づいてグリーン奥距離表示領域J7、ピン位置距離表示領域J8、及び、グリーン手前距離表示領域J9における距離表示が行われる。
打数ボタンJ12は、ボールを打つ際に押下されるボタンである。まず、ティーショットを打つ場合には、図15に示すように「1打目登録」と表示されているので、この「1打目登録」と表示された打数ボタンJ12が押下される。次に、打数ボタンJ12の表示は「2打目登録」という表示に切り替わる。そして、2打目を打つ際に、「2打目登録」と表示された打数ボタンJ12が押下される。以下、同様にして、カップインするまで打数ボタンJ12が押下される。打数ボタンJ12が押下されると、端末装置2のCPU40は、1打目からの打数を積算するようになっている。なお、本実施形態ではショットを行う場合も、パットを行う場合も打数ボタンJ12を押下させるようになっている。
カップインボタンJ13は、カップインした際に押下される。カップインボタンJ13が押下されると、端末装置2のCPU40は、カップインボタンJ13が押下された時点での上記積算された打数を、1打目からの合計の打数として特定し、後述するスコア算出処理を行う。そして、端末装置2のCPU40は、図16に示すスコアカードページP6を表示させる。
ホール選択ボタンJ14は、「前のホール」と表示されたボタンと、「次のホール」と表示されたボタンを備えており、「前のホール」と表示されたホール選択ボタンJ14が押下されると、現在よりも一つ前のホールの距離表示ページP5が表示される。「次のホール」と表示されたホール選択ボタンJ14が押下されると、現在よりも一つ後のホールの距離表示ページP5が表示される。
<3−1−4:スコアカードページ>
次に、カップインボタンJ13が押下された場合に表示されるスコアカードページP6について説明する。図16にスコアカードページP6の一例を示す。スコアカードページP6は、ホール番号表示領域K1、パー数表示領域K2、メニューボタンK3、距離表示ページボタンK4、SNS接続ボタンK5、ページ下部ボタンK6、前後半ホール選択ボタンK7、メンバー選択ボタンK8、名前表示領域K9、スコア表示領域K10、コース計表示領域K11、ラウンド計表示領域K12、スコア確定ボタンK13、スコア修正ボタンK14、ページ上部ボタンK15を備えている。
ホール番号表示領域K1は、図15の距離表示ページP5におけるホール番号と同じホール番号が表示される。パー数表示領域K2にも、図15の距離表示ページP5におけるパー数と同じパー数が表示される。
メニューボタンK3が押下されると、図15の距離表示ページP5の場合と同様に、「メインメニューへ戻る」、「指定のホールへ移動する」、及び、「ラウンドを終了する」のいずれかを選択する画面(図示せず)が表示される。「メインメニューへ戻る」が押下された場合には、図11に示すメインメニューページP1が表示される。「指定のホールへ移動する」が押下された場合には、ホールを指定する画面(図示せず)が表示され、その画面においてホールを指定することができる。ホールが指定されると、そのホールのスコアカードページP6が表示される。
距離表示ページボタンK4が押下されると、図15に示す距離表示ページP5に戻るようになっている。
SNS接続ボタンK5が押下されると、図15の距離表示ページP5の場合と同様に、SNSとの接続の設定が可能となり、ホールアウトした際のスコアを、SNSに投稿することが可能となる。
ページ下部ボタンK6が押下されると、画面がスクロールされ、後述するスコア表示領域K10の下部の部分も表示させることができる。
前後半ホール選択ボタンK7は、前半ホールのスコアを表示させるか、あるいは、後半ホールのスコアを表示させるかを選択する際に使用される。図16に示す例は前半ホールが選択されている状態を示している。
メンバー選択ボタンK8は、スコア表示領域K10にスコアを表示させるメンバーを選択する際に使用される。図16に示す例では、「全員」が選択されており、名前表示領域K9には全員の名前が表示され、スコア表示領域K10には、全員のスコアが表示されている。「全員」と表示されたメンバー選択ボタンK8が押下されると、スコア表示領域K10には各メンバーのスコアが表示されることになる。なお、本実施形態では、当該端末装置2でゴルフナビゲーションアプリケーションを利用している本人の名前は、メンバー選択ボタンK8の「全員」の右のセル、及び、名前表示領域K9のPARの右側のセルに自動的に表示される。そして同伴者についても、ラウンド設定メニューページP4(図14)の同伴者入力領域H9の上から入力された順に、上記本人の右のセルから表示される。また、名前表示領域K9に上記本人の右のセルから表示される。したがって、同伴者名受信ボタンH10が押下された場合には、同伴者の名前も自動的に表示される。
スコア表示領域K10には、各ホールのヤーデージ、パー数、スコア、パット数、パーオン、OB、フェアウェイキープ、池IN、バンカーINについての情報が表示される。ヤーデージとパー数については、ダウンロードしたホール情報に基づいたデータが表示される。スコアの欄には、図15の距離表示ページP5の打数ボタンJ12により入力されたカップインまでの打数(ストローク数)が表示される。ただし、このカップインまでの打数は、後述するスコア修正ボタンK14が押下されて表示されるスコア編集ページ(図示せず)において編集された場合は、その編集後の打数が表示される。パット数については、スコア修正ボタンK14が押下され、スコア編集ページ(図示せず)においてゴルフユーザによって入力されたパット数が表示される。
なお、図16に示す例では、スコア表示領域K10には1ホールから5ホールまでのスコアしか表示されていないが、実際には選択された前半ホールまたは後半ホールの全てのホールのスコアが、画面を下にスクロールさせる等により表示されるようになっている。
コース計表示領域K11には、ヤーデージ、パー数、スコア、及び、パット数のそれぞれのコース計が表示されるようになっている。ラウンド計表示領域K12には、ヤーデージ、パー数、スコア、及び、パット数のそれぞれのラウンド計が表示されるようになっている。
スコア確定ボタンK13が押下されると、後述するスコア保存処理とバーチャルコンペ用のスコア登録処理とが行われる。詳しくは後述する。
スコア修正ボタンK14が押下されると、スコア編集ページ(図示せず)が表示されるようになっている。スコア編集ページにおいては、スコアを修正することができる。
ページ上部ボタンK15が押下されると、画面がスクロールされ、スコアカードページP6上部の部分を表示させることができる。
<3−2.スコア保存処理及びスコア登録処理>
次に、距離表示ページP5のカップインボタンJ13が押下され、さらに、スコアカードページP6のスコア確定ボタンK13が押下された場合に開始されるスコア保存処理及びスコア登録処理の詳細について、図17乃至図24を参照して説明する。本実施形態では、スコア保存サービスにログインした状態でスコア入力を行い、その後にスコア保存処理及びスコア登録処理を行う場合と、スコア保存サービスにログインしていない状態でスコア入力を行い、その後にスコア保存処理及びスコア登録処理を行う際にログインを行う場合とがある。また、バーチャルコンペに参加登録している状態でスコア保存処理及びスコア登録処理を行う場合と、バーチャルコンペに参加登録していない状態でスコア保存処理を行う場合とがある。したがって、場合に分けて説明する。
<3−2−1.未ログイン及びバーチャルコンペへの参加未登録の場合>
まず、スコア保存サービスにログインしていない状態でスコア入力を行い、バーチャルコンペに参加登録していない状態でスコア保存処理を行う場合について説明する。図21に示すように、18ホール目のスコア入力が終了し、距離表示ページP5のカップインボタンJ13が押下されると(S100)、端末装置2のCPU40は、スコアカードページP6をディスプレイ45に表示させる。したがって、ディスプレイ45には、スコア確定ボタンK13と、スコア修正ボタンK14が表示される(S101)。
スコア修正ボタンK14が押下された場合には(S102:YES)、端末装置2のCPU40は、ディスプレイ45にスコア編集ページ(図示せず)を表示させ、スコアの修正入力を受け付ける(S103)。
スコア確定ボタンK13が押下された場合には、端末装置2のCPU40は、スコアを端末装置2の記憶装置43に保存する(S102)。次に、端末装置2のCPU40は、スコア保存サービスへのログインが行われているか否かを判断する(S105)。ログインが未だ行われていないと判断した場合には(S105:NO)、端末装置2のCPU40は、図17に示すサーバ保存ボタンC1と終了ボタンC2を備える第1スコア確定画面P7をディスプレイ45に表示させる(S106)。
終了ボタンC2が押下された場合には(S107:NO)、端末装置2のCPU40は、情報処理サーバ1に対してスコアの保存処理要求を送信することなく、処理を終了する。しかし、サーバ保存ボタンC1が押下された場合には(S107:YES)、端末装置2のCPU40は、図12に示すログイン画面P2をディスプレイ45に表示させ、ゴルフユーザに対して、ログインIDとパスワードの入力を求める(S108)。
ログイン画面P2において、キャンセルボタンB4が押下された場合には(S109:NO)、端末装置2のCPU40は、情報処理サーバ1に対してスコアの保存処理要求を送信することなく、図17に示す第1スコア確定画面P7をディスプレイ45に再度表示させる(S106)。
しかし、ログイン画面P2において、ログインIDとパスワードが入力され、送信ボタンB3が押下された場合には(S109:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、ゴルフユーザの識別情報UIDと共に、ログインIDとパスワードを送信し、ログインIDとパスワードの確認を求める。
ゴルフユーザの識別情報UID、ログインID、及びパスワードを受信した情報処理サーバ1のCPU30は、ゴルフユーザ情報テーブルTBL11を参照し、受信した識別情報UID、ログインID、及びパスワードの組に一致するレコードがあるかどうかの確認処理を行う(S200)。
ゴルフユーザ情報テーブルTBL11に、受信した識別情報UID、ログインID、及びパスワードの組に一致するレコードが存在した場合には、情報処理サーバ1のCPU30は、アクセストークンを端末装置2に送信する(S201)。しかし、ゴルフユーザ情報テーブルTBL11に、受信した識別情報UID、ログインID、及びパスワードの組に一致するレコードが存在しなかった場合には、情報処理サーバ1のCPU30は、エラーが発生したことを端末装置2に通知する(S201)。
エラーの通知を受けた端末装置2のCPU40は(S111:NO)、ログインIDまたはパスワードが間違っている旨のメッセージをディスプレイ45に表示させ、再度、ログインID及びパスワードの入力を求める(S108)。
しかし、情報処理サーバ1からアクセストークンを受信した端末装置2のCPU40は(S111:YES)、当該ゴルフユーザが、バーチャルコンペへの参加登録を済ませているかどうかの確認要求を情報処理サーバ1に送信する(S112)。
確認要求を受信した情報処理サーバ1のCPU30は、コンペ情報テーブルTBL15を参照し、コンペ情報テーブルTBL15に当該ゴルフユーザの識別情報UIDが記憶されているかどうかの確認を行う(S202)。
コンペ情報テーブルTBL15に当該ゴルフユーザの識別情報UIDが記憶されていた場合には、情報処理サーバ1のCPU30は、当該ゴルフユーザが、バーチャルコンペへの参加登録を完了済みであることを示す情報を端末装置2に送信する(S203)。しかし、コンペ情報テーブルTBL15に当該ゴルフユーザの識別情報UIDが記憶されていない場合には、情報処理サーバ1のCPU30は、当該ゴルフユーザが、バーチャルコンペへの参加が未登録であることを示す情報を端末装置2に送信する(S203)。
図22に示すように、情報処理サーバ1から、バーチャルコンペへの参加が未登録であることを示す情報を受信した端末装置2のCPU40は(S113:NO)、図17に示す第1スコア確定画面P7をディスプレイ45に再度表示させる(S114)。
終了ボタンC2が押下された場合には(S115:NO)、端末装置2のCPU40は、情報処理サーバ1に対してスコアの保存処理要求を送信することなく、処理を終了する。しかし、サーバ保存ボタンC1が押下された場合には(S115:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、一時的に保存しておいたスコア、プレー日、ゴルフ場IDと共に、スコアの保存処理要求を送信する(S116)。
スコアの保存処理要求及び各種の情報を受信した情報処理サーバ1のCPU30は、個人スコア情報テーブルTBL14に、識別情報UID、スコア、プレー日、及びゴルフ場ID等を関連付けて記憶させる(S204)。そして、情報処理サーバ1のCPU30は、スコア保存が完了したことを端末装置2に通知する(S205)。
完了通知を受信した端末装置2のCPU40は、ディスプレイ45に、スコアの保存が完了した旨のメッセージを表示させるようにしてもよい。
<3−2−2.ログイン済み及びバーチャルコンペへの参加未登録の場合>
まず、スコア保存サービスにログインした状態でスコア入力を行い、バーチャルコンペに参加登録していない状態でスコア保存処理を行う場合について説明する。18ホール目のスコア入力が終了してから、スコアを端末装置2に一時的に保存するまでの処理(S100〜S104)については、上述した例と共通なので、説明を省略する。
スコアを端末装置2に一時的に保存した後は、端末装置2のCPU40は、スコア保存サービスにログイン済みかどうかを判断する(S105)。ログイン済みの場合には(S105:YES)、端末装置2のCPU40は、当該ゴルフユーザが、バーチャルコンペへの参加登録を済ませているかどうかの確認要求を情報処理サーバ1に送信する(S112)。
確認要求を受信した情報処理サーバ1のCPU30は、コンペ情報テーブルTBL15を参照し、コンペ情報テーブルTBL15に当該ゴルフユーザの識別情報UIDが記憶されているかどうかの確認を行う(S202)。
コンペ情報テーブルTBL15に当該ゴルフユーザの識別情報UIDが記憶されていた場合には、情報処理サーバ1のCPU30は、当該ゴルフユーザが、バーチャルコンペへの参加登録を完了済みであることを示す情報を端末装置2に送信する(S203)。しかし、コンペ情報テーブルTBL15に当該ゴルフユーザの識別情報UIDが記憶されていない場合には、情報処理サーバ1のCPU30は、当該ゴルフユーザが、バーチャルコンペへの参加が未登録であることを示す情報を端末装置2に送信する(S203)。
図22に示すように、情報処理サーバ1から、バーチャルコンペへの参加が未登録であることを示す情報を受信した端末装置2のCPU40は(S113:NO)、図17に示す第1スコア確定画面P7をディスプレイ45に再度表示させる(S114)。
終了ボタンC2が押下された場合には(S115:NO)、端末装置2のCPU40は、情報処理サーバ1に対してスコアの保存処理要求を送信することなく、処理を終了する。しかし、サーバ保存ボタンC1が押下された場合には(S115:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、一時的に保存しておいたスコア、プレー日、ゴルフ場IDと共に、スコアの保存処理要求を送信する(S116)。
スコアの保存処理要求及び各種の情報を受信した情報処理サーバ1のCPU30は、個人スコア情報テーブルTBL14に、識別情報UID、スコア、プレー日、及びゴルフ場ID等を記憶させる(S204)。そして、情報処理サーバ1のCPU30は、スコア保存が完了したことを端末装置2に通知する(S205)。
完了通知を受信した端末装置2のCPU40は、ディスプレイ45に、スコアの保存が完了した旨のメッセージを表示させるようにしてもよい。
<3−2−3.未ログインまたはログイン済みで、バーチャルコンペへの参加登録済みの場合>
次に、スコア保存サービスにログインしてない状態、またはログイン済みの状態で、バーチャルコンペへの参加登録済みの場合について説明する。図21におけるステップS100〜S111までの処理については、上述した例と共通なので説明を省略する。つまり、ログインしていない場合には、ステップS105〜S111の処理によってログインを完了させる。ログインしている場合には、ステップS105からステップS112のバーチャルコンペへの参加確認要求送信処理へと移行する。
ステップS112において、端末装置2のCPU40は、当該ゴルフユーザが、バーチャルコンペへの参加登録を済ませているかどうかの確認要求を情報処理サーバ1に送信する。
確認要求を受信した情報処理サーバ1のCPU30は、コンペ情報テーブルTBL15を参照し、コンペ情報テーブルTBL15に当該ゴルフユーザの識別情報UIDを含むレコードが存在するかどうかの確認を行う(S202)。
コンペ情報テーブルTBL15に当該ゴルフユーザの識別情報UIDを含むレコードが存在する場合には、情報処理サーバ1のCPU30は、当該レコードにおけるコンペIDを読み取り、RAM31等に一時的に記憶させる。そして、情報処理サーバ1のCPU30は、当該ゴルフユーザが、バーチャルコンペへの参加登録を完了済みであることを示す情報を、前記読み取ったコンペIDと共に端末装置2に送信する(S203)。しかし、コンペ情報テーブルTBL15に当該ゴルフユーザの識別情報UIDが記憶されていない場合には、情報処理サーバ1のCPU30は、当該ゴルフユーザが、バーチャルコンペへの参加が未登録であることを示す情報を端末装置2に送信する(S203)。
図22に示すように、情報処理サーバ1から、バーチャルコンペへの参加登録済みであることを示す情報と、コンペIDとを受信した端末装置2のCPU40は(S113:YES)、図18に示す第2スコア確定画面P8をディスプレイ45に表示させる(S120;図23参照)。第2スコア確定画面P8は、サーバ保存ボタンC3、コンペ対象確認ボタンC4、及び、終了ボタンC5を備えている。
コンペ対象確認ボタンC4が押下された場合には(S121:YES)、端末装置2のCPU40は、コンペ対象確認要求を情報処理サーバ1に送信する(S122)。コンペ対象確認要求とは、ゴルフユーザがプレーしたゴルフ場が、バーチャルコンペにおいて対象となるゴルフ場に含まれているかどうかの確認と、プレー日がバーチャルコンペの開催期間に含まれているかどうかの確認とを要求する処理である。したがって、端末装置2のCPU40は、コンペ対象確認要求と共に、コンペID、プレー日情報及びゴルフ場IDを情報処理サーバ1に送信する。なお、プレー日情報は、図14に示すラウンド日入力領域H2に入力された日付の情報である。
コンペ対象確認要求、コンペID、プレー日情報及びゴルフ場IDを受信した情報処理サーバ1のCPU30は、まずコンペ対象ゴルフ場テーブルTBL16を参照し、コンペ対象ゴルフ場テーブルTBL16に受信したゴルフ場IDが記憶されているかどうかの確認を行う(S206)。
コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていた場合には、情報処理サーバ1のCPU30は、コンペ開催時期情報テーブルTBL17を参照し、受信したコンペIDを含むレコードをコンペ開催時期情報テーブルTBL17から抽出する。情報処理サーバ1のCPU30は、抽出したレコードから開催日と終了日を読み取り、プレー日情報から特定される日(以下「プレー日」という)が、開催日から終了日までの開催期間内に含まれるかどうかを判断する(S206)。情報処理サーバ1のCPU30は、プレー日が開催期間内に含まれると判断した場合には、当該ゴルフ場が、バーチャルコンペの対象となるゴルフ場であり、プレー日がバーチャルコンペの開催期間内であることを示す情報を端末装置2に送信する(S207)。
しかし、コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていない場合、もしくは、プレー日が開催期間外である場合には、情報処理サーバ1のCPU30は、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないこと、もしくは、プレー日が開催期間外であることを示す情報を端末装置2に送信する(S207)。
端末装置2のCPU40は、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないことを示す情報、または、プレー日が開催期間外であることを示す情報を受信した場合には(S123:NO)、ディスプレイ45に、プレーしたゴルフ場がバーチャルコンペの対象となるゴルフ場ではない旨、または、プレー日が開催期間外である旨のメッセージを表示させる(S130)。そして、図22に示すように、端末装置2のCPU40は、第1スコア確定画面P7を表示させる(S114)。
終了ボタンC2が押下された場合には(S115:NO)、端末装置2のCPU40は、情報処理サーバ1に対してスコアの保存処理要求を送信することなく、処理を終了する。しかし、サーバ保存ボタンC1が押下された場合には(S115:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、一時的に保存しておいたスコア、プレー日、ゴルフ場IDと共に、スコアの保存処理要求を送信する(S116)。
スコアの保存処理要求及び各種の情報を受信した情報処理サーバ1のCPU30は、個人スコア情報テーブルTBL14に、識別情報UID、スコア、プレー日、及びゴルフ場ID等を記憶させる(S204)。そして、情報処理サーバ1のCPU30は、スコアの保存が完了したことを端末装置2に通知する(S205)。
完了通知を受信した端末装置2のCPU40は、ディスプレイ45に、スコアの保存が完了した旨のメッセージを表示させるようにしてもよい。
図23に示すステップS123において、端末装置2のCPU40は、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場であり、プレー日が開催期間内であることを示す情報を受信した場合には(S123:YES)、ディスプレイ45に、図19に示す第3スコア確定画面P9を表示させる(S124)。第3スコア確定画面P9は、コンペスコア登録ボタンC6と、終了ボタンC7を備えている。
終了ボタンC7が押下された場合には(S125:NO)、端末装置2のCPU40は、図22に示すステップS114〜S116の処理を行い、ゴルフユーザからの要求に応じてスコアの保存処理を行う。ステップS114〜S116の処理は、上述した例と共通なので説明を省略する。
コンペスコア登録ボタンC6が押下された場合には(S125:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、予約確認処理の要求を送信する(S126)。予約確認処理とは、登録しようとするスコアを出したゴルフ場について、当該ゴルフユーザによる予約が行われていたかどうかを確認する処理である。当該ゴルフ場について、当該ゴルフユーザによる予約が行われていないにも拘わらず、コンペスコア登録ボタンC6が押下され、バーチャルコンペへのスコア登録の申請があった場合には、実際にはゴルフをプレーせずに不正にスコアを登録しようとしていると考えられる。しかし、当該ゴルフ場について、当該ゴルフユーザによる予約が行われており、コンペスコア登録ボタンC6が押下され、バーチャルコンペへのスコア登録の申請があった場合には、予約したゴルフ場において実際にゴルフをプレーして、正当にスコアを登録しようとしていると考えられる。このように、予約確認処理を行うことにより、バーチャルコンペにおける不正なスコア登録を防ぐことができる。
端末装置2から予約確認処理要求を受信した情報処理サーバ1のCPU30は、予約情報テーブルTBL13を参照し、予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されているかどうかを確認する処理を行う(S208)。
予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されていた場合には(S209:YES)、情報処理サーバ1のCPU30は、コンペ情報テーブルTBL15に、プレー日、スコア、ゴルフ場IDを、ゴルフユーザの識別情報UIDと関連付けて記憶させる(S210)。しかし、予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されていなかった場合には(S209:NO)、情報処理サーバ1のCPU30は、スコアの登録処理を行わない。
そして、情報処理サーバ1のCPU30は、予約確認処理の結果を端末装置2に通知する(S211)。予約がなかった旨の通知を受けた端末装置のCPU40は(S127:NO)、ディスプレイ45に、予約情報との照合ができなかったために、スコアの登録を行わなかった旨のメッセージを表示させる(S129)。次に、端末装置2のCPU40は、図22に示すステップS114〜S116の処理を行い、ゴルフユーザからの要求に応じてスコアの保存処理を行う。ステップS114〜S116の処理は、上述した例と共通なので説明を省略する。
しかし、予約が行われていた旨の通知を受けた端末装置のCPU40は(S127:YES)、スコア登録が完了した旨のメッセージをディスプレイ45に表示させる(S128)。そして、端末装置2のCPU40は、図22に示すステップS114〜S116の処理を行い、ゴルフユーザからの要求に応じてスコアの保存処理を行う。ステップS114〜S116の処理は、上述した例と共通なので説明を省略する。つまり、本実施形態では、バーチャルコンペへのスコア登録を行うと共に、スコアの保存処理も可能になっている。
また、図23に示すステップS121において、コンペ対象確認ボタンC4以外のボタンが押下された場合、つまり、図18の第2スコア確定画面P8において、サーバ保存ボタンC3または終了ボタンC5が押下された場合には(S121:NO)、端末装置2のCPU40は、図24に示すように、サーバ保存ボタンC3と終了ボタンC5のいずれが押下されたのかを判断する(S140)。
終了ボタンC5が押下された場合には(S140:NO)、端末装置2のCPU40は、処理を終了させる。しかし、サーバ保存ボタンC3が押下された場合には(S140:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、一時的に保存しておいたスコア、プレー日、ゴルフ場IDと共に、スコアの保存処理要求を送信する(S141)。
スコアの保存処理要求及び各種の情報を受信した情報処理サーバ1のCPU30は、個人スコア情報テーブルTBL14に、識別情報UID、スコア、プレー日、及びゴルフ場ID等を記憶させる(S220)。そして、情報処理サーバ1のCPU30は、スコア保存が完了したことを端末装置2に通知する(S221)。
スコア保存の完了通知を受信した端末装置2のCPU40は、ディスプレイ45に、図20に示す第4スコア確定画面P10を表示させる(S142)。第4スコア確定画面P10は、コンペ対象確認ボタンC8と、終了ボタンC9とを備えている。
終了ボタンC5が押下された場合には(S143:NO)、端末装置2のCPU40は、処理を終了させる。しかし、コンペ対象確認ボタンC8が押下された場合には(S143:YES)、端末装置2のCPU40は、コンペ対象確認要求と共に、コンペID及びゴルフ場IDを情報処理サーバ1に送信する(S144)。
コンペ対象確認要求、コンペID、及びゴルフ場IDを受信した情報処理サーバ1のCPU30は、コンペ対象ゴルフ場テーブルTBL16を参照し、コンペ対象ゴルフ場テーブルTBL16に受信したゴルフ場IDが記憶されているかどうかの確認を行う(S222)。
コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていた場合には、情報処理サーバ1のCPU30は、コンペ開催時期情報テーブルTBL17を参照し、受信したコンペIDを含むレコードをコンペ開催時期情報テーブルTBL17から抽出する。情報処理サーバ1のCPU30は、抽出したレコードから開催日と終了日を読み取り、プレー日が開催日から終了日までの開催期間内に含まれるかどうかを判断する。情報処理サーバ1のCPU30は、プレー日が開催期間内に含まれると判断した場合には、当該ゴルフ場が、バーチャルコンペの対象となるゴルフ場であり、プレー日がバーチャルコンペの開催期間内であることを示す情報を端末装置2に送信する(S223)。
しかし、コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていない場合、もしくは、プレー日が開催期間外である場合には、情報処理サーバ1のCPU30は、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないこと、もしくは、プレー日が開催期間外であることを示す情報を端末装置2に送信する(S223)。
端末装置2のCPU40は、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないことを示す情報、またはプレー日が開催期間外であることを示す情報を受信した場合には(S145:NO)、ディスプレイ45に、プレーしたゴルフ場がバーチャルコンペの対象となるゴルフ場ではない旨、またはプレー日が開催期間外である旨のメッセージを表示させ(S152)、処理を終了させる。
情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場であり、プレー日が開催期間内であることを示す情報を受信した場合には(S145:YES)、端末装置2のCPU40は、ディスプレイ45に、図19に示す第3スコア確定画面P9を表示させる(S146)。第3スコア確定画面P9は、コンペスコア登録ボタンC6と、終了ボタンC7を備えている。
終了ボタンC7が押下された場合には(S147:NO)、端末装置2のCPU40は、スコア登録を行わずに、処理を終了させる。しかし、コンペスコア登録ボタンC6が押下された場合には(S147:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、予約確認処理の要求を送信する(S148)。
端末装置2から予約確認処理要求を受信した情報処理サーバ1のCPU30は、予約情報テーブルTBL13を参照し、予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されているかどうかを確認する処理を行う(S224)。
予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されていた場合には(S224:YES)、情報処理サーバ1のCPU30は、コンペ情報テーブルTBL15に、プレー日、スコア、ゴルフ場IDを、ゴルフユーザの識別情報UIDと関連付けて記憶させる(S225)。しかし、予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されていなかった場合には(S224:NO)、情報処理サーバ1のCPU30は、スコアの登録処理を行わない。
そして、情報処理サーバ1のCPU30は、予約確認処理の結果を端末装置2に通知する(S226)。予約がなかった旨の通知を受けた端末装置のCPU40は(S149:NO)、ディスプレイ45に、予約情報との照合ができなかったために、スコアの登録を行わなかった旨のメッセージを表示させ(S151)、処理を終了させる。
しかし、予約が行われていた旨の通知を受けた端末装置のCPU40は(S149:YES)、スコア登録が完了した旨のメッセージをディスプレイ45に表示させ(S150)、処理を終了させる。
以上のように、本実施形態によれば、バーチャルコンペのスコア登録要求があった際に、当該ゴルフ場の予約が行われていたことが確認できた場合にのみ、バーチャルコンペのスコア登録を行うので、バーチャルコンペにおける不正なスコア登録を防ぐことができる。
<第2実施形態>
次に、図25乃至図30を参照して第2実施形態について説明する。第1実施形態では、バーチャルコンペにスコア登録を行うには、バーチャルコンペに事前に参加登録しておく必要があった。しかし、本実施形態では、バーチャルコンペにスコア登録を行う際に、バーチャルコンペへの参加登録を可能とした構成が第1実施形態と異なる。
図21に示す端末装置2におけるステップS100〜S112の処理と、情報処理サーバ1におけるステップS200〜S203の処理は、第1実施形態と共通なので、説明を省略する。
<バーチャルコンペに参加登録済みの場合>
図25に示すように、コンペ参加確認処理の結果、ゴルフユーザがバーチャルコンペへの参加登録済みである場合には(S160:YES)、図26に示すように、端末装置2のCPU40は、図18に示す第2スコア確定画面P8を表示させる(S169)。
コンペ対象確認ボタンC4が押下された場合には(S170:YES)、端末装置2のCPU40は、コンペ対象確認要求、コンペID、及びゴルフ場IDを情報処理サーバ1に送信する(S171)。
コンペ対象確認要求、コンペID、及びゴルフ場IDを受信した情報処理サーバ1のCPU30は、コンペ対象ゴルフ場テーブルTBL16を参照し、コンペ対象ゴルフ場テーブルTBL16に受信したゴルフ場IDが記憶されているかどうかの確認を行う(S240)。
コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていた場合には、情報処理サーバ1のCPU30は、コンペ開催時期情報テーブルTBL17を参照し、受信したコンペIDを含むレコードをコンペ開催時期情報テーブルTBL17から抽出する。情報処理サーバ1のCPU30は、抽出したレコードから開催日と終了日を読み取り、プレー日が開催日から終了日までの開催期間内に含まれるかどうかを判断する(S240)。情報処理サーバ1のCPU30は、プレー日が開催期間内に含まれると判断した場合には、当該ゴルフ場が、バーチャルコンペの対象となるゴルフ場であり、プレー日がバーチャルコンペの開催期間内であることを示す情報を端末装置2に送信する(S241)。
しかし、コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていない場合、もしくは、プレー日が開催期間外である場合には、情報処理サーバ1のCPU30は、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないこと、もしくは、プレー日が開催期間外であることを示す情報を端末装置2に送信する(S241)。
端末装置2のCPU40は、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないことを示す情報、または、プレー日が開催期間外であることを示す情報を受信した場合には(S172:NO)、ディスプレイ45に、プレーしたゴルフ場がバーチャルコンペの対象となるゴルフ場ではない旨、または、プレー日が開催期間外である旨のメッセージを表示させる(S176)。そして図22に示すように、端末装置2のCPU40は、第1スコア確定画面P7を表示させ、ステップS114以降のスコアの保存処理等を行う。処理の詳細は第1実施形態と共通なので説明を省略する。
一方、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象であり、プレー日が開催期間内であることを示す情報を受信した場合には(S172:YES)、図27に示すように、端末装置2のCPU40は、ディスプレイ45に、図19の第3スコア確定画面P9を表示させる(S180)。終了ボタンC7が押下された場合には(S181:NO)、端末装置2のCPU40は、図22に示すように、第1スコア確定画面P7を表示させ、ステップS114以降のスコアの保存処理等を行う。処理の詳細は第1実施形態と共通なので説明を省略する。
しかし、コンペスコア登録ボタンC6が押下された場合には(S181:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、予約確認処理の要求を送信する(S182)。端末装置2から予約確認処理要求を受信した情報処理サーバ1のCPU30は、予約情報テーブルTBL13を参照し、予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されているかどうかを確認する処理を行う(S250)。
予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されていた場合には(S251:YES)、情報処理サーバ1のCPU30は、コンペ情報テーブルTBL15に、プレー日、スコア、ゴルフ場IDを、ゴルフユーザの識別情報UIDと関連付けて記憶させる(S252)。しかし、予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されていなかった場合には(S251:NO)、情報処理サーバ1のCPU30は、スコアの登録処理を行わない。
そして、情報処理サーバ1のCPU30は、予約確認処理の結果を端末装置2に通知する(S253)。予約がなかった旨の通知を受けた端末装置のCPU40は(S183:NO)、ディスプレイ45に、予約情報との照合ができなかったために、スコアの登録を行わなかった旨のメッセージを表示させる(S185)。次に、端末装置2のCPU40は、図22に示すステップS114〜S116の処理を行い、ゴルフユーザからの要求に応じてスコアの保存処理等を行う。ステップS114〜S116の処理は、上述した例と共通なので説明を省略する。
しかし、予約が行われていた旨の通知を受けた端末装置のCPU40は(S183:YES)、スコア登録が完了した旨のメッセージをディスプレイ45に表示させる(S184)。そして、端末装置2のCPU40は、図22に示すステップS114〜S116の処理を行い、ゴルフユーザからの要求に応じてスコアの保存処理等を行う。ステップS114〜S116の処理は、上述した例と共通なので説明を省略する。
一方、図26に示すステップS170において、コンペ対象確認ボタンC4以外のボタンが押下された場合には(S170:NO)、図28に示すように、端末装置2のCPU40は、押下されたボタンがサーバ保存ボタンC3なのか、あるいは終了ボタンC5なのかを判断する(S300)。端末装置2のCPU40は、終了ボタンC5が押下されたと判断した場合には(S300:NO)、処理を終了させる。
端末装置2のCPU40は、サーバ保存ボタンC3が押下されたと判断した場合には(S300:YES)、情報処理サーバ1に対して、一時的に保存しておいたスコア、プレー日、ゴルフ場IDと共に、スコアの保存処理要求を送信する(S301)。
スコアの保存処理要求及び各種の情報を受信した情報処理サーバ1のCPU30は、個人スコア情報テーブルTBL14に、識別情報UID、スコア、プレー日、及びゴルフ場ID等を記憶させる(S260)。そして、情報処理サーバ1のCPU30は、スコアの保存が完了したことを端末装置2に通知する(S261)。
スコア保存の完了通知を受信した端末装置2のCPU40は、図20に示す第4スコア確定画面P10をディスプレイ45に表示させる(S302)。終了ボタンC9が押下された場合には(S303:NO)、端末装置2のCPU40は、処理を終了させる。
コンペ対象確認ボタンC8が押下された場合には(S303:YES)、端末装置2のCPU40は、コンペ対象確認要求、コンペID、及びゴルフ場IDを情報処理サーバ1に送信する(S304)。
コンペ対象確認要求、コンペID、及びゴルフ場IDを受信した情報処理サーバ1のCPU30は、コンペ対象ゴルフ場テーブルTBL16を参照し、コンペ対象ゴルフ場テーブルTBL16に受信したゴルフ場IDが記憶されているかどうかの確認を行う(S262)。
コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていた場合には、情報処理サーバ1のCPU30は、コンペ開催時期情報テーブルTBL17を参照し、受信したコンペIDを含むレコードをコンペ開催時期情報テーブルTBL17から抽出する。情報処理サーバ1のCPU30は、抽出したレコードから開催日と終了日を読み取り、プレー日が開催日から終了日までの開催期間内に含まれるかどうかを判断する(S262)。情報処理サーバ1のCPU30は、プレー日が開催期間内に含まれると判断した場合には、当該ゴルフ場が、バーチャルコンペの対象となるゴルフ場であり、プレー日がバーチャルコンペの開催期間内であることを示す情報を端末装置2に送信する(S263)。
しかし、コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていない場合、もしくは、プレー日が開催期間外である場合には、情報処理サーバ1のCPU30は、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないこと、もしくは、プレー日が開催期間外であることを示す情報を端末装置2に送信する(S263)。
端末装置2のCPU40は、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないことを示す情報、または、プレー日が開催期間外であることを示す情報を受信した場合には(S305:NO)、ディスプレイ45に、プレーしたゴルフ場がバーチャルコンペの対象となるゴルフ場ではない旨、または、プレー日が開催期間外である旨のメッセージを表示させ(S309)、処理を終了させる。
一方、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象であり、プレー日が開催期間内であることを示す情報を受信した場合には(S305:YES)、端末装置2のCPU40は、図31に示す第5スコア確定画面P11をディスプレイ45に表示させる(S306)。終了ボタンC11が押下された場合には(S307:NO)、端末装置2のCPU40は、処理を終了させる。
コンペ参加登録ボタンC10が押下された場合には(S305:YES)、図29に示すように、端末装置2のCPU40は、ディスプレイ45に、図19の第3スコア確定画面P9を表示させる(S186)。終了ボタンC7が押下された場合には(S187:NO)、端末装置2のCPU40は、処理を終了させる。
しかし、コンペスコア登録ボタンC6が押下された場合には(S187:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、予約確認処理の要求を送信する(S188)。端末装置2から予約確認処理要求を受信した情報処理サーバ1のCPU30は、予約情報テーブルTBL13を参照し、予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されているかどうかを確認する処理を行う(S270)。
予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されていた場合には(S271:YES)、情報処理サーバ1のCPU30は、コンペ情報テーブルTBL15に、プレー日、スコア、ゴルフ場IDを、ゴルフユーザの識別情報UIDと関連付けて記憶させる(S272)。しかし、予約情報テーブルTBL13に当該ゴルフユーザの識別情報UIDが、予約者の識別情報UIDとして記憶されていなかった場合には(S271:NO)、情報処理サーバ1のCPU30は、スコアの登録処理を行わない。
そして、情報処理サーバ1のCPU30は、予約確認処理の結果を端末装置2に通知する(S273)。予約がなかった旨の通知を受けた端末装置のCPU40は(S189:NO)、ディスプレイ45に、予約情報との照合ができなかったために、スコアの登録を行わなかった旨のメッセージを表示させ(S185)、処理を終了させる。
しかし、予約が行われていた旨の通知を受けた端末装置のCPU40は(S189:YES)、スコア登録が完了した旨のメッセージをディスプレイ45に表示させる(S191)。そして、端末装置2のCPU40は、処理を終了させる。
<バーチャルコンペへの参加が未登録の場合>
図25のステップS160において、バーチャルコンペへの参加が未登録であると判断されは場合には(S160:NO)、端末装置2のCPU40は、図18に示す第2スコア確定画面P8をディスプレイ45に表示させる(S161)。第2スコア確定画面P8は、サーバ保存ボタンC3、コンペ対象確認ボタンC4、及び、終了ボタンC5を備えている。
コンペ対象確認ボタンC4が押下された場合には(S162:YES)、端末装置2のCPU40は、コンペ対象確認要求、コンペID、及びゴルフ場IDを情報処理サーバ1に送信する(S163)。
コンペ対象確認要求、コンペID、及びゴルフ場IDを受信した情報処理サーバ1のCPU30は、コンペ対象ゴルフ場テーブルTBL16を参照し、コンペ対象ゴルフ場テーブルTBL16に受信したゴルフ場IDが記憶されているかどうかの確認を行う(S230)。
コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていた場合には、情報処理サーバ1のCPU30は、コンペ開催時期情報テーブルTBL17を参照し、受信したコンペIDを含むレコードをコンペ開催時期情報テーブルTBL17から抽出する。情報処理サーバ1のCPU30は、抽出したレコードから開催日と終了日を読み取り、プレー日が開催日から終了日までの開催期間内に含まれるかどうかを判断する(S230)。情報処理サーバ1のCPU30は、プレー日が開催期間内に含まれると判断した場合には、当該ゴルフ場が、バーチャルコンペの対象となるゴルフ場であり、プレー日がバーチャルコンペの開催期間内であることを示す情報を端末装置2に送信する(S231)。
しかし、コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていない場合、もしくは、プレー日が開催期間外である場合には、情報処理サーバ1のCPU30は、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないこと、もしくは、プレー日が開催期間外であることを示す情報を端末装置2に送信する(S231)。
端末装置2のCPU40は、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないことを示す情報、または、プレー日が開催期間外であることを示す情報を受信した場合には(S164:NO)、ディスプレイ45に、プレーしたゴルフ場がバーチャルコンペの対象となるゴルフ場ではない旨、または、プレー日が開催期間外である旨のメッセージを表示させる(S168)。そして、図22に示すように、端末装置2のCPU40は、第1スコア確定画面P7を表示させ、ステップS114以降のスコアの保存処理等を行う。処理の詳細は第1実施形態と共通なので説明を省略する。
端末装置2のCPU40は、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場であり、プレー日が開催期間内であることを示す情報を受信した場合には(S164:YES)、ディスプレイ45に、図31に示す第5スコア確定画面P11を表示させる(S165)。第5スコア確定画面P11は、コンペ参加登録ボタンC10、及び、終了ボタンC11を備えている。
終了ボタンC11が押下された場合には(S166:NO)、図22に示すように、端末装置2のCPU40は、第1スコア確定画面P7を表示させ、ステップS114以降のスコアの保存処理等を行う。処理の詳細は第1実施形態と共通なので説明を省略する。
コンペ参加登録ボタンC10が押下された場合には(S166:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、ゴルフユーザの識別情報UIDと共に、バーチャルコンペへの参加登録処理要求を送信する(S167)。
バーチャルコンペへの参加登録処理要求を受信した情報処理サーバ1のCPU30は、コンペ情報テーブルTBL15に、新たにコンペIDを記憶させ、当該新たなコンペIDに関連付けてゴルフユーザの識別情報UIDを記憶させる(S232)。そして、情報処理サーバ1のCPU30は、コンペIDと共に、参加登録処理が完了した旨の通知を端末装置2に対して行う(S233)。
これ以降は、端末装置2のCPU40は、図27に示すステップS180〜S185に示す処理を行う、情報処理サーバ1のCPU30は、図27に示すステップS250〜S253に示す処理を行う。処理の詳細は上述した例と共通なので説明を省略する。
図25に示すステップS162において、サーバ保存ボタンC3または終了ボタンC5が押下された場合には(S162:NO)、図30に示すように、端末装置2のCPU40は、押下されたボタンがサーバ保存ボタンC3なのか、あるいは終了ボタンC5なのかを判断する(S400)。端末装置2のCPU40は、終了ボタンC5が押下されたと判断した場合には(S400:NO)、処理を終了させる。
端末装置2のCPU40は、サーバ保存ボタンC3が押下されたと判断した場合には(S400:YES)、情報処理サーバ1に対して、一時的に保存しておいたスコア、プレー日、ゴルフ場IDと共に、スコアの保存処理要求を送信する(S401)。
スコアの保存処理要求及び各種の情報を受信した情報処理サーバ1のCPU30は、個人スコア情報テーブルTBL14に、識別情報UID、スコア、プレー日、及びゴルフ場ID等を記憶させる(S280)。そして、情報処理サーバ1のCPU30は、スコアの保存が完了したことを端末装置2に通知する(S281)。
スコア保存の完了通知を受信した端末装置2のCPU40は、図20に示す第4スコア確定画面P10をディスプレイ45に表示させる(S402)。終了ボタンC9が押下された場合には(S403:NO)、端末装置2のCPU40は、処理を終了させる。
コンペ対象確認ボタンC8が押下された場合には(S403:YES)、端末装置2のCPU40は、コンペ対象確認要求、コンペID、及びゴルフ場IDを情報処理サーバ1に送信する(S304)。
コンペ対象確認要求、コンペID、及びゴルフ場IDを受信した情報処理サーバ1のCPU30は、コンペ対象ゴルフ場テーブルTBL16を参照し、コンペ対象ゴルフ場テーブルTBL16に受信したゴルフ場IDが記憶されているかどうかの確認を行う(S282)。
コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていた場合には、情報処理サーバ1のCPU30は、コンペ開催時期情報テーブルTBL17を参照し、受信したコンペIDを含むレコードをコンペ開催時期情報テーブルTBL17から抽出する。情報処理サーバ1のCPU30は、抽出したレコードから開催日と終了日を読み取り、プレー日が開催日から終了日までの開催期間内に含まれるかどうかを判断する(S282)。情報処理サーバ1のCPU30は、プレー日が開催期間内に含まれると判断した場合には、当該ゴルフ場が、バーチャルコンペの対象となるゴルフ場であり、プレー日がバーチャルコンペの開催期間内であることを示す情報を端末装置2に送信する(S283)。
しかし、コンペ対象ゴルフ場テーブルTBL16に、受信したゴルフ場IDが記憶されていない場合、もしくは、プレー日が開催期間外である場合には、情報処理サーバ1のCPU30は、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないこと、もしくは、プレー日が開催期間外であることを示す情報を端末装置2に送信する(S283)。
端末装置2のCPU40は、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象となるゴルフ場ではないことを示す情報、または、プレー日が開催期間外であることを示す情報を受信した場合には(S405:NO)、ディスプレイ45に、プレーしたゴルフ場がバーチャルコンペの対象となるゴルフ場ではない旨、または、プレー日が開催期間外である旨のメッセージを表示させ(S409)、処理を終了させる。
一方、情報処理サーバ1から、当該ゴルフ場がバーチャルコンペの対象であり、プレー日が開催期間内であることを示す情報を受信した場合には(S405:YES)、端末装置2のCPU40は、ディスプレイ45に、図31に示す第5スコア確定画面P11を表示させる(S406)。
終了ボタンC11が押下された場合には(S407:NO)、端末装置2のCPU40は、処理を終了させる。しかし、コンペ参加登録ボタンC10が押下された場合には(S407:YES)、端末装置2のCPU40は、情報処理サーバ1に対して、ゴルフユーザの識別情報UIDと共に、バーチャルコンペへの参加登録処理要求を送信する(S408)。
バーチャルコンペへの参加登録処理要求を受信した情報処理サーバ1のCPU30は、コンペ情報テーブルTBL15に、新たにコンペIDを記憶させ、当該新たなコンペIDに関連付けてゴルフユーザの識別情報UIDを記憶させる(S284)。そして、情報処理サーバ1のCPU30は、コンペIDと共に、参加登録処理が完了した旨の通知を端末装置2に対して行う(S285)。
これ以降は、端末装置2のCPU40は、図29に示すステップS186〜S191に示す処理を行う、情報処理サーバ1のCPU30は、図29に示すステップS270〜S273に示す処理を行う。処理の詳細は上述した例と共通なので説明を省略する。
以上のように、本実施形態によれば、バーチャルコンペのスコア登録要求があった際に、当該ゴルフ場の予約が行われていたことが確認できた場合にのみ、バーチャルコンペのスコア登録を行うので、バーチャルコンペにおける不正なスコア登録を防ぐことができる。
<第3実施形態>
次に、図32を参照して第2実施形態について説明する。第1実施形態では、予約情報テーブルTBL13を情報処理サーバ1の記憶部15に格納する例について説明した。しかし、本実施形態では、予約情報テーブルTBL20を、各ゴルフ場のゴルフ場サーバ4の記憶部42に格納する構成が、第1実施形態と異なっている。
第1実施形態で説明した予約情報テーブルTBL13は、情報処理サーバ1で予約を管理している全てのゴルフ場の予約情報を記憶させたテーブルである。しかし、本実施形態の予約情報テーブルTBL20は、各ゴルフ場のゴルフ場サーバ4の記憶部42に格納されているので、当該のゴルフ場の予約情報だけが記憶されている。
本実施形態においては、情報処理サーバ1Aに通信部17を備え、ゴルフ場サーバ4と通信可能に構成されている。ゴルフ場サーバ4は、図2に示す情報処理サーバ1と同様の構成を有している。また、機能ブロックとしては、入力部40、表示部41、記憶部42を備えている。
本実施形態においても、バーチャルコンペのスコア登録要求があった際に、当該ゴルフ場の予約が行われていたかどうかを確認するが、この際、情報処理サーバ1Aは、ゴルフ場サーバ4と通信を行い、ゴルフ場サーバ4から送信された予約情報を受信する。そして、予約情報取得部11は、受信した予約情報を取得する。
その他の処理は、第1実施形態及び第2実施形態で説明した処理と共通なので、説明を省略する。本実施形態においても、バーチャルコンペのスコア登録要求があった際に、当該ゴルフ場の予約が行われていたことが確認できた場合にのみ、バーチャルコンペのスコア登録を行うので、バーチャルコンペにおける不正なスコア登録を防ぐことができる。
<変形例>
本発明は、上述した実施形態に限定されるものではなく、以下に述べる各種の変形が可能である。また、各変形例及び実施形態は、適宜、組み合わせてもよいことは勿論である。
<変形例1>
上述した各実施形態においては、バーチャルコンペの対象となるゴルフ場において、一度だけプレーを行ったスコアについて、バーチャルコンペのスコアとして登録するかどうかをゴルフユーザに選択させる例について説明した。
しかしながら、本発明はこのような例に限定されるものではなく、同一のゴルフユーザが、複数回、対象となるゴルフ場のいずれかでプレーしたスコアを、バーチャルコンペのスコアとして登録するようにしてもよい。
この場合には、新ペリア方式などの所定のスコア演算方式で演算して、良い方のスコアのみを記録するようにしてもよいし、複数回分のスコアを全て記録するようにしてもよい。複数回分のスコアを全て記録する場合には、コンペ情報テーブルTBL15において、スコア登録毎のIDを付与するようにしてもよい。
<変形例2>
上述した各実施形態及び各変形例では、情報処理サーバ1、1Aが提供するサービスとして、ゴルフに関するサービスを一例として説明したが、本発明はこれに限定されるものではなく、情報処理サーバ1、1Aはどのようなサービスを提供するものであってもよい。例えば、利用者同士の共通のテーマに基づいて、アプリケーション上で特定の関係を構築するすべてのものに適用できる。共通のテーマは、ランニング、バドミントン等のスポーツ、将棋、ゲームなどの趣味的なものであってもよいし、ビジネスに関するものあってもよい。
なお、本発明における機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することとしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。また、本発明における機能またはその一部を実現するためのプログラムを配信する配信サーバ及び当該配信サーバに備えられた記憶媒体、及び当該配信サーバの外部に存在し、当該プログラムを前記配信サーバにより配信するために記憶している記憶媒体も、本発明の範囲に含まれる。すなわち、例えばゴルフナビゲーションアプリケーションとして説明した機能またはその一部を実現するためのプログラムを配信するサーバも、本発明の範囲に含まれるものである。
また、上述した機能の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
なお、本発明は上述の実施形態及び変形例に限定されるものではなく、本発明の趣旨の範囲内での変更は本発明に含まれるものである。