(57)【特許請求の範囲】
【請求項１】
問題図に対する着手入力に対して応手を決定し、局面を更新しながらゲームを進行させるゲーム装置において、
着手を入力する着手入力手段と、
前記着手入力に対する応手を決定するために参照されるものであって、正解の手順に応じた応手と不正解の手順に応じた応手とを含む局面毎のデータを記憶するデータ記憶手段と、
前記着手入力手段によって入力された着手入力と現在局面に応じて、前記データ記憶手段に記憶されたデータを検索して着手入力に対する応手を示すデータを読み取る読み取り手段と、
前記読み取り手段によって読み取られたデータに応じて、局面を表す局面データを更新する局面処理手段と、
前記読み取り手段によって読み取られたデータに応じて、現在の局面を表す局面番号を記憶する現在局面番号記憶手段と、
前記局面処理手段によって更新された局面データをもとに局面を表示する局面表示手段とを具備し、
着手入力に応じて不正解の手順に応じた応手によってゲームを進行させることを特徴とするゲーム装置。
【請求項２】
前記データ記憶手段に記憶されるデータは、
一意に割り当てられた局面番号をもつ複数の局面のそれぞれに対応する応手群を含み、
各応手群には、
入力着手、この着手に対する応手、着手が正解であるか失敗であるかを示す結論若しくは応手後の局面を示す局面番号を表すデータを含む少なくとも１つの応手ペアデータが設けられたことを特徴とする請求項１記載のゲーム装置。
【請求項３】
前記読み取り手段は、
前記現在局面番号記憶手段に記憶されている現在の局面番号と同じ局面番号が割り当てられた応手群を対象として、前記着手入力手段により入力された着手に対応する入力着手が登録された応手ペアデータを読み出し、
前記局面処理手段は、
前記読み取り手段によって読み出された応手ペアデータの結論若しくは局面番号を表すデータが、結論が失敗を表す場合は局面データを更新し、応手後の局面を示す局面番号を表す場合は局面データを更新すると共に、この局面番号により前記現在局面番号記憶手段に記憶された局面番号を更新し、結論が正解の場合は局面データを更新しないことを特徴とする請求項２記載のゲーム装置。
【請求項４】
ゲーム装置とこのゲーム装置とネットワークを介して接続されるゲームサーバからなるゲームシステムにおいて、
ゲームサーバは、
前記ゲーム装置における着手入力に対する応手を決定するために参照されるものであって、正解の手順に応じた応手と不正解の手順に応じた応手とを含む局面毎のデータを記憶するデータ記憶手段を具備し、
ゲーム装置は、
前記ゲームサーバとネットワークを通じて通信を行う通信手段と、
着手を入力する着手入力手段と、
前記着手入力手段によって入力された着手入力と現在局面に応じて、前記通信手段を通じて、前記サーバ装置の前記データ記憶手段に記憶されたデータを検索して着手入力に対する応手を示すデータを読み取る読み取り手段と、
前記読み取り手段によって読み取られたデータに応じて、局面を表す局面データを更新する局面処理手段と、
前記読み取り手段によって読み取られたデータに応じて、現在の局面を表す局面番号を記憶する現在局面番号記憶手段と、
前記局面処理手段によって更新された局面データをもとに局面を表示する局面表示手段とを具備し、
着手入力に応じて不正解の手順に応じた応手によってゲームを進行させることを特徴とするゲームシステム。
【請求項５】
ゲーム装置とこのゲーム装置とネットワークを介して接続されるゲームサーバからなるゲームシステムにおいて、
ゲームサーバは、
前記ゲーム装置における着手入力に対する応手を決定するために参照されるものであって、正解の手順に応じた応手と不正解の手順に応じた応手とを含む局面毎のデータを記憶するデータ記憶手段と、
前記ゲーム装置とネットワークを通じて通信を行う第１通信手段と、
前記第１通信手段を通じて前記ゲーム装置における着手入力を受信し、この着手入力と現在局面に応じて、前記サーバ装置の前記データ記憶手段に記憶されたデータを検索して着手入力に対する応手を示すデータを読み取る読み取り手段と、
前記読み取り手段によって読み取られたデータに応じて、現在の局面を表す局面番号を記憶する現在局面番号記憶手段と、
前記読み取り手段によって読み取られたデータを前記第１通信手段を通じて前記ゲーム装置へ送信する第１送信手段とを具備し、
ゲーム装置は、
前記ゲームサーバとネットワークを通じて通信を行う第２通信手段と、
着手を入力する着手入力手段と、
前記着手入力手段によって入力された着手を前記第２通信手段を通じて前記ゲームサーバへ送信する第２送信手段と、
前記第２送信手段によって送信した着手に対して、前記ゲームサーバの前記第１送信手段によって送信されたデータを受信する受信手段と、
前記受信手段によって受信したデータに応じて、局面を表す局面データを更新する局面処理手段と、
前記局面処理手段によって更新された局面データをもとに局面を表示する局面表示手段とを具備し、
着手入力に応じて不正解の手順に応じた応手によってゲームを進行させることを特徴とするゲームシステム。
【請求項６】
ゲーム装置とこのゲーム装置とネットワークを介して接続されるゲームサーバからなるゲームシステムにおいて、
ゲームサーバは、
前記ゲーム装置における着手入力に対する応手を決定するために参照されるものであって、正解の手順に応じた応手と不正解の手順に応じた応手とを含む局面毎のデータを記憶するデータ記憶手段と、
前記ゲーム装置とネットワークを通じて通信を行う第１通信手段と、
前記第１通信手段を通じて前記ゲーム装置における着手入力と局面番号を受信し、この着手入力及び局面番号に応じて、前記サーバ装置の前記データ記憶手段に記憶されたデータを検索して着手入力に対する応手を示すデータを読み取る読み取り手段と、
前記読み取り手段によって読み取られたデータに応じて、前記局面番号を更新する現在局面番号更新手段と、
前記読み取り手段によって読み取られたデータ及び前記現在局面番号更新手段によって更新された局面番号を前記第１通信手段を通じて前記ゲーム装置へ送信する第１送信手段とを具備し、
ゲーム装置は、
前記ゲームサーバとネットワークを通じて通信を行う第２通信手段と、
着手入力を入力する着手入力手段と、
前記着手入力手段によって入力された着手と前記現在局面番号記憶手段に記憶された局面番号を前記第２通信手段を通じて前記ゲームサーバへ送信する第２送信手段と、
前記第２送信手段によって送信した着手に対して、前記ゲームサーバの前記第１送信手段によって送信されたデータを受信する受信手段と、
前記受信手段によって受信したデータに応じて、局面を表す局面データを更新する局面処理手段と、
前記受信手段によって受信したデータに応じて、現在の局面を表す局面番号を記憶する現在局面番号記憶手段と、
前記局面処理手段によって更新された局面データをもとに局面を表示する局面表示手段とを具備し、
着手入力に応じて不正解の手順に応じた応手によってゲームを進行させることを特徴とするゲームシステム。
【請求項７】
問題図に対する着手入力に対して応手を決定し、局面を更新しながらゲームを進行させるコンピュータを、
着手を入力する着手入力手段と、
前記着手入力に対する応手を決定するために参照されるものであって、正解の手順に応じた応手と不正解の手順に応じた応手とを含む局面毎のデータを記憶するデータ記憶手段と、
前記着手入力手段によって入力された着手入力と現在局面に応じて、前記データ記憶手段に記憶されたデータを検索して着手入力に対する応手を示すデータを読み取る読み取り手段と、
前記読み取り手段によって読み取られたデータに応じて、局面を表す局面データを更新する局面処理手段と、
前記読み取り手段によって読み取られたデータに応じて、現在の局面を表す局面番号を記憶する現在局面番号記憶手段と、
前記局面処理手段によって更新された局面データをもとに局面を表示する局面表示手段として機能させるためのゲームプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、囲碁、将棋、チェス等の対戦型ゲームを行うゲーム装置、このゲーム装置に対してゲームサービスを提供するゲームサーバとゲーム装置からなるゲームシステム、及びゲームプログラムに関する。
【０００２】
【従来の技術】
従来、囲碁、将棋、チェス等の対戦ゲームを行うゲーム装置、若しくはゲームプログラム（以下、「ゲームソフト等」という）としては、１人で棋譜データを入力して局面を表示させて検討するもの、ゲームソフト等が思考ルーチンを搭載していて、ゲームの着手を考えて人間の相手をするもの、通信によって離れた所にいる人同士で対局するものなど各種のものがあった。
【０００３】
これらの対戦型ゲームにおいては、人対人、若しくは人対コンピュータの組み合わせで、初手から開始して勝敗が決するまでゲームを行う、いわゆる「対局」という楽しみ方の他に、詰碁や詰将棋等の問題を考えて解く「詰め物」という楽しみ方があることは広く知られているところである。従来のゲームソフト等においても、この「詰め物」の機能を有するものが数多く提供されている。
【０００４】
この「詰め物」の機能を有する従来のゲームソフト等には、以下のような種類（１）〜（４）がある。
【０００５】
（１）単に問題図を表示し、ユーザがそれを見ながら問題の解答を考え、所定の操作を行うと正解手順が表示され、それを見て正解と自己の解答を照合するもの。
【０００６】
（２）問題図が表示され、ユーザが着手を入力できるようになっており、実際に盤に並べてみながら考えることができるようになっているもの。
【０００７】
（３）予め、ゲームソフト等に正解手順が登録されていて、ユーザが着手を入力すると、正解手順の場合はコンピュータが応手をして、結論が明確になるまで着手を続けるように要求し、一方正解手順でない場合は、誤り（失敗）である旨を表示するようになっているもの。
【０００８】
（４）ユーザが着手を入力すると、予めゲームソフト等に搭載された、ゲームの着手を思考して決定する思考ルーチンによって応手を決定し、ユーザの着手が正解手順でない場合でもコンピュータが応手をしてくれるもの。
【０００９】
【発明が解決しようとする課題】
しかしながら、以上の従来技術によれば、次のような問題点（ａ）〜（ｆ）がある。
（ａ）詰碁、詰将棋などを解いて楽しむことのできるゲームソフト等で、人間の着手に対して応手をしないタイプのものでは、単に本を見て問題を解答するのと何ら変わりがない。
【００１０】
（ｂ）また、正解手順に対しての応手のみではユーザの棋力向上に不適である。
【００１１】
（ｃ）ユーザの着手が失敗であった場合、その着手に対して、一手のみ応手をしただけでは、ユーザが「なぜその手が間違いであるのか」を明確に理解できない場合がある。ただし、「なぜその手が間違いであるのかを明確に理解できる局面」というのは、当該ユーザの棋力によって異なっていて、棋力の高い者であれば「失敗」であると明確に理解できるが、棋力の低い者にとっては、「失敗」であるとがまだ明確に理解できない局面が存在すると考えられるからである。従って、ユーザの着手が正解でなかった場合でも、「その手が間違いである」ことが棋力の低い者にとっても明確に解る局面になるまで応手を続けることができない。
【００１２】
（ｄ）また、ユーザの着手が失敗であった場合、直ちに当該着手が不正解であった旨を表示してしまうと、当該着手以降の手順を全く考えていなくても、くじびきのように当てずっぽうに着手をする事で、消去法的に正解手順を見つけてしまうことができ、ユーザの棋力向上に全く寄与しないおそれがある。
【００１３】
（ｅ）ゲームソフト等の思考ルーチンは、ゲームの種類によっては人間の能力を超えるものが存在するものの、特に囲碁や将棋のように、ゲームの変化が多岐にわたるようなゲームでは、未だ人間のアマチュアレベルに甘んじているというのが現状である。従って、思考ルーチンを有し、ユーザの着手に対する応手を毎回「思考」して決定するようなタイプのゲームソフト等においては、応手できる問題の難易度が限定されてしまい、特に、上級者にとっては、これらのゲームソフト等は非常に物足りないものであった。
【００１４】
（ｆ）また、従来のゲームソフト等では、たとえばＣＤ−ＲＯＭ等の記録媒体に、コンピュータをゲーム装置として動作させるためのプログラム、及び、詰碁、詰将棋などの問題のデータが記録されている、という構成が採用されていた。しかし、このような構成では、ユーザが楽しむことのできる問題は、当該記録媒体に記録されている問題に限られてしまうという問題があった。
【００１５】
本発明は、前記のような問題に鑑みてなされたもので、ゲームの「詰め物」においてユーザの棋力向上を図るように応手することが可能なゲーム装置、ゲームシステム、及びゲームプログラムを提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明は、問題図に対する着手入力に対して応手を決定し、局面を更新しながらゲームを進行させるゲーム装置において、着手を入力する着手入力手段と、前記着手入力に対する応手を決定するために参照されるものであって、正解の手順に応じた応手と不正解の手順に応じた応手とを含む局面毎のデータを記憶するデータ記憶手段と、前記着手入力手段によって入力された着手入力と現在局面に応じて、前記データ記憶手段に記憶されたデータを検索して着手入力に対する応手を示すデータを読み取る読み取り手段と、前記読み取り手段によって読み取られたデータに応じて、局面を表す局面データを更新する局面処理手段と、前記読み取り手段によって読み取られたデータに応じて、現在の局面を表す局面番号を記憶する現在局面番号記憶手段と、前記局面処理手段によって更新された局面データをもとに局面を表示する局面表示手段とを具備し、着手入力に応じて不正解の手順に応じた応手によってゲームを進行させることを特徴とする。
【００１８】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本実施形態におけるゲーム装置１０の構成を示すブロック図である。本実施形態におけるゲーム装置１０は、各種の記録媒体に記録されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されるコンピュータの機能が搭載されて構成されるもので、ゲーム専用端末、ＰＤＡ（personal digital assistant）、携帯電話、ＰＨＳ（personal handyphone system）端末、パーソナルコンピュータなどによって実現される。本実施形態におけるゲーム装置１０では、囲碁、将棋、チェス等のゲームにおける「詰め物」の機能を提供する。以下の説明では、囲碁ゲームの「詰め物」、すなわち詰碁を実施できる機能を提供する場合について説明する。
【００１９】
図１に示すように、ゲーム装置１０は、ＣＰＵ２０がメモリ２２、記録媒体読取部２３、通信制御部２４、表示部２５、及び入力部２６と相互に接続されている。
【００２０】
ＣＰＵ２０は、ゲーム装置１０全体の制御を司るもので、メモリ２２に記録されたプログラムを実行することにより各種の処理を実行する。ＣＰＵ２０は、メモリ２２に記録されたゲームプログラム２２ａを実行することにより、後述する各種機能を実現することができる。
【００２１】
メモリ２２は、ＣＰＵ２０によってアクセスされるプログラムやデータの情報が記録媒体２３ａから読み出されるなどして必要に応じて記録されるもので、本実施形態では例えばゲームプログラム２２などの各種プログラムや、各プログラムを実行する際に用いられる各種データの他、作業用のデータを一時的に記録するためのワークエリアなどが設定される。ゲームプログラム２２ａの実行に伴って入力されるデータには、ゲームの「詰め物」を提供するためのデータ（後述する問題図データ３４ａ、応手群データ３４ｂ）が含まれる。なお、図１に示すメモリ２２は、ある時点において記録されるプログラムやデータを示すものであり、当面必要のないプログラムやデータは記録媒体２３ａに格納されているものとする。
【００２２】
記録媒体読取部２３は、記録媒体２３ａを有しており、記録媒体２３ａに対するプログラム、データ等の記録や読み出しを実行する。記録媒体２３ａは磁気的、光学的記録媒体、もしくは半導体メモリで構成され、記録媒体読取部２３に固定的に設けたもの、もしくは着脱自在に装着するものである。また、記録媒体２３ａに記録されるプログラム、データ等は、通信回線等を介して接続された他の機器から受信して記録する構成にしても良く、さらに、通信回線等を介して接続された他の機器側に記録媒体を備えた記録装置を設け、この記録媒体に記録されているプログラムやデータを、通信回線を介して使用する構成にしても良い。記録媒体読取部２３は、記録媒体２３ａに対して各種プログラムによって使用される各種のデータ等も記録し、必要に応じて読み出してメモリ２２に記録させることができる。
【００２３】
通信制御部２４は、ＣＰＵ２０の制御のもとでネットワークを介した他の電子機器（後述するゲームサーバ２９など）との通信を制御する。
表示部２５は、各種情報を表示するためのもので、メモリ２２に格納された各種プログラムの実行に伴う画面を表示する。
入力部２６は、データや各種の指示を所定の入力操作によって入力するための各種入力デバイスを含む。入力部２６は、ゲーム装置１０がパーソナルコンピュータにより実現される場合にはキーボードやマウスなどのポインティングデバイス、ＰＤＡにより実現される場合にはペン入力が可能なタブレット、携帯電話やＰＨＳ端末などにより実件される場合には各種ボタンに対する入力操作によりデータを入力する。
【００２４】
次に、第１実施形態におけるゲーム装置１０について説明する。
図２は、図１に示すシステム構成によって実現される、第１実施形態におけるゲーム装置１０の機能構成を示すブロック図である。
【００２５】
図２に示すように、ゲーム装置１０は、局面処理部３０、データ読み取り部３２、データ記憶部３４、局面記憶部３６、局面表示部４０、着手入力部４２、及び現在局面番号記憶部４４の機能を含んでいる。
【００２６】
局面処理部３０は、ゲームの「詰め物」（詰碁）の機能を提供するための制御をするもので、着手入力部４２から入力される着手データに応じて、データ読み取り部３２によって読み取られたデータをもとに、局面記憶部３６に記憶される局面データを更新して、局面表示部４０によって局面を表示させる。
【００２７】
データ読み取り部３２は、データ記憶部３４に記憶されたゲームを実現するために必要なデータを読み取るもので、問題図データ読み取り部３２ａ、応手群データ検索部３２ｂ、応手読み取り部３２ｃ、及び応手後局面番号読み取り部３２ｄを含んでいる。問題図データ読み取り部３２ａは、データ記憶部３４に記憶された問題図データ３４ａ（詳細については後述する）の読み取りを行う。応手群データ検索部３２ｂは、着手入力部４２によって入力された着手データに対する応手を決定するために、データ記憶部３４に記憶された応手群データ３４ｂ（詳細については後述する）から着手に対する応手ペアデータを検索する。応手読み取り部３２ｃは、応手群データ検索部３２ｂによって検索された応手ペアデータを応手群データ３４ｂから読み取る。応手後局面番号読み取り部３２ｄは、応手読み取り部３２ｃによって読み取られた応手ペアデータから、応手後の局面を表す局面番号を読み取る。
【００２８】
データ記憶部３４は、ゲームを実現するために必要なデータ（図１中のゲームデータ２２ｂに該当）を記憶するもので、問題図データ３４ａ、応手群データ３４ｂを含んでいる。問題図データ３４ａは、詰碁の問題図の局面を表すデータであり、例えば図３に示すように、ある局面に存在する各石（ゲーム要素）のデータ（白石／黒石の何れかを示す石種類データと、盤面上の石の位置を示す座標データ）が含まれている。応手群データ３４ｂは、ある局面における種々の着手に対する応手に関するデータであり、例えば図４に示すように、局面番号（１，２，３，４，…）を示す局面マーキングデータ（局面番号データ）３４ｂ２のそれぞれに対応して、着手（座標データ）、応手（座標データ）、及び応手後の局面番号若しくは結論（「失敗」「正解」）を表すデータからなる少なくとも１つの応手ペアデータ３４ｂ１が含まれている。応手群データ３４ｂのデータ構成により、正解の手順に応じた応手と不正解の手順に応じた応手とを用意する。なお、データ記憶部３４に記憶される問題図データ３４ａ、応手群データ３４ｂは、後述するデータ作成装置によって作成されているものとする。
【００２９】
局面記憶部３６は、データ読み取り部３２によって読み取られたデータをもとに、着手入力部４２から入力される着手データに従って更新される局面データが記憶される。
【００３０】
局面表示部４０は、局面記憶部３６に記憶された局面データをもとに、現在の局面を表す盤面表示を行う。
【００３１】
着手入力部４２は、ユーザの入力デバイスに対する操作に応じた着手を示す着手データを入力する。
【００３２】
現在局面番号記憶部４４は、局面表示部４０によって表示されている現在の局面を示す局面番号を記憶するもので、着手入力部４２から入力された着手データに応じて、データ読み取り部３２（応手後局面番号読み取り部３２ｄ）により読み取られた応手後の局面番号によって更新される。
【００３３】
次に、第１実施形態における動作について、図５に示すフローチャートを参照しながら説明する。
まず、詰碁の実行が指示されると、局面処理部３０は、問題図データ読み取り部３２ａによってデータ記憶部３４に記憶された問題図データ３４ａを読み出させ、この問題図データ３４ａをもとにした局面データを局面記憶部３６に記憶する（ステップＡ１）。局面表示部４０は、局面記憶部３６に記憶された局面データをもとにして、詰碁の問題を表す局面を表示してユーザに提示する（ステップＡ２）。
【００３４】
また、この時に、局面処理部３０は、現在局面番号記憶部４４に記憶された現在の局面番号を、問題図を表す番号（リストの先頭：通常０や１などの場合が多い）に初期化する（ステップＡ３）。
【００３５】
ユーザは、局面表示部４０に表示された局面（問題図）による詰碁問題を考え、正解と思われる手順の最初の一手を入力デバイスを操作することにより入力する。着手入力部４２は、このユーザによって入力された着手を表す着手データを入力する（ステップＡ４）。
【００３６】
応手群データ検索部３２ｂは、着手入力部４２から入力された着手データに応じて、データ記憶部３４の応手群データ３４ｂを検索し、現在局面番号記憶部４４に記憶された現在の局面番号に対応する応手群データからユーザの着手に対する応手が記録された応手ペアデータを取得する（ステップＡ５）。
【００３７】
応手読み取り部３２ｃは、応手群データ検索部３２ｂによって取得された応手ペアデータから応手データを取得し、応手後局面番号読み取り部３２ｄは、応手ペアデータから応手後の局面番号若しくは結論のデータを読み出す。
【００３８】
そして、局面処理部３０は、着手データに応じて応手ペアデータから読み出された応手後の局面番号、若しくは結論（「正解」「失敗」）のデータに応じて以下のように動作する。
【００３９】
結論データとして「正解」である旨が読み出された場合（ステップＡ６）、局面処理部３０は、詰めが完了した状態であり応手ペアデータ３４ｂ１に応手データが用意されていないので、応手をせずに正解である旨を表示する（ステップＡ１１）。この場合、例えば、次の問題に進むなどの処理に移行する。
【００４０】
結論データとして「正解」が読み出されない場合（局面番号または結論「失敗」が読み出された場合）（ステップＡ６）、局面処理部３０は、局面記憶部３６に記憶された局面データを応手データに応じて更新（応手の着手を表す石を追加）する。局面表示部４０は、局面記憶部３６に記憶された応手に応じた局面データをもとに、応手後の局面を表示する（ステップＡ７）。
【００４１】
ここで、結論データとして「失敗」である旨が読み出された場合（ステップＡ８）、局面処理部３０は、失敗である旨を表示する（ステップＡ１０）。この場合、例えば、今回の問題図データ３４ａを対象として最初の処理に戻り、再挑戦させるための処理に移行する。
【００４２】
また、結論データとして「失敗」ではなく、局面番号が読み出された場合（ステップＡ８）、局面処理部３０は、現在局面番号記憶部４４に記憶している現在の局面番号を応手ペアデータから読み出された局面番号（局面マーキングデータ３４ｂ２）に更新し（ステップＡ９）、ユーザからの次の着手の入力待ち状態となる（ステップＡ４）。
【００４３】
以下、前述と同様にして、着手入力部４２から入力される着手データに応じて応手群データ３４ｂを検索して、該当する応手ペアデータから読み出される応手後の局面番号、若しくは結論のデータに応じた処理を実行する。
【００４４】
着手入力部４２から入力される着手データに応じて、応手ペアデータから結論データ（「失敗」または「成功」）が読み出されず、局面番号が読み出される場合には、順次、局面番号が示す局面の着手に応じた応手ペアデータが読み出され、最終的に「正解」または「失敗」の結論データが読み出されるまで局面の提示が継続されることになる。
【００４５】
具体的には、例えば、現在局面番号記憶部４４に記憶された現在局面番号が「局面１」である場合には、（２，１）の着手を示す着手データが入力された場合、局面マーキングデータ３４ｂ２が「局面１」の応手ペアデータ３４ｂ１から着手（２，１）を検索する。着手（２，１）に対しては、応手（２，３）が設定されているので、この応手（２，３）に応じて局面データを更新し、応手後の局面を表示する。また、この応手ペアデータには、結論ではなく局面番号「局面２」が設定されているので、応手後局面番号として「局面２」を現在局面番号記憶部４４に記憶する。この場合、次に入力される着手データに対しては、局面マーキングデータ３４ｂ２が「局面２」の応手ペアデータ３４ｂ１を対象として、着手に応じた応手（結論データが「正解」でない場合）、及び応手後の局面番号若しくは結論のデータを読み出し、同様の処理を実行する。
【００４６】
このように、第１実施形態における応手群データ３４ｂには、図４に示すように、応手ペアデータ３４ｂ１において、結論データとして「正解」が設定されている応手ペアデータ以外の全てについて結論データとして「失敗」が設定されていない。すなわち、図４に示すようなデータ構造を持つ応手群データ３４ｂとすることで、正解の手順に応じた応手と不正解の手順に応じた応手とを用意することができる。従って、正解手順に対しての応手のみでなく、失敗手順に対しても応手をすることができ、ユーザが誤った着手をした場合でも直ちに失敗として打ち切ってしまうのではなく、その後の変化手順について応手をしていき、ユーザが「なぜその手が間違いであるのか」を明確に理解できるようにすることができる。
【００４７】
すなわち、ユーザの着手が失敗であった場合、直ちに着手が不正解であった旨を表示するなどしてしまうと、着手以降の手順を全く考えていなくても、くじびきのように当てずっぽうに着手をする事で、消去法的に正解手順を見つけてしまうことができ、ユーザの棋力向上に全く寄与しないおそれがあるが、本発明に係るデータ構造を有する応手群データ３４ｂを使用することによって、失敗手順であっても、直ちにその手が失敗であったことを示さずに応手を続けるようにすることができ、最終的にユーザが「この手順は失敗であった」という事には気付いても、「どの手が失敗であったか」は必ずしも明確に解らないため、再度解答するにあたって「どの手が失敗であったか」を良く考えることが必要となり、結果的にユーザの棋力向上に有効な機能を提供することができる。
【００４８】
さらに、本実施形態における応手群データ３４ｂであれば、ゲームソフト等に搭載されている思考ルーチン（その時点の最高水準の思考ルーチンとは限らず、処理速度やコスト等の制約を受ける場合もあるし、一方、囲碁のように、最高水準のものを搭載してもなお及ばないレベルの問題も存在する）よりも難易度の高い問題についても、コンピュータが人間の着手に対して正しく応手を返すようにコンピュータ等を動作させることのできるデータを構成することができる。
【００４９】
次に、第２実施形態におけるゲーム装置１０（１０ａ，１０ｂ，１０ｃ）とゲームサーバ２９からなるゲームシステムについて説明する。
図６は、第２実施形態におけるシステム構成を示すブロック図である。図６に示すように、第２実施形態は、ゲーム装置１０が、公衆電話網、ＬＡＮ、インターネットなどからなるネットワーク２７を通じてゲームサーバ２９と接続し、ゲームを実施するために必要な情報を通信によって相互に送受信することができるようにした構成である。なお、ゲームサーバ２９は、図１に示すゲーム装置１０のシステム構成と同様にして、コンピュータを実現することができる機能を有しているものとする。ただし、ゲームプログラム２２ａは、ゲーム装置１０用とゲームサーバ２９用が提供され、それぞれにおいて実行実行されるものとする。
【００５０】
図７は、図１及び図６に示すシステム構成によって実現される、第２実施形態におけるゲーム装置１０（１台）とゲームサーバ２９（ゲームシステム）の機能構成を示すブロック図である。なお、図７において、図２に示す各機能ブロックと基本的に同等の機能を有するブロックについては、同一符号を付して詳細な説明を省略する。
【００５１】
図７に示すように、ゲーム装置１０は、局面処理部３０、データ読み取り部３２、データ記憶部３４、局面記憶部３６、局面表示部４０、着手入力部４２、現在局面番号記憶部４４、及び通信部４６を含んでいる。また、ゲームサーバ２９は、通信部４８、データ処理部５０、及びデータ記憶部３４を含んでいる。
【００５２】
通信部４６は、ネットワーク２７を通じてゲームサーバ２９の通信部４８と接続し、通信によってゲームを実行するためのデータやコマンド（データ読み取り要求等）の送受信を実行する。通信部４６は、データ読み取り部３２がゲームサーバ２９のデータ記憶部３４に記憶さけれたデータに対するデータ読み取りを行う場合に、ゲームサーバ２９との間でデータ読み取り処理を仲介する。
【００５３】
ゲームサーバ２９の通信部４８は、ネットワーク２７を通じてゲーム装置１０の通信部４６と接続し、通信によってゲームを実行するためのデータやコマンドの送受信を実行する。
【００５４】
データ処理部５０は、通信部４８を通じて受信した、ゲーム装置１０のデータ読み取り部３２による読み取り要求に応じたデータ記憶部３４に対する処理を実行する。
【００５５】
第２実施形態におけるシステムは、ゲーム装置１０（１０ａ，１０ｂ，１０ｃ）のそれぞれに、問題図データ３４ａ及び応手群データ３４ｂを設けていない。従って、ゲーム装置１０は、詰碁の実行が指示された場合、まずネットワーク２７を介してゲームサーバ２９と接続する。その後、第１実施形態と同様の動作を実行する。すなわち、ゲーム装置１０は、データ読み取り部３２により通信部４６を通じて、ゲームサーバ２９のデータ記憶部３４に記憶された問題図データ３４ａ及び応手群データ３４ｂを読み出し、そのデータをもとにしてゲーム装置１０において詰碁を実行する。
【００５６】
このようにして、ネットワーク２７を介して接続可能なゲームサーバ２９にデータ記憶部３４を用意することによって、ゲーム装置１０で用意されているゲームプログラム２２ａを一切変更することなく、ゲームサーバ２９のデータ記憶部３４に記憶された問題図データ３４ａあるいは応手群データ３４ｂを変更するだけで、常に新規な詰碁問題のコンテンツを提供することができるようになる。従って、ゲームサーバ２９で用意するコンテンツのみを変更することにより、ユーザがプログラム等を入手した当初に提供されていた問題に限らず、常に新しい問題を提供することができ、また、各ユーザの棋力に応じた問題を提供するなどの動作をするシステムを構築することができる。
【００５７】
次に、第３実施形態におけるゲーム装置１０（１０ａ，１０ｂ，１０ｃ）とゲームサーバ２９からなるゲームシステムについて説明する。
第３実施形態は、第２実施形態と同様に、ゲーム装置１０がネットワーク２７を通じてゲームサーバ２９と接続し、ゲームを実施するために必要な情報を通信によって相互に送受信することができるようにした構成である。
【００５８】
図８は、図１及び図６に示すシステム構成によって実現される、第３実施形態におけるゲーム装置１０（１台）とゲームサーバ２９の機能構成を示すブロック図である。なお、図８において、図２に示す各機能ブロックと基本的に同等の機能を有するブロックについては、同一符号を付して詳細な説明を省略する。
【００５９】
図８に示すように、ゲーム装置１０は、データ処理部５２、局面記憶部３６、局面表示部４０、着手入力部４２、及び通信部４６を含んでいる。また、ゲームサーバ２９は、局面処理部５４、通信部４８、現在局面番号記憶部４４、データ読み取り部３２、及びデータ記憶部３４を含んでいる。第３実施形態では、第２実施形態と比較して、データ記憶部３４だけではなく、データ読み取り部３２及び現在局面番号記憶部４４をゲームサーバ２９側に設けるように構成したものである。
【００６０】
ゲーム装置１０のデータ処理部５２は、着手入力部４２により入力された着手データを通信部４６からゲームサーバ２９に送信し、また着手データの送信に対してゲームサーバ２９から送信されてくる応手と結論のデータを受信して、局面記憶部３６を更新して局面を表示させる。第３実施形態のゲーム装置１０では、負担の比較的重い処理を実行せず、着手データのゲームサーバ２９への送信と着手に応じた結果を受信して、その結果を表示する処理のみを実行する。
【００６１】
ゲームサーバ２９の局面処理部５４は、通信部４８を通じてゲーム装置１０から受信した着手データに応じて、データ読み取り部３２によって読み取られたデータをもとに、ゲーム装置１０において入力された着手に対する応手／結論のデータを取得して、通信部４８を通じてゲーム装置１０に送信する。また、局面処理部５４は、着手に応じてデータ読み取り部３２（応手後局面番号読み取り部３２ｄ）によって読み取られた応手後局面番号に応じて、現在局面番号記憶部４４を更新する。
【００６２】
次に、第３実施形態におけるゲーム装置１０とゲームサーバ２９の動作について、図９に示すフローチャートを参照しながら説明する。
【００６３】
まず、詰碁の実行が指示されると、データ処理部５２は、通信部４６を通じてゲームサーバ２９と接続し、ゲームサーバ２９から問題図データを読み込む（ステップＢ１）。すなわち、データ処理部５２は、通信部４６を通じてゲームサーバ２９に対して問題図データの読み込み要求を送信する。ゲームサーバ２９の局面処理部５４は、通信部４８を通じてＣＰＵ２０から問題図データの読み込み要求を受信すると、問題図データ読み取り部３２ａによってデータ記憶部３４に記憶された問題図データ３４ａを読み出させ、この問題図データ３４ａをゲーム装置１０に対して返信する。
【００６４】
ゲーム装置１０のデータ処理部５２は、ゲームサーバ２９から問題図データを受信すると局面記憶部３６に記憶させる。局面表示部４０は、局面記憶部３６に記憶された局面データをもとにして、詰碁の問題を表す局面を表示してユーザに提示する（ステップＢ２）。
【００６５】
一方、ゲームサーバ２９の局面処理部５４は、現在局面番号記憶部４４に記憶された現在の局面番号を、問題図を表す番号に初期化する（ステップＣ０）。
【００６６】
ゲーム装置１０のユーザは、局面表示部４０に表示された局面（問題図）による詰碁問題を考え、正解と思われる手順の最初の一手を入力デバイスを操作することにより入力する。着手入力部４２は、このユーザによって入力された着手を表す着手データを入力する（ステップＢ４）。データ処理部５２は、着手入力部４２から着手データを入力すると、通信部４６を通じてゲームサーバ２９に送信する（ステップＢ５）。
【００６７】
局面処理部５４は、ゲーム装置１０から着手データを受信すると（ステップＣ１）、この着手データに応じたデータ記憶部３４に対するデータの検索を指示する。応手群データ検索部３２ｂは、ゲーム装置１０から受信した着手データに応じて、データ記憶部３４の応手群データ３４ｂを検索し、現在局面番号記憶部４４に記憶された現在の局面番号に対応する応手群データからユーザの着手に対する応手が記録された応手ペアデータを取得する（ステップＣ２）。
【００６８】
応手読み取り部３２ｃは、応手群データ検索部３２ｂによって取得された応手ペアデータから応手データを取得し、応手後局面番号読み取り部３２ｄは、応手ペアデータから応手後の局面番号若しくは結論のデータを読み出す。
【００６９】
そして、局面処理部５４は、着手データに応じて応手ペアデータから読み出された応手後の局面番号、若しくは結論のデータ（「正解」「失敗」）によって以下のように動作する。
【００７０】
結論データとして「正解」である旨が読み出された場合（ステップＣ３）、局面処理部５４は、詰めが完了した状態であり応手ペアデータ３４ｂ１に応手データが用意されていないので、無効データを通信部４８からゲーム装置１０に対して送信する（ステップＣ８）。なお、無効データを送信するのではなく、着手データに対する応答を何も送信しないようにしても良い。
【００７１】
結論データとして「失敗」が読み出された場合（ステップＣ３）、局面処理部５４は、「失敗」を表す結論データを通信部４８からゲーム装置１０に対して送信する（ステップＣ７）。また、局面処理部５４は、応手ペアデータ３４ｂ１から読み出された応手データをゲーム装置１０に送信する（ステップＣ６）。
【００７２】
また、結論データとして「失敗」ではなく、局面番号が読み出された場合（ステップＣ４）、局面処理部５４は、現在局面番号記憶部４４に記憶している現在の局面番号を応手ペアデータから読み出された局面番号（局面マーキングデータ３４ｂ２）に更新し（ステップＣ５）、応手ペアデータ３４ｂ１から読み出された応手データをゲーム装置１０に送信する（ステップＣ６）。
【００７３】
一方、ゲーム装置１０のデータ処理部５２は、着手データをゲームサーバ２９に送信することに対して、無効データを受信した場合（あるいは応答が所定時間なかった場合）、すなわち着手が「正解」であることを表す結論データを受信した場合には（ステップＢ６，Ｂ７）、詰めが完了した状態であるので、応手をせずに正解である旨を表示する（ステップＢ１１）。この場合、例えば、次の問題に進むなどの処理に移行する。
【００７４】
また、データ処理部５２は、応手データを受信した場合（ステップＢ６，Ｂ７）、局面記憶部３６に記憶された局面データを応手データに応じて更新（応手の着手を表す石を追加）する。局面表示部４０は、局面記憶部３６に記憶された応手に応じた局面データをもとに、応手後の局面を表示する（ステップＢ８）。
【００７５】
ここで、「失敗」を表す結論データを受信している場合（ステップＢ９）、データ処理部５２は、失敗である旨を表示する（ステップＢ１０）。この場合、例えば、今回の問題図データ３４ａを対象として最初の処理に戻り、再挑戦させるための処理に移行する。
【００７６】
また、「失敗」を表す結論データを受信していない場合には（ステップＢ９）、データ処理部５２は、ユーザからの次の着手の入力待ち状態となる（ステップＢ４）。
【００７７】
以下、前述と同様にして、データ処理部５２は、着手入力部４２から着手データを入力するとゲームサーバ２９に送信し、この着手データの送信に対してゲームサーバ２９から受信する応手／結論のデータに応じた処理を実行する。
【００７８】
このようにして、ゲーム装置１０のハードウェア資源が極めて限られていて、思考ルーチンを搭載したり、応手群データを記憶したり、検索処理したりするようなことが困難である場合にも、ゲーム装置１０において第１実施形態と同様な動作を実行させることができる。さらに、実施形態２と同様にして、ゲームサーバ２９のデータ記憶部３４に記憶されたデータのみを変更することによって、問題を新たなものとすることのできる。第３実施形態の構成は、特に、携帯電話、ＰＨＳ端末、ＰＤＡのようなハードウェア資源の限られたシステムにおいて特に有効なものである。
【００７９】
次に、第４実施形態におけるゲーム装置１０（１０ａ，１０ｂ，１０ｃ）とゲームサーバ２９からなるゲームシステムについて説明する。
第４実施形態は、第２実施形態と同様に、ゲーム装置１０がネットワーク２７を通じてゲームサーバ２９と接続し、ゲームを実施するために必要な情報を通信によって相互に送受信することができるようにした構成である。
【００８０】
図１０は、図１及び図６に示すシステム構成によって実現される、第４実施形態におけるゲーム装置１０（１台）とゲームサーバ２９の機能構成を示すブロック図である。なお、図１０において、図８に示す第３実施形態の各機能ブロックと基本的に同等の機能を有するブロックについては、同一符号を付して詳細な説明を省略する。
【００８１】
図１０に示すように、ゲーム装置１０は、データ処理部５２、局面記憶部３６、局面表示部４０、着手入力部４２、現在局面番号記憶部４４、及び通信部４６を含んでいる。また、ゲームサーバ２９は、局面処理部５４、通信部４８、データ読み取り部３２、及びデータ記憶部３４を含んでいる。第４実施形態では、第３実施形態と比較して、ゲームサーバ２９側にあった現在局面番号記憶部４４をゲーム装置１０側に設けた構成である。
【００８２】
ゲーム装置１０のデータ処理部５２は、着手入力部４２により着手データを入力した際に、着手データと共に現在局面番号記憶部４４に記憶された現在局面番号を通信部４６からゲームサーバ２９に送信し、また着手データの送信に対してゲームサーバ２９から送信されてくる応手／結論のデータまたは次局面番号のデータを受信して、局面記憶部３６を更新して局面を表示させると共に現在局面番号記憶部４４を更新する。第４実施形態のゲーム装置１０では、自装置における動作状況を管理するための現在局面番号を個々に管理する。
【００８３】
ゲームサーバ２９の局面処理部５４は、通信部４８を通じてゲーム装置１０から受信した着手データに応じて、データ読み取り部３２によって読み取られたデータをもとに、ゲーム装置１０において入力された着手に対する応手／結論または次局面番号のデータを取得して、通信部４８を通じてゲーム装置１０に送信する。
【００８４】
次に、第４実施形態におけるゲーム装置１０とゲームサーバ２９の動作について、図１１に示すフローチャートを参照しながら説明する。なお、第４実施形態における動作は、主要な処理動作については第３実施形態と同様にして実行されるものとして詳細な説明を省略し、現在局面番号をゲーム装置１０において管理する異なる処理動作について説明する。
【００８５】
詰碁の実行が指示された場合、データ処理部５２は、ゲームサーバ２９からの問題図データの読み込んで問題図を局面表示部４０によって表示させると共に（ステップＤ１，Ｄ２）、現在局面番号記憶部４４に記憶された現在の局面番号を初期化する（ステップＤ３）。
【００８６】
着手入力部４２によって着手データを入力すると（ステップＤ４）、データ処理部５２は、その着手データに加えて、現在局面番号記憶部４４に記憶されている現在局面番号を、通信部４６を介してゲームサーバ２９に送信する（ステップＤ５，Ｄ６）。
【００８７】
ゲームサーバ２９は、ゲーム装置１０から着手データと現在局面番号を受信すると（ステップＥ１）、データ読み取り部３２（応手群データ検索部３２ｂ）によって、受信した現在局面番号に対応する局面の応手群データ３４ｂを検索し、着手に対応する応手ペアデータを検索し（ステップＥ２）、この応手ペアデータから応手読み取り部３２ｃと応手後局面番号読み取り部３２ｄのそれぞれによって読み出された応手データ及び結論データをゲーム装置１０に送信する。
【００８８】
この際、局面処理部５４は、応手群データ検索部３２ｂより検索された応手ペアデータに設定されている結論データが「正解」「失敗」ではなく、次の局面番号が指定されている場合には（ステップＥ３，Ｅ４）、この応手ペアデータから読み出された次局面番号のデータを応手データと共にゲーム装置１０に対して送信する（ステップＥ５）。
【００８９】
ゲーム装置１０のデータ処理部５２は、ゲームサーバ２９からの受信に応じて第３実施形態と同様の処理を実行するが（ステップＤ６〜Ｄ１１）、次局面番号のデータを受信した場合には、この次局面番号のデータによって現在局面番号記憶部４４に記憶されている現在の局面番号を更新する（ステップＤ１２）。
【００９０】
このようにして、第４実施形態では、ゲームサーバ２９においてゲーム装置１０の現在の状況（現在局面番号）を管理している必要がないので、ゲーム装置１０が複数台となったとしても、現在局面番号についての管理によりゲームサーバ２９の負担が増大することがない。従って、１台のゲームサーバ２９で同時にサービスを提供することができるゲーム装置１０の台数を制限するいったことを回避できる。
【００９１】
また、ゲーム装置１０がそれぞれに固有の情報である現在の局面番号を記憶することによって、ゲームサーバ２９は単純に各ゲーム装置１０から送られてきた局面番号と着手データに応じて、応手データ等を返せば良いので、ゲームサーバ２９の負担を軽減することができ、また、非常に簡単な装置で実現可能となる。
【００９２】
さらに、ゲーム装置１０からある詰碁問題についての着手データをゲームサーバ２９に送信して、ゲームサーバ２９に応手を要求している場合であっても、同一の問題の途中で（例えば１手目と３手目で）別のゲームサーバ２９が応手を反しても全く問題なく動作させることができる。従って、ゲームサーバ２９を複数台設けたシステムとして、各ゲームサーバ２９の負荷に応じてゲーム装置１０からの要求を振り分けるといった運用も可能となる。
【００９３】
次に、本実施形態における第５実施形態について説明する。第５実施形態は、第１〜第４実施形態において用いたデータ記憶部３４に記憶されたデータを作成するためのデータ作成装置５８に関するものである。
【００９４】
前述した各実施形態で説明したように、図４に示すようなデータ構造を有する応手群データ３４ｂを用いると、正解手順に対しての応手のみでなく、失敗手順に対しても応手をし、また、ユーザが誤った着手をした場合にも、直ちに失敗として打ちきってしまうのではなく、その後の変化手順について応手をするように動作させることができるため、大変有効である。このようなデータ構造を有する応手群データ３４ｂは、正解手順以外の着手に対する応手を逐一データ化しなくてはならないが、第５実施形態におけるデータ作成装置５８を用いることで容易に作成できるようにする。
【００９５】
応手群データ３４ｂを人手によって作成するためには「順列組み合わせ」的に着手の順番を考えて、そのそれぞれについて変化手順のデータを作成するという作業が必要となってしまうが、人間がこのような作業を行うと、正解手順やそれに似た手についての変化は充分にデータ化できても、着手の候補範囲が広くなれば必ず抜けや漏れが生じてしまい、充分な応手を返すことができない。
【００９６】
また、ユーザの棋力レベルによって、「なぜその手が間違いであるか」が解る局面は異なっていると考えられるので（例えば、詰将棋では、初級者は、王手を掛けることが完全に不可能な局面になるまでの変化を示さないと、その手が間違いであったことに気付かないであろう）、プロ棋士がデータを作成すると、プロ棋士には当たり前な変化であっても初級者等には当たり前でないという場合が生じ、十分なデータを構築することができなくなってしまう。
データ作成装置５８は、こうした人手によって応手群データ３４ｂを作成した場合の問題に対応して、データ作成者の労力を軽減する機能を提供する。
【００９７】
図１２は、第５実施形態におけるデータ作成装置５８の構成を示すブロック図である。データ作成装置５８は、ゲームサーバ２９において実現されるものであっても良いし、ゲームサーバ２９とは別のコンピュータ２８によって実現することもできる。
【００９８】
図１２に示すように、データ作成装置５８は、データ作成制御部６０、入力部６２、局面記憶部６４、局面表示部６６、着手候補手テーブル６８、及びデータ記憶部７２を有している。
【００９９】
データ作成制御部６０は、入力部６２からの入力に応じて問題図データ７２ａと応手群データ７２ｂを作成するデータ作成処理の機能を制御するもので、応手群データ作成処理を実行して入力部６２からの入力に応じて応手群データを作成する応手群データ作成処理部６０ａを有している。さらに、応手群データ作成処理部６０ａは、応手群データ作成処理中において、応手としてとして選択可能な着手の候補を問題図やそれまでの応手に応じて検索して着手候補手テーブル６８に登録する着手候補手テーブル作成処理を実行する着手候補手テーブル作成部６０ａ１、着手候補手テーブル作成部６０ａ１による着手候補手の検索対象とする盤面上のエリアを入力部６２（着手候補手検索エリア入力６２ｄ）からの指示に応じて設定する着手候補手検索エリア指定処理部６０ａ２を有している。着手候補手テーブル作成部６０ａ１は、着手候補手検索エリア指定処理部６０ａ２によって盤面上において着手候補手検索エリアが指定されている場合には、この指定された着手候補手検索エリアを対象として着手の候補を検索する。
【０１００】
入力部６２は、ユーザの入力デバイスに対する操作に応じた、各状況における指示を入力するもので、問題図入力部６２ａ、応手入力部６２ｂ、結論入力部６２ｃ、着手候補手検索エリア入力部６２ｄを有している。問題図入力部６２ａは、問題図を作成するためのデータ（石の種類と配置位置）を入力する。応手入力部６２ｂは、着手候補手テーブル作成部６０ａ１によって着手候補手テーブル６８に登録された着手候補手を対象として応手を入力する。結論入力部６２ｃは、応手入力部６２ｂによって入力した応手、着手候補手テーブル６８に登録された着手候補手に対する結論（「正解」「失敗」）を入力する。着手候補手検索エリア入力部６２ｄは、着手候補手テーブル作成部６０ａ１による着手候補手の検索対象とする盤面上のエリアの指示を入力する。
【０１０１】
局面記憶部６４は、データ作成用の画面に関するデータがデータ作成制御部６０によって記憶される。局面記憶部６４に記憶されるデータには、問題図と応手を表す石が配置された盤面、応手群データ７２ｂのデータ構造、各種指示を入力するためのボタンなどに関するデータが含まれる。
【０１０２】
局面表示部６６は、局面記憶部６４に記憶されたデータをもとに、データ作成用の画面を表示する。局面表示部６６により表示されるデータ作成の画面の一例を図１７、図１８に示している（詳細については後述する）。
【０１０３】
着手候補手テーブル６８は、着手候補手テーブル作成部６０ａ１による着手候補手テーブル作成処理によって検索された着手候補手が登録される。
【０１０４】
データ記憶部７２は、データ作成制御部６０によって作成されるデータを記憶するもので、問題図データ７２ａ、応手群データ７２ｂを記憶する。なお、問題図データ７２ａ、応手群データ７２ｂは、図３及び図４にそれぞれ示す問題図データ３４ａと応手群データ３４ｂに該当する。
【０１０５】
次に、第５実施形態におけるデータ作成装置５８のデータ作成処理の動作について、図１３乃至図１４に示すフローチャートを参照しながら説明する。
【０１０６】
まず、データ作成処理の実行が指示されると、データ作成制御部６０は、データ作成用の画面を局面表示部６６によって表示させて問題図の入力を要求する（ステップＦ１）。この問題図の入力方法はゲームの種類によって異なる。
【０１０７】
例えば、囲碁の場合は、データ作成用の画面に盤面を表示し、黒石あるいは白石の何れかを画面上のボタンをクリックするあるいはキー操作により選択することにより指定させる。さらに、指定された石を盤面上に配置する位置をマウスでクリックする、あるいは矢印キーでカーソルを動かすなどして指定させる。データ作成制御部６０は、指定された位置に指定された黒石または白石を配置することで問題図を入力する。この作業が繰り返されることで問題図が作成される。
【０１０８】
こうして問題図が入力されると、データ作成制御部６０は、応手群データ作成処理部６０ａによって応手群データ作成処理を実行する（ステップＦ２）。
【０１０９】
「応手群データ」とは、既に定義したように、ある局面における種々の着手に対する応手ペアデータの集合である。従って、最初は、「問題図」の局面（最初の局面）に対する「応手群データ」の作成が開始されるということになる。
【０１１０】
まず、応手群データ作成処理部６０ａは、応手群データ作成処理が開始されると、作成された応手群データを記憶するためのメモリ領域（データ記憶部７２）を確保して初期化する。また、その問題の変化の各局面毎に一意となるような局面番号を割り当てる（ステップＧ１）。ここでは、「問題図」は最初の開始局面であるので、例えば局面番号１などの番号を割り当てる。
【０１１１】
次に、応手群データ作成処理部６０ａは、着手候補手テーブル作成部６０ａ１によって着手候補手テーブル作成処理を実行する（ステップＧ２）。
【０１１２】
図１４には、着手候補手テーブル作成処理のフローチャートを示している。着手候補手テーブル作成処理は、その局面において、「攻め方」の着手可能な手の一覧を全て検索して着手候補手テーブル６８に登録する処理である。着手候補手テーブル６８に登録された着手は、後続する処理において、データ作成者に提示して選択させることにより、データ作成を容易にするために利用される。ここで、「攻め方」とは先手側をいい、詰碁で「黒先白死」のような場合は黒をいう（なお、詰将棋ではいわゆる「攻め方」と「王方」のうちの「攻め方」をいう）。通常、詰碁ゲームや詰将棋ゲームでは、ユーザが「攻め方」をもつのが普通である。
【０１１３】
着手候補手テーブル作成処理では、まず、盤面上の座標（ｘ，ｙ）を初期化（ｘ＝１，ｙ＝１）し（ステップＨ１）、このｘとｙを、それぞれ１〜１９（１９路盤用のデータ作成時）に変化させることで盤面上の各座標位置を指定しながら（ステップＨ５〜Ｈ８）、その座標（ｘ，ｙ）の位置に石がなく（ステップＨ２）、その点に着手することが反則でない場合に（ステップＨ３）、この座標（ｘ，ｙ）に対する着手を着手候補として着手候補手テーブル６８に登録する（ステップＨ４）。（なお、将棋の場合は、盤面上の「攻め方」の駒若しくは持駒のうち何れか一つを選び、その駒が反則でなく進める位置、または着手可能な位置を検索し、それらの手を「着手候補手」として登録していくことで、同様にして着手候補を検索できる。）
着手候補手テーブル作成処理が完了すると、データ作成制御部６０は、着手候補手テーブル６８に登録された着手候補から一手を選択し、その着手候補を着手したことを表すように局面記憶部６４に記憶されたデータを更新して、着手後の局面を局面表示部６６によって表示させてデータ作成者に提示し、データ作成者からの着手に対する指示の入力待ち状態となる（ステップＧ３）。
【０１１４】
図１７には、データ作成制御部６０によって表示される入力待ち状態（応手入力待ち状態）におけるデータ作成画面の一例を示している。図１７に示すように、データ作成画面には、問題図と応手を表す石が配置された盤面、着手候補手テーブル６８に登録された着手候補とそれぞれの着手候補に対して入力された応手や結論の内容をツリー構造によって表すデータ構造（応手群データ７２ｂのデータ構造に該当する）、各種指示を入力するためのボタンなどが設けられている。
【０１１５】
着手候補の選択は、図１７に示すデータ作成画面の右側に表示されたデータ構造中でマウスなどによって指定することで行われる。
【０１１６】
各種指示を入力するためのボタンには、結論によってデータ作成者が異なる入力をすることができるように、複数のボタンが設けられている。例えば、結論が出たときに「正解」を指定するための「正解」ボタン、先に入力した応手を修正するための「２手前修正」ボタン、応手をパスすることを指示するための「パス」ボタン、着手候補がゲーム上あり得ない着手であることを指示するための「論外」ボタンなどが設けられている。
【０１１７】
ここで、着手候補が「正解」であるとして「正解」ボタンに対する指示があった場合（ステップＧ５）、応手群データ作成処理部６０ａは、結論入力部６２ｃから結論が「正解」である指示を入力し、局面記憶部６４を更新すると共に、応手を除いた「着手」と「結論＝正解」というデータのみの「応手ペアデータ」を作成して、現在の局面の「応手群データ」に記録し、次の着手候補手に処理を移す。
【０１１８】
一方、着手候補が正解でなく、盤面に対して応手の位置が指示された場合には、応手群データ作成処理部６０ａは、応手入力部６２ｂより「着手候補手」に対する「応手」のデータを入力して、局面記憶部６４を更新すると共に応手群データ７２ｂに記録する（ステップＧ６）。
【０１１９】
応手が入力された場合、データ作成制御部６０は、データ作成画面に表示される各種指示を入力するためのボタンを、応手の結果を入力するためのボタンに変更する。図１８には、応手の結果入力待ち状態におけるデータ作成画面の一例を示している。図１８に示すように、各種指示を入力するためのボタンには、例えば、さらに先の変化（着手）を入力することを指示するための「さらに先」ボタン、先に入力した応手を修正するための「一手戻す」ボタン、結論が出たときに「失敗」を指定するための「失敗」ボタンなどが設けられている。
【０１２０】
ここで、結論として「失敗」若しくは「さらに先の変化」の何れかが選択された場合、応手群データ作成処理部６０ａは、結論入力部６２ｃから入力された選択内容を取得し、「失敗」が選択されている場合には「着手」「応手」「結論＝失敗」のデータからなる「応手ペアデータ」を、現在の局面の「応手群データ」に記録して、次の着手候補手に処理を移す（ステップＧ７，Ｇ８，Ｇ１１）。
【０１２１】
また「さらに先の変化」が選択されている場合には、応手群データ作成処理部６０ａは、「着手」「応手」「次の局面番号」というデータからなる「応手ペアデータ」を、現在の局面の「応手群データ」に記録する（ステップＧ７，Ｇ８）。ここで、「次の局面番号」には、例えば、現在、既に使用している「局面番号」の最大値＋１の番号が選ばれる。すなわち、問題図＝局面番号１とした場合は、最初に出現した「次の局面」に対しては、局面番号＝２を割り当てる。そして、この場合には、元の局面（例えば、局面番号１の問題図）についての応手入力を一旦中断し、元の局面から現在の「着手」「応手」の２手を進めた局面について、再帰的に応手群データ作成処理を行う（ステップＧ９）。
【０１２２】
以下、同様にして、着手候補手テーブル６８に登録された着手候補のそれぞれについて、前述した処理を実施することで、図４に示すデータ構造を持ち応手群データ７２ｂを構築していくことができる。
【０１２３】
このようにして、予め作成された着手候補手テーブル６８の全ての手について着手を示し、この着手に対する応手と結論を入力し、この入力された応手と結論をデータ化していくことにより、問題用のデータ（問題図データ７２ａ、応手群データ７２ｂ）を作成することができる。
【０１２４】
データ作成装置５８が提供する機能を使用することによって、人間が単独で行った場合には大変な労力が必要となる図４に示すようなデータ構造を有する応手群データ３４ｂを簡単に作成することができ、また、人間が行った場合に生じる応手データの抜け落ちを防止することができ、また、棋力の優れる者がデータを作成する場合における、先入観による応手データの抜け落ちを防止でき、さらに意外な変化の発見の促進を図ることができるため、良好なデータを簡単に作成することが可能となる。
【０１２５】
なお、詰碁の問題図は通常盤面上の一局部に配置されている場合が多く、そのような問題の場合には、その一局部のみの着手に対する応手を用意しておけば充分であり、全く関係無いところの着手についてまで応手をする必要がない。
【０１２６】
しかしながら、データ作成装置５８により自動的に「その一局部」の着手を選別するようにさせること、すなわち応手を検討する必要がある手と不要な手を自動的に判断させることは、現在のコンピュータ囲碁の思考ルーチンのレベルからして困難である。
【０１２７】
しかし、不要な手に対してデータ作成者に逐一応手を入力させることは、データ作成作業を極めて冗長なものとし、問題データ作成者にとって極めて負担が大きくなる。例えば、仮に不要な手が一手だけ残ってしまっていた場合であっても、問題データ作成途中の各変化局面ごとに着手候補手テーブル作成処理が必要であり、その不要な手が反則で無い限り変化局面ごとに着手候補手の一つとして選択されてしまい、各局面ごとに不要な手（無意味）の応手を入力しなければならなくなる。さらに、こうした不要な手が２手、３手残ってしまっていると、このような冗長な応手入力作業の行程が、級数爆発的に増加してしまう。
【０１２８】
そこでデータ作成装置５８には、着手候補手検索エリア指定処理部６０ａ２を設け、着手候補手テーブル作成部６０ａ１によって着手候補手を検索する検索エリアを、データ作成者からの指示に応じて設定できるようにしている。
【０１２９】
図１５には、着手候補手検索エリア指定処理部６０ａ２を用いた場合のデータ作成装置５８のデータ作成処理の動作について説明するためのフローチャートを示している。
【０１３０】
まず、データ作成処理の実行が指示されると、データ作成制御部６０は、データ作成用の画面を局面表示部６６によって表示させて問題図の入力を要求する（ステップＪ１）。
【０１３１】
問題図が入力されると、着手候補手検索エリア指定処理部６０ａ２は、着手候補手検索エリアの入力を要求する画面を表示させる。例えば、着手候補手の範囲を盤面のｘ，ｙそれぞれについて指定させ、そのｘとｙで指定される盤面上の長方形型の範囲内を着手候補手検索エリアとする。なお、着手候補手検索エリアの指定は、データ作成画面中の盤面に対して、マウスなどの操作によって盤面のｘ，ｙの位置が指定されることによって行われるものとする。
【０１３２】
着手候補手検索エリア指定処理部６０ａ２は、着手候補手検索エリアを表すｘとｙのそれぞれの範囲の指定を着手候補手検索エリア入力部６２ｄから入力し、着手候補手検索エリアを設定する（ステップＪ２）。
【０１３３】
その後、応手群データ作成処理部６０ａは、応手群データ作成処理が実行される（ステップＪ３）。着手候補手テーブル作成部６０ａ１は、応手群データ作成処理中において、通信候補手テーブル作成処理を実行するが、着手候補手検索エリア指定処理部６０ａ２によって設定された着手候補手検索エリアのみを対象として着手候補手の検索を実行し、その検索された通信候補手を着手候補手テーブル６８に登録する（ステップＫ２）。
【０１３４】
図１６には、着手候補手検索エリアが指定された場合の着手候補手テーブル作成処理のフローチャートを示している。
【０１３５】
この着手候補手テーブル作成処理では、まず、盤面上の座標（ｘ，ｙ）を初期化する際に、着手候補手検索エリア指定処理部６０ａ２によって設定された着手候補手検索エリアの範囲最小値を（ｘ，ｙ）のそれぞれに設定し（ステップＬ１）、このｘとｙを、それぞれ着手候補手検索エリアの範囲内で変化させることで盤面上の各座標位置を指定しながら（ステップＬ５〜Ｌ８）、その座標（ｘ，ｙ）の位置に石がなく（ステップＬ２）、その点に着手することが反則でない場合に（ステップＬ３）、この座標（ｘ，ｙ）に対する着手を着手候補として着手候補手テーブル６８に登録する（ステップＬ４）。
【０１３６】
なお、応手群データ作成処理の他の処理動作については、図１３に示すフローチャートと同様に実行されるものとして詳細な説明を省略する。
【０１３７】
このようにして、着手候補手検索エリア指定処理部６０ａ２によって着手候補手テーブル作成部６０ａ１による着手候補手の検索対象エリアを制限することで、不要な着手候補手が着手候補手テーブル６８に登録されることがなくなるので、その結果、データ作成者による応手入力回数を効果的に減少することができ、第１〜第４実施形態で用いられるデータをより効率的に作成することができる。
【０１３８】
なお、前述した説明では、着手候補手テーブル作成部６０ａ１による着手候補手の検索対象とする着手候補手検索エリアを設定して着手候補手を制限するものとしているが、「論外」の着手を着手候補手として着手候補手テーブル６８に登録するようにしても良い。
【０１３９】
例えば、先に入力されている問題図データをもとに、問題図中に配列された石との盤面上における距離をもとにして、「論外」の着手候補手を検索することができる。着手候補手として論外の手を一手登録し、各局面ごとに、その論外の手に対する応手をデータ作成者に入力するよう要求し、その応手を「論外な着手」「応手」「結論＝失敗」なる応手ペアデータとして各局面における応手群データに記録する。これにより、実際にゲーム装置１０でその詰碁問題が使用される際に、ユーザが各局面で応手ペアデータが存在しない着手をした時にこの「論外な手」に対する応手を返し、また当該着手が失敗（論外）である事を表示することができる。
【０１４０】
こうして、ユーザが応手データ（応手群データ３４ｂ）に登録されていないような着手をしてきた時の応手を「論外な手」に対する応手によって代表させることで、ユーザの全ての手に対する応手を行うことができる。図４中の局面１の応手ペアデータ３４ｂ１に「論外」の着手に対する応手が設定されたデータを示している。
【０１４１】
なお、前述した説明では、囲碁ゲーム（詰碁）を対象として説明しているが、他のゲーム（将棋、チェス等の対戦型ゲーム）に適用することが可能である。
【０１４２】
なお、本発明は、前述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、前述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られるので有れば、この構成要件が削除された構成が発明として抽出され得る。
【０１４３】
また、前述した各実施形態において記載した処理は、コンピュータに実行させることのできるゲームプログラムとして、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記録媒体に書き込んで各種装置に提供することができる。また、通信媒体により伝送して各種装置に提供することも可能である。ゲーム装置１０あるいはゲームサーバ２９を実現するコンピュータは、記録媒体に記録された情報取得プログラムを読み込み、または通信媒体を介して情報取得プログラムを受信し、このプログラムによって動作が制御されることにより、上述した処理を実行する。また、ゲームプログラムに限らず、問題図データ３４ａ、応手群データ３４ｂを記録媒体に書き込んで、あるいは通信媒体により伝送して提供することも可能である。
【０１４４】
【発明の効果】
以上のように、本発明のゲーム装置、ゲームシステムによれば、ゲームの「詰め物」においてユーザの棋力向上を図るように応手することが可能となる。また、本発明のデータ作成装置によれば、詰碁のようなゲームのデータを効率的に作成可能となる。
【図面の簡単な説明】
【図１】本実施形態におけるゲーム装置１０の構成を示すブロック図。
【図２】図１に示すシステム構成によって実現される、第１実施形態におけるゲーム装置１０の機能構成を示すブロック図。
【図３】問題図データ３４ａのデータ構造の一例を示す図。
【図４】応手群データ３４ｂのデータ構造の一例を示す図。
【図５】第１実施形態における動作について説明するためのフローチャート。
【図６】第２実施形態におけるシステム構成を示すブロック図。
【図７】第２実施形態におけるゲーム装置１０とゲームサーバ２９の機能構成を示すブロック図。
【図８】第３実施形態におけるゲーム装置１０とゲームサーバ２９の機能構成を示すブロック図。
【図９】第３実施形態におけるゲーム装置１０とゲームサーバ２９の動作について説明するためのフローチャート。
【図１０】第４実施形態におけるゲーム装置１０とゲームサーバ２９の機能構成を示すブロック図。
【図１１】第４実施形態におけるゲーム装置１０とゲームサーバ２９の動作について説明するためのフローチャート。
【図１２】第５実施形態におけるデータ作成装置５８の構成を示すブロック図。
【図１３】第５実施形態におけるデータ作成装置５８のデータ作成処理の動作について説明するためのフローチャート。
【図１４】第５実施形態における着手候補手テーブル作成処理のフローチャート。
【図１５】着手候補手検索エリア指定処理部６０ａ２を用いた場合のデータ作成装置５８のデータ作成処理の動作について説明するためのフローチャート。
【図１６】着手候補手検索エリアが指定された場合の着手候補手テーブル作成処理のフローチャート。
【図１７】第５実施形態におけるデータ作成の画面の一例を示す図。
【図１８】第５実施形態におけるデータ作成の画面の一例を示す図。
【符号の説明】
１０（１０ａ，１０ｂ，１０ｃ）…ゲーム装置
２０…ＣＰＵ
２２…メモリ
２２ａ…ゲームプログラム
２２ｂ…ゲームデータ
２３…記録媒体読取部
２３ａ…記録媒体
２４…通信制御部
２５…表示部
２６，６２…入力部
２７…ネットワーク
２８…コンピュータ
２９…ゲームサーバ
３０，５４…局面処理部
３２…データ読み取り部
３２ａ…問題図データ読み取り部
３２ｂ…応手群データ検索部
３２ｃ…応手読み取り部
３２ｄ…応手後局面番号読み取り部
３４，７２…データ記憶部
３４ａ，７２ａ…問題図データ
３４ｂ，７２ｂ…応手群データ
３６，６４…局面記憶部
４０，６６…局面表示部
４２…着手入力部
４４…現在局面番号記憶部
４６，４８…通信部
５０，５２…データ処理部
５８…データ作成装置
６０…データ作成制御部
６０ａ…応手群データ作成処理部
６０ａ１…着手候補手テーブル作成部
６０ａ２…着手候補手検索エリア指定処理部
６２ａ…問題図入力部
６２ｂ…応手入力部
６２ｃ…結論入力部
６２ｄ…着手候補手検索エリア入力部
６４…局面記憶部
６８…着手候補手テーブル
【図１】
0004206654.tif 000002
【図２】
0004206654.tif 000003
【図３】
0004206654.tif 000004
【図４】
0004206654.tif 000005
【図５】
0004206654.tif 000006
【図６】
0004206654.tif 000007
【図７】
0004206654.tif 000008
【図８】
0004206654.tif 000009
【図９】
0004206654.tif 000010
【図１０】
0004206654.tif 000011
【図１１】
0004206654.tif 000012
【図１２】
0004206654.tif 000013
【図１３】
0004206654.tif 000014
【図１４】
0004206654.tif 000015
【図１５】
0004206654.tif 000016
【図１６】
0004206654.tif 000017
【図１７】
0004206654.tif 000018
【図１８】
0004206654.tif 000019