説明

プログラム、情報記憶媒体、順路作成装置及び配列盤作成装置

【課題】文字を用いた新しいパズルゲームを実現すること。
【解決手段】一筆書きの要領で文字を繋いで意味のある文字の並びとする文字パズルゲームにおいて用いられる、文字盤30における出題文字列の各文字の配列順路は、先ず、始点マスを決定し、この始点マスから1マスずつ順路を延ばしてゆくことで生成される。このとき、確定した順路の先頭マスに隣接する未確定マスのうちから次の順路の候補マスを選択する。そして、この候補マスに仮順路を伸延した場合に、袋小路マスができるか否か、未確定マスが連結しているか否かをもとに、順路が完成するか否かを判定し、可能と判定すると、候補マスを新たな順路と確定することで順路を1マス分延ばす。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータに、縦横方向に連接配置されたマスの配列盤に対して正答順路となる文字等の割り当て順路を作成させるためのプログラム等に関する。
【背景技術】
【0002】
文字を用いたパズルゲームの一種として、与えられた単語を定められた空白領域に埋めてゆくクロスワードパズルがよく知られている。また、意味のある単語ができるよう、定められた空白領域に1文字ずつ自由に文字を埋めてゆくゲームも知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−253840号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
文字を用いたパズルゲームは、シューティングゲームや格闘アクションゲームのようには反射神経を必要としないため、老若男女を問わず、幅広い層が楽しめるゲームの1つである。しかしながら、ゲームに飽きが来ることが否めず、常に新しいゲームが要求される。本発明は、新たなアプローチで文字を用いたパズルゲームを実現することを目的としている。
【課題を解決するための手段】
【0005】
上記課題を解決するための第1の形態は、
文字、数字、記号又はこれらの組合せ(以下「文字等」という。)の意味のある並びとなるように、文字等が割り当てられて縦横方向に連接配置された文字等マス(以下「マス」という。)を1度だけ通過する順路をプレーヤに見出させるゲームに用いるために、前記文字等が割り当てられていないマスの配列盤(例えば、図5の文字盤30)に対して、正答順路となる前記文字等の割り当て順路を作成させるようコンピュータに演算処理させるためのプログラム(例えば、図20の順路生成プログラム312)であって、
前記配列盤のうち、前記順路の始点マスを選択し、確定マスとする始点マス選択手段(例えば、図20の順路生成部212;図24のステップC9,C13)、
最新の確定マスに隣接する未確定マスの中から候補マスを選択する候補マス選択手段(例えば、図20の順路生成部212;図24のステップC19)、
前記候補マスに仮順路を伸延した場合の順路完成の可否を判定する可否判定手段(例えば、図20の順路生成部212;図24のステップC21)、
前記可否判定手段により可と判定された場合に前記候補マスを最新の確定マスとして仮順路を1マス分延伸する延伸手段(例えば、図20の順路生成部212;図24のステップC25)、
として前記コンピュータを機能させるとともに、前記候補マス選択手段、前記可否判定手段、及び前記延伸手段を繰り返し機能させて前記配列盤の全てのマスが確定マスとなった場合の前記仮順路を前記正答順路とさせるためのプログラムである。
【0006】
また、他の形態として、
文字等の意味のある並びとなるように、文字等が割り当てられて縦横方向に連接配置されたマスを1度だけ通過する順路をプレーヤに見出させるゲームに用いるために、前記文字等が割り当てられていないマスの配列盤に対して、正答順路となる前記文字等の割り当て順路を作成する順路作成装置(例えば、図20の携帯型ゲーム装置1000)であって、
前記配列盤のうち、前記順路の始点マスを選択し、確定マスとする始点マス選択手段と、
最新の確定マスに隣接する未確定マスの中から候補マスを選択する候補マス選択手段と、
前記候補マスに仮順路を伸延した場合の順路完成の可否を判定する可否判定手段と、
前記可否判定手段により可と判定された場合に前記候補マスを最新の確定マスとして仮順路を1マス分延伸する延伸手段と、
を備え、前記候補マス選択手段、前記可否判定手段、及び前記延伸手段を繰り返し機能させて前記配列盤の全てのマスが確定マスとなった場合の前記仮順路を前記正答順路とする順路作成装置を構成することとしても良い。
【0007】
この第1の形態等によれば、文字等の意味のある並びとなるように縦横方向に連接配置されたマスを1度だけ通過する順序をプレーヤに見出させるゲームに用いるための、文字等が割り当てられていないマスの配列盤に対して正答順路となる文字等の割り当て順路を作成することができる。また、割り当て順路の生成は、始点マスを選択して確定マスとし、最新の確定マスに隣接する未確定マスの中から候補マスを選択し、この候補マスに仮順路を伸延した場合の順路完成の可否を判定し、順路完成が可と判定した場合に、候補マスを最新の確定マスとして仮順路を1マス分延伸するといった処理を繰り返し、配列盤の全てのマスが確定マスとなった場合に、仮順路を正答順路とすることで実現される。
【0008】
第2の形態として、第1の形態のプログラムであって、
前記配列盤の各マスを配置位置に応じて市松模様状に互い違いにマスを選択することで2つのグループにグループ分けするグループ分け手段(例えば、図20の順路生成部212;図23のステップB9)として前記コンピュータを機能させ、
前記選択手段が、前記2つのグループそれぞれの所属マス数が異なる場合、多い方のグループに所属するマスの中から始点マスを選択する(例えば、図24のステップC13)ように前記コンピュータを機能させる、
ためのプログラムを構成することとしても良い。
【0009】
この第2の形態によれば、配列盤の各マスを配置位置に応じて市松模様状に互い違いに選択することでグループ分けされた2つのグループそれぞれの所属マス数が異なる場合、多い方のグループに所属するマスの中から、始点マスが選択される。各マスを市松模様状に互い違いに選択することでグループ分けしていることから、正答順路は、2つのグループそれぞれの所属マスを交互に選択することになる。このため、正答順路の始点マス及び終点マスは、所属マス数が多い方のグループに所属するマスとなる。
【0010】
第3の形態として、第1又は第2の形態のプログラムであって、
前記可否判定手段が、
前記候補マスに仮順路を伸延することで所定の袋小路条件を満たすこととなる未確定マスを検出する袋小路検出手段(例えば、図20の順路生成部212;図25のステップD15)と、
前記袋小路検出手段の検出結果を用いて前記順路完成の可否を判定する袋小路判定手段(例えば、図20の順路生成部212;図25のステップD17〜D25)と、
を有するように前記コンピュータを機能させるためのプログラムを構成することとしても良い。
【0011】
この第3の形態によれば、候補マスに仮順路を伸延することで所定の袋小路条件を満たすこととなる未確定マスを検出することで、順路完成の可否が判定される。
【0012】
具体的には、第4の形態のように、
前記袋小路判定手段が、前記袋小路検出手段の検出結果を含めて前記袋小路条件を満たす未確定マスが2以上存在することとなる場合に、前記順路完成を不可と判定する手段(例えば、図20の順路生成部212;図25のステップD19:YES〜D23)を有する、
ように前記コンピュータを機能させるためのプログラムを構成することとしても良い。
【0013】
この第4の形態によれば、袋小路条件を満たすとして検出された未確定マスを含めて、袋小路条件を満たす未確定マスが2以上存在することとなる場合に、順路完成が不可と判定される。これは、袋小路条件を満たす未確定マスは、終点マスにしかなり得ないためである。
【0014】
第5の形態として、第3又は第4の形態のプログラムであって、
前記配列盤の各マスを配置位置に応じて市松模様状に互い違いにマスを選択することで2つのグループにグループ分けするグループ分け手段(例えば、図20の順路生成部212;図23のステップB9)として前記コンピュータを機能させ、
前記袋小路判定手段が、前記袋小路検出手段により検出された未確定マスが、前記始点マスと同じグループに属するか否かに応じて前記順路完成の可否を判定する手段(例えば、図20の順路生成部212;図25のステップD21)を有する、
ように前記コンピュータを機能させるためのプログラムを構成することとしても良い。
【0015】
この第5の形態によれば、袋小路条件を満たすとして検出された未確定マスが始点マスと同じグループに属するか否かに応じて、順路完成の可否が判定される。各マスを市松模様状に互い違いに選択することでグループ分けしていることから、正答順路は、2つのグループそれぞれの所属マスを交互に選択することになる。つまり、2つの各グループの所属マス数が同じ場合には、始点マスと終点マスとは所属するグループが異なり、一方、2つの各グループの所属マス数が異なる場合には、マス数が多い方のグループに所属するマスが始点マス及び終点マスとなる。このように、始点マスが所属するグループによって終点マスが所属するグループが決まるため、袋小路条件を満たす未確定マスの所属するグループが、終点マスとして所属すべきグループか否かによって、順路完成の可能/不可能を判定することができる。
【0016】
第6の形態として、第1〜第5の何れかの形態のプログラムであって、
前記可否判定手段が、前記候補マスに仮順路を伸延することで、未確定マス全てが所定の連接条件を満たさなくなる場合に、前記順路完成を不可と判定する連接性判定手段(例えば、図20の順路生成部212;図25のステップD5〜D11)を有する、
ように前記コンピュータを機能させるためのプログラムを構成することとしても良い。
【0017】
この第6の形態によれば、候補マスに仮順路を伸延することで、未確定マス全てが所定の連接条件を満たさなくなる場合に、順路完成が不可と判定される。
【0018】
具体的には、第7の形態のように、
前記連接性判定手段が、
前記配列盤の周囲に仮想マス(例えば、図13の判定用マス50)を配置する仮想マス配置手段(例えば、図20の順路生成部212;図24のステップC1〜C3)と、
最新の確定マスが前記仮想マスの何れかと隣接した場合に全ての仮想マスを仮想確定マスとする仮想マス確定手段(例えば、図20の順路生成部212;図25のステップD1〜D3)と、
を有し、前記候補マスの周囲8マスに含まれる未確定マス及び仮想未確定マスが前記連接条件を満たさなくなる場合に前記順路完成を不可と判定する、
ように前記コンピュータを機能させるためのプログラムを構成することとしても良い。
【0019】
この第7の形態によれば、配列盤の周囲に仮想マスが配置され、最新の確定マスが仮想マスの何れかと隣接した場合に、全ての仮想マスが仮想確定マスとされる。そして、候補マスの周囲8マスに含まれる未確定マス及び仮想未確定マスが連接条件を満たさなくなる場合に、順路完成が不可と判定される。
【0020】
第8の形態として、第1〜第7の何れかの形態のプログラムであって、
前記候補マス選択手段が、最新の確定マスに隣接する未確定マスのうち、最新の確定マスと、その1つ前に確定した確定マスとを結ぶ直線方向に無い未確定マスを優先的に候補マスとして選択するように前記コンピュータを機能させるためのプログラムを構成することとしても良い。
【0021】
この第8の形態によれば、最新の確定マスに隣接する未確定マスのうち、最新の確定マスとその1つ前に確定した確定マスとを結ぶ直線方向にない未確定マスが、優先的に候補マスとして選択される。これにより、作成される順路の屈曲部が多くなって意味のある文字等の並びを見つけ出し難くなり、ゲームの難易度が高くなる。
【0022】
第9の形態として、第1〜第7の何れかの形態のプログラムであって、
前記候補マス選択手段が、最新の確定マスに隣接する未確定マスのうち、最新の確定マスと、その1つ前に確定した確定マスとを結ぶ直線方向に有る未確定マス、及び、直線方向に無い未確定マスの何れを優先的に候補マスとして選択するかを、所与の難易度に応じて可変する手段(例えば、図20の順路生成部212)を有するように前記コンピュータを機能させるためのプログラムを構成することとしても良い。
【0023】
この第9の形態によれば、最新の確定マスに隣接する未確定マスのうち、最新の確定マスとその1つ前に確定した確定マスとを結ぶ直線方向に有る未確定マスを優先的に候補マスとして選択すると、作成される順路の屈曲部が少なくなって意味のある文字等の並びを見つけ出し易くなり、ゲームの難易度が低くなる。逆に、直線方向に無いマスを優先的に候補マスとして選択すると、作成される順路の屈曲部が多くなって意味のある文字等の並びを見つけ出し難くなり、ゲームの難易度が高くなる。このように、望まれる難易度に応じた順路を作成することが可能となる。
【0024】
第10の形態として、第1〜第7の何れかの形態のプログラムであって、
前記候補マス選択手段が、最新の確定マスに隣接する未確定マスのうち、最新の確定マスの右又は下に位置する未確定マス、及び、左又は上に位置する未確定マスの何れを優先的に候補マスとして選択するかを、所与の難易度に応じて可変する手段を有するように前記コンピュータを機能させるためのプログラムを構成することとしても良い。
【0025】
この第10の形態によれば、最新の確定マスに隣接する未確定マスのうち、最新の確定マスの右又は下に位置する未確定マスを優先的に候補マスとして選択すると、作成される順路が、大まかには右方向或いは下方向に進む順路となる。つまり、日本語の横書き或いは縦書きに準じた方向となって文字等の並びを見つけ出し易くなり、ゲームの難易度が低くなる。逆に、最新の確定マスの左又は上に位置する未確定マスを優先的に候補マスとして選択すると、作成される順路の大まかな方向が、日本語の横書き或いは縦書きとは逆の方向となって文字等の並びを見つけ出し難くなり、ゲームの難易度が高くなる。このように、望まれる難易度に応じた順路を作成することが可能となる。
【0026】
第11の形態として、
文字等の意味のある並びとなるように、文字等が割り当てられて縦横方向に連接配置されたマスを1度だけ通過する順路をプレーヤに見出させるゲームに用いるための前記マスの出題用の配列盤を作成させるようコンピュータに演算処理させるためのプログラムであって、
始点マス及び終点マスが周囲何れかのマスとされて割り当て順路が予め定められたN個(Nは2以上)の基礎配列盤を、i番目(i=1〜(N−1))の基礎配列盤の終点マスとi+1番目の基礎配列盤の始点マスとが隣接するように配置構成することで1番目の基礎配列盤の始点マスからN番目の基礎配列盤の終点マスまでを正答順とする前記出題用の配列盤を作成させる配置構成手段として前記コンピュータを機能させるためのプログラムを構成することとしても良い。
【0027】
また、他の形態として、
文字等の意味のある並びとなるように、縦横方向に連接配置されたマスを1度だけ通過する順路をプレーヤに見出させるゲームに用いるための前記マスの出題用の配列盤を作成する配列盤作成装置であって、
始点マス及び終点マスが周囲何れかのマスとされて割り当て順路が予め定められたN個(Nは2以上)の基礎配列盤を、i番目(i=1〜(N−1))の基礎配列盤の終点マスとi+1番目の基礎配列盤の始点マスとが隣接するように配置構成することで1番目の基礎配列盤の始点マスからN番目の基礎配列盤の終点マスまでを正答順とする前記出題用の配列盤を作成する配列盤作成装置を構成することとしても良い。
【0028】
この第11の形態等によれば、文字等の意味のある並びとなるように縦横方向に連接配置されたマスを1度だけ通過する順序をプレーヤに見出させるゲームに用いるための、マスの出題用の配列盤を作成することができる。
【0029】
第12の形態として、
文字等の意味のある並びとなるように、文字等が割り当てられて縦横方向に連接配置されたマスを1度だけ通過する順路をプレーヤに見出させるゲームに用いるために、前記マスの配置位置が決定され前記文字等が割り当てられていない前記マスの配列盤の作成及び当該配列盤に対する正答順路となる前記文字等の割り当て順路の作成をコンピュータに演算処理させるためのプログラムであって、
前記マスを配列することにより前記配列盤の候補となる配列盤候補を作成する配列盤候補作成手段、
前記配列盤候補の各マスを配置位置に応じて市松模様状に互い違いにマスを選択することで2つのグループにグループ分けした場合に、当該2つのグループそれぞれの所属マス数が2以上異なるか否かで前記配列盤候補の良否を判定する配列盤候補良否判定手段、
前記配列盤候補良否判定手段により良と判定されるまで前記配列盤候補作成手段に繰り返し再作成させる再作成制御手段、
として前記コンピュータを機能させるとともに、前記配列盤候補良否判定手段により良と判定された配列盤候補を配列盤として第1〜第10の何れかの形態のプログラムを実行させることで前記正答順路を作成させるように前記コンピュータを機能させるためのプログラムを構成することとしても良い。
【0030】
この第12の形態によれば、文字等の意味のある並びとなるように縦横方向に連接配置されたマスを1度だけ通過する順序をプレーヤに見出させるゲームに用いるための、マスの出題用の配列盤を作成することができるとともに、この配列盤に対して正答順路となる文字等の割り当て順路を作成することができる。
【0031】
第13の形態として、第1〜第12の何れかの形態のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体(例えば、図20の記憶部300)を構成することとしても良い。
【0032】
ここでいう「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリなどを含む。そして、この第13の形態によれば、情報記憶媒体に記憶されたプログラムをコンピュータに読み取らせて実行させることで、第1〜第12の何れかの発明と同様の作用効果を発揮させることができる。
【図面の簡単な説明】
【0033】
【図1】携帯型ゲーム装置の外観例。
【図2】ゲーム画面の一例。
【図3】ゲーム画面の一例。
【図4】ゲーム画面の一例。
【図5】文字盤の構成例。
【図6】文字盤に対する順路生成の概要図。
【図7】マスのパリティの説明図。
【図8】始点マスの決定の説明図。
【図9】袋小路マスの説明図。
【図10】袋小路マスに基づく順路完成可否の判定の説明図。
【図11】袋小路マスに基づく順路完成可否の判定の説明図。
【図12】未確定マスの連結/非連結の説明図。
【図13】未確定マスの連結/非連結に基づく順路完成可否の判定の説明図。
【図14】未確定マスの連結/非連結に基づく順路完成可否の判定の説明図。
【図15】未確定マスの連結/非連結に基づく順路完成可否の判定の説明図。
【図16】未確定マスの連結/非連結に基づく順路完成可否の判定の説明図。
【図17】未確定マスの連結/非連結に基づく順路完成可否の判定の説明図。
【図18】未確定マスの連結/非連結に基づく順路完成可否の判定の説明図。
【図19】未確定マスの連結/非連結に基づく順路完成可否の判定の説明図。
【図20】携帯型ゲーム装置の機能構成図。
【図21】生成文字盤データのデータ構成例。
【図22】ゲーム処理のフローチャート。
【図23】ゲーム処理中に実行される文字盤生成処理のフローチャート。
【図24】ゲーム処理中に実行される順路生成処理のフローチャート。
【図25】順路生成処理中に実行される順路完成可否判定処理のフローチャート。
【図26】順路における屈曲部の数による難易度の違いを説明する図。
【図27】難易度に応じた候補マスの選択を説明する図。
【図28】順路の方向による難易度の違いを説明する図。
【図29】基礎文字盤の組合せによる文字盤の生成を説明する図。
【図30】基礎文字盤における順路の設定例。
【図31】基礎文字盤における順路の設定例。
【図32】基礎文字盤の組合せによる文字盤の生成を説明する図。
【発明を実施するための形態】
【0034】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下では、携帯型ゲーム装置において文字パズルゲームを実行する例を説明するが、本発明の適用可能な実施形態がこれに限定されるものではない。
【0035】
[ゲーム装置の外観]
図1は、本実施形態における携帯型ゲーム装置1000の外観図である。図1によれば、携帯型ゲーム装置1000は、プレーヤがゲーム操作を入力するための方向入力キー1002及びボタンスイッチ1004と、第1液晶ディスプレイ1006と、第2液晶ディスプレイ1008と、スピーカ1010と、イメージセンサモジュール1014と、制御ユニット1020とを、ヒンジで開閉自在な折り畳み型の装置本体に備えている。そして、第1液晶ディスプレイ1006及び第2液晶ディスプレイ1008の表示面上には、スタイラスペン1040などで触れることによって表示画面の任意位置を接触入力することのできるタッチパネル1012がそれぞれ装着されている。
【0036】
また、装置本体には、コンピュータ読み出し可能な情報記憶媒体であるメモリカード1030にデータを読み書きできるメモリカード読取装置1016が備えられている。メモリカード1030には、携帯型ゲーム装置1000の制御ユニット1020がゲームプレイにかかる各種演算処理を実行するために必要なプログラムや各種設定データが記憶されている。またその他、装置本体には図示されていない内蔵バッテリーや電源ボタン、音量調節ボタン等が設けられている。
【0037】
タッチパネル1012は、表示画面を遮蔽することなく第1液晶ディスプレイ1006及び第2液晶ディスプレイ1008それぞれの表示画面のほぼ全域を被い、プレーヤがスタイラスペン1040や指などで触れる接触操作を行うと、左上を原点とする直交Xw,Yw軸座標系における接触位置座標を制御ユニット1020へ出力する。
【0038】
制御ユニット1020は、ゲーム装置の制御基板に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、VRAMやRAM、ROM等の各種ICメモリを搭載する。また、制御ユニット1020は、無線通信モジュール1022や、3軸加速度センサ1024、第1液晶ディスプレイ1006及び第2液晶ディスプレイ1008のドライバ回路、タッチパネル1012のドライバ回路、方向入力キー1002及びボタンスイッチ1004からの信号を受信する回路、スピーカ1010へ音声信号を出力するためのアンプ回路、メモリカード読取装置1016への信号入出力回路といった所謂I/F回路(インターフェース回路)を搭載する。これら制御ユニット1020に搭載されている各要素は、それぞれバス回路を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【0039】
3軸加速度センサ1024は、携帯型ゲーム装置1000の姿勢変化や位置変化を検出するために直交するX,Y軸,Z軸の3軸方向の加速度を検出し、検出信号を制御ユニット1020へ出力する。尚、加速度センサの代わり、又は更なる機能追加としてジャイロセンサを備える構成としても良い。或いは地磁気を基準として位置や姿勢変化を検出する磁気センサを更に機能追加してもよい。
【0040】
制御ユニット1020は、メモリカード読取装置1016によってメモリカード1030に格納されているプログラムやデータを読み出して、搭載するICメモリにこれらを一時記憶する。そして、読み出したプログラムを実行して演算処理を実行し、方向入力キー1002やボタンスイッチ1004、タッチパネル1012からの操作入力に応じて携帯型ゲーム装置1000の各部を制御して所与のゲームを実行する。
【0041】
なお、本実施形態では、携帯型ゲーム装置1000は必要なプログラムや各種設定データをメモリカード1030から読み出す構成としているが、無線通信モジュール1022を介して、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)などの有線/無線の通信回線Nに接続して外部の装置からダウンロードする構成としても良い。
【0042】
[ゲーム概要]
本実施形態では、携帯型ゲーム装置1000において「文字パズルゲーム」が実行される。この文字パズルゲームは、表示された文字を繋げて意味のある文字列(単語や文章など)として完成させるゲームである。
【0043】
図2は、ゲーム画面の一例である。図中上側は、第1液晶ディスプレイ1006の出題画面W1を示し、下側は、第2液晶ディスプレイ1008に表示される回答画面W2を示している。回答画面W2には、縦横方向に配列された複数の文字ブロック10が表示される。各文字ブロック10に表示されている文字は、意味のある文章や単語である所定の出題文字列を構成する各文字であり、1つの文字ブロック10に1文字が割り当てられている。なお、本実施形態では、出題文字列を構成する文字は「ひらがな」とするが、カタカナや漢字、数字、演算記号等を含めることにしても良い。図2では、出題文字列「みなみじゅうじせい」の各文字を割り当てた9つの文字ブロック10が、3×3の配列で表示されている。また、回答画面W2には、回答可能な残り時間21、回答の完了を指示する決定アイコン22、回答のやり直しを指示するやり直しアイコン23が表示されている。
【0044】
この回答画面W2において、プレーヤは、図3に示すように、スタイラスペン1040等を用いたタッチ操作によって回答を入力する。すなわち、文字の並びから出題文字列を推測し、表示画面上をタッチしたまま移動させるスライド操作によって、推測した出題文字列となるように各文字ブロック10を繋ぐ。このとき、縦横方向に隣接する文字ブロック10同士を繋ぐとともに、全ての文字ブロック10を1回のみ選択して、出題文字列の先頭の文字から最後の文字までを一回のスライド操作で繋ぐ、いわゆる一筆書きの要領で回答を入力する。
【0045】
すると、回答画面W2には、スライド操作に伴うタッチ位置の軌跡(入力軌跡)24が表示されるとともに、選択した文字ブロック10が、選択済みであることを表すよう反転表示される。プレーヤの回答は、やり直しアイコン23を選択するとキャンセルされ、文字ブロック10の反転表示が戻されるとともに軌跡24が消去される。
【0046】
回答を終了してプレーヤが決定アイコン22を選択した、或いは、残り時間21がゼロになると、図4に示すように、プレーヤの回答に対する答え合わせ画面W3が表示される。
【0047】
図4に示すように、答え合わせ画面W3では、回答画面W2に表示されていた各文字ブロック10が、プレーヤの回答順に並べて表示される。そして、このプレーヤの回答による文字列(文字の並び)が出題文字列に一致しているか否かによって「正解/不正解」が判定され、判定結果に応じた演出等がなされる。
【0048】
[原理]
続いて、本実施形態の特徴である、出題画面W1における出題文字列の各文字の配列順の決定を説明する。先ず、文字ブロック10を配置するための「文字盤」を設定する。図5は、文字盤30の一例を示す図である。図5に示すように、文字盤30には、文字ブロック10が配置される複数のマス40が形成されている。詳細には、出題文字列の文字数と等しい数のマス40が形成されており、1つのマス40に1つの文字ブロック10が配置される。また、略正方形状である文字ブロック10に合わせて正方形状のマス40となっており、これらのマス40は、互いに上下左右方向で隣接するように形成されている。図5では、正方形状の文字盤30が4×4の碁盤の目状に区切られており、16個のマス40が形成されている。
【0049】
このように複数のマス40が形成された文字盤30において、出題文字列の各文字(文字ブロック10)の配置順として、全てのマス40を1回ずつ通りながら縦横方向に進む順路(マス40の繋がり)を決定する。
【0050】
図6は、文字盤30における「順路」の生成手順の概要を示す図である。順路の生成手順としては、先ず、図6(a)に示すように、出題文字列の最初の文字ブロック10が配置される「始点マス」を決定する。図6(a)では、マス40−fが始点マスである。
【0051】
そして、この始点マスから、上下左右方向に1マスずつ順路を伸ばしてゆく。すなわち、図6(a)に示すように、現在の順路の先頭のマス40と上下左右方向に隣接する4つのマス40のうち、順路として未確定のマス40(未確定マス)のうちから、次の順路の候補となるマス40(候補マス)を選択する。
【0052】
候補マスを選択する毎に、この候補マスに仮順路を伸延した場合に順路が完成し得るか否か(順路の完成可否)を判定する。完成不可能と判定したならば、他の候補マスを再選択する。完成可能と判定したならば、候補マスを順路として確定し、次の候補マスを選択する。このように、候補マスの選択、順路の完成可否、候補マスの順路としての確定を繰り返し、文字盤30の全てのマス40が確定マスとなると、順路の完成となる。
【0053】
図6(b)では、順路としてマス40−f,40−g,40−k,40−jを順に確定した状態であり、この場合、マス40−jに隣接する4つのマス40−f,40−i,40−k,40−nのうち、未選択マスであるマス40−i,40−nの何れかかが次の候補マスとなる。
【0054】
始点マスは、次のように決定する。先ず、図7に示すように、文字盤30の各マス40に、「1/0」の「パリティ」を設定する。パリティは、隣り合うマス40同士のパリティが異なるように設定される。図7では、4×4の合計16マスからなる文字盤30の例を示しており、パリティが「1」のマス40と「0」のマス40とが、市松模様状に互い違いに設定されている。このように、隣り合うマス40同士のパリティが異なるように設定されるため、順路は異なるパリティのマス40を交互に通ることになる。
【0055】
従って、図8(a)に示すように、文字盤30における各パリティのマス40の数が同じならば、文字盤30の全てのマス40のうちから、始点マスを選択する。そして、この場合、始点マスと終点マスとのパリティが異なることになる。例えば、パリティ「1」のマス40を始点マスとすると、必ず、パリティ「0」のマス40が終点マスとなる。但し、各パリティのマス40の数が同じであっても、何れのマス40を始点マスとして選択するかによって順路が生成不可能な場合もある。このような場合には、他のマス40を始点マスとして再選択する。
【0056】
また、図8(b)に示すように、文字盤30における各パリティのマス40の数の差が「1」ならば、マス数が多い方のパリティのマス40が、始点マス、及び、終点マスとなる。つまり、マス数が多い方のパリティのマス40のうちから、始点マスを選択する。図8(b)では、パリティ「1」のマス数が「8」、パリティ「0」のマス数が「7」であり、従って、パリティ「1」のマス40が、始点マス、及び、終点マスとなる。
【0057】
また、図8(c)に示すように、文字盤30における各パリティのマス40の数の差が「2」以上の場合、順路を生成できない。図8(c)では、パリティ「1」のマス数が「8」、パリティ「0」のマス数が「6」であり、従って、2つのパリティそれぞれのマス数の差が「2」であるため、順路の生成が不可能である。
【0058】
順路の延伸途中における完成可否の判定要素として、(A)袋小路マス(行き止まり)、(B)未確定マスの非連結、がある。
【0059】
(A)袋小路マス
先ず、「袋小路マス」とは、袋小路条件を満たすマス40、すなわち、上下左右の4方向のうち、1方向にしか順路が延ばせないマス40である。
【0060】
図9は、袋小路マスの一例である。図9(a)では、3つのマス40−a,40−b,40−fが、順路として確定しているマス40(確定マス)であり、候補マスとしてマス40−gを選択した状態である。マス40−fからマス40−gへ仮順路を伸延した場合、マス40−eは、マス40−iからマス40−eへの順路のみしか存在しないため、マス40−eが袋小路マスとなる。
【0061】
また、図9(b)では、4つのマス40−a,40−b,40−f,40−gが確定マスであり、候補マスとしてマス40−kを選択した状態である。マス40−gからマス40−kに仮順路を伸延した場合、マス40−c,40−eが袋小路マスとなる。袋小路マスは「終点マス」にしかなり得ない。つまり、図9(b)に示すように、2つ以上の袋小路マスが存在すると、順路の完成は不可能である。
【0062】
但し、袋小路マスが1つでも、順路の生成が不可能な場合がある。具体的には、袋小路マスと、終点マスとのパリティが一致しない場合である。これは、袋小路マスは、終点マスにしかなり得ないためである。なお、終点マスのパリティは、上述のように、始点マスのパリティと、各パリティのマス40の数(すなわち、文字盤30におけるマス40の総数の偶数/奇数)によって決まる。
【0063】
図10は、袋小路マスが1つであるが順路の生成が不可能な場合の一例である。図10左側に示すように、文字盤30において、2つのマス40−f,40−bが確定マスであり、候補マスとしてマス40−cを選択し、マス40−bからマス40−cに仮順路を伸延した場合、マス40−aが袋小路マスとなる。また、図10右側は、文字盤30の各マス40のパリティの設定例を示す図である。始点マスであるマス40−fのパリティは「1」であり、従って、終点マスのパリティは「0」でなくてはならない。しかし、袋小路マスであるマス40−aのパリティは「1」であり、終点マスのパリティ「0」に一致しない。従って、図10においては、順路の完成は不可能である。
【0064】
袋小路マスによる順路完成可否の判定方法として、単純な方法としては、候補マスを選択する毎に、この候補マスに仮順路を伸延した場合に、全ての未確定マスについて袋小路マスとなるかを判定する方法がある。
【0065】
本実施形態では、処理演算の高速化のため、次の方法を採用する。すなわち、候補マスに仮順路を伸延することで新たにできる袋小路マスは、候補マスの1つ前のマス40、すなわち確定した順路の先頭マスの上下左右の4つのマス40の何れかとなる。
【0066】
例えば、図9(a)において、3つのマス40−a,40−b,40−fが確定マスの状態では、袋小路マスは存在していない。これは、この時点では、マス40−gとマス40−eとが、マス40−fの次の順路とされる可能性があるためである。そして、候補マスであるマス40−gに仮順路を伸延した時点で、マス40−eがマス40−fの次の順路として選択され得なくなったため、マス40−eが袋小路マスとなる。
【0067】
続いて、図9(b)に示すように、マス40−kが候補マスの時点では、マス40−cは袋小路マスではない。そして、候補マスであるマス40−kに仮順路を伸延した時点で、マス40−cが袋小路マスとなる。このため、確定した順路の先頭マス(最新の確定マス)の上下左右の4つのマス40のみについて、袋小路マスとなるか否かを判定すれば良い。
【0068】
図11は、袋小路マスの判定の一例を示す図である。図11(a)では、3つのマス40−a,40−b,40−fが確定マスであり、マス40−gが候補マスの状態である。この場合、確定された順路の先頭マスであるマス40−fの上下左右の4マス40−b,40−e,40−g,40−jが、袋小路マスの判定対象となる。その結果、マス40−eが袋小路マスと判定される。この時点での袋小路マスの累計は「1」である。
【0069】
次いで、図11(b)に示すように、候補マスであるマス40−gを順路として確定し、マス40−kが次の候補マスとされたとする。この場合、順路の先頭マスであるマス40−gの上下左右の4つのマス40−c,40−f,40−h,40−kが、袋小路マスの判定対象となる。その結果、マス40−cが、新たに袋小路マスと判定される。つまり、既に袋小路マスと判定されているマス40−eと合わせて、合計「2」のマス40−c,40−eが袋小路マスとなる。この時点で、順路完成は不可能と判定される。
【0070】
(B)未確定マスの非連結
「未確定マスが非連結」とは、連接条件を満たさないこと、すなわち、互いに隣接する未確定マスの集合を1つの「ブロック」としたとき、2つ以上のブロックが存在することである。
【0071】
図12は、未確定マスが非連結である一例を示す図である。図12では、3つのマス40−e〜40−gが確定マスの状態である。ここで、マス40−hを候補マスとした場合、12個の未確定マス40−a〜40−d,40−i〜40−pが、4つのマス40−a〜40−dのブロックと、8つのマス40−i〜40−pのブロックとに分離されてしまい、未確定マスが「非連結」である。このように、未確定マスが非連結の場合、順路は完成不可能である。
【0072】
「未確定マスの連結/非連結」の判定方法として、単純な方法としては、先ず、任意の1つの未確定マスを選択し、これに隣接する他の未確定マスを選択する。このように、次々と隣接する未確定マスを選択してゆき、選択可能な未確定マスが無くなった時点で、選択していない未確定マスが無いならば「連結」と判定し、選択していない未確定マスが有るならば「非連結」と判定する方法がある。
【0073】
本実施形態では、処理演算の高速化のため、次の方法を採用する。すなわち、図13に示すように、文字盤30の外周に、連結/非連結の「判定用の仮想マス(判定用マス)50」を追加設定する。そして、図13に示すように、始点マスが判定用マス50に隣接している場合、設定した判定用マス50は、順路として確定したマス(確定マス)として扱う。次いで、図14,図15に示すように、候補マスの周囲の8マスを抽出し、この8マスについて、未確定マスの連結/非連結を判定する。この判定結果が、全ての未確定マスの連結/非連結の判定結果となる。
【0074】
図13では、文字盤30の周囲に、20個の判定用マス50−a〜50−tが設定されている。また、文字盤30のマス40−eが始点マスであり、このマス40−eは判定用マス50−iに隣接している。このため、判定用マス50−a〜50−tは、全てを確定マスとして扱う。
【0075】
そして、図14に示すように、2つのマス40−e,40−fを確定マスとし、マス40−gが候補マスである場合、候補マスであるマス40−gの周囲の8つのマス40−b〜40−d,40−f,40−h,40−j〜40−lが抽出される。これら8つのマス40のうち、7つの未確定マス40−b〜40−d,40−h,40−j〜40−lは「連結」している。従って、文字盤30において、全ての未確定マスは「連結」していると判定される。
【0076】
次いで、図15に示すように、3つのマス40−e,40−f,40−gを確定マスとし、マス40−hが候補マスである場合、候補マスであるマス40−hの周囲の8つのマス40−c,40−d,40−g,40−k,40−l、及び、判定用マス50−h,50−j,50−lが抽出される。これらの8つのマスのうち、4つの未確定マスであるマス40−c,40−d,40−k,40−lは「非連結」である。従って、文字盤30において、全ての未確定マスは「非連結」と判定される。
【0077】
また、図16に示すように、始点マスが判定用マス50に隣接していない場合、判定用マス50は、順路として確定されていないマス(未確定マス)として扱う。そして、同様に、候補マスの周囲8マスを抽出し、この8マスについて未確定マスの連結/非連結を判定する。またこの場合、順路を確定してゆく途中で、判定用マス50と隣接しているマス40が順路として確定された時点で、全ての判定用マス50を未確定マスから確定マスに変更する。図16では、始点マスはマス40−fであり、このマス40−fは判定用マス50に隣接していない。従って、全ての判定用マス50−a〜50−tは未確定マスとして扱われる。
【0078】
そして、図17に示すように、マス40−f,40−gを順路として確定し、マス40−hを候補マスとした状態では、候補マスであるマス40−hの周囲の8つのマス40−c,40−d,40−g,40−k,40−l、及び、判定用マス50−h,50−j,50−lが抽出される。そして、これら8つのマスのうち、7つの未確定マスであるマス40−c,40−d,40−k,40−l、及び、判定用マス50−h,50−j,50−lについて連結/非連結が判定される。この場合、「連結」していると判定されるため、文字盤30における全ての未確定マスが「連結」していると判定される。
【0079】
その後、図18に示すように、マス40−f,40−g,40−hを順路として確定し、候補マスをマス40−lとすると、マス40−hが判定用マス50−jに隣接しているため、全ての判定用マス50−a〜50−tが未確定マスから確定マスに変更される。そして、候補マスであるマス40−lの周囲の8つのマス40−g,40−h,40−k,40−o,40−p、及び、判定用マス50−j,50−l,50−nが抽出され、これらの8つのマスのうち、3つの未確定マスであるマス40−k,40−o,40−lについて連結/非連結が判定される。この場合、連結していると判定されるため、文字盤30において全ての未確定マスが連結していると判定される。
【0080】
また、図19(a)に示すように、文字盤30にマス40が無い「穴」が形成されている場合には、この「穴」に判定用マス50が設定される。この判定用マス50は、未確定マスとして初期設定される。そして、図19(b)に示すように、「穴」に隣接しているマス40が確定マスとなった時点で、この「穴」に設定された判定用マス50が未確定マスから確定マスに変更される。
【0081】
図19(a)では、文字盤30において、マス40−kに該当する部分に「穴」が形成されており、この「穴」に判定用マス50−uが設定されている。そして、図19(b)では、マス40−f,40−gが確定マスとなった状態である。つまり、判定マス50−uに隣接するマス40−gが確定マスとなっており、この時点で、判定用マス50−uが確定マスとなる。
【0082】
[機能構成]
図20は、携帯型ゲーム装置1000の機能構成を示すブロック図である。図20によれば、携帯型ゲーム装置1000は、機能的には、操作入力部110と、撮像部120と、処理部200と、画像表示部130と、音声出力部140と、通信部150と、記憶部300とを備えて構成される。
【0083】
操作入力部110は、プレーヤによる操作入力を受け付け、操作に応じた操作信号を処理部200に出力する。この機能は、操作入力部110は、ボタンスイッチやジョイスティック、タッチパッド、トラックボール、加速度センサユニット、傾斜センサユニットなどによって実現される。図1では、方向入力キー1002やボタンスイッチ1004、タッチパネル1012がこれに該当する。
【0084】
撮像部120は、撮影対象からの光を受光して電気信号に変換し、デジタル画像データを生成し、処理部200へ出力する。この機能は、レンズ、メカシャッター、シャッタードライバ、CCDイメージセンサモジュールやCMOSイメージセンサモジュールといった光電変換素子、光電変換素子から電荷量を読み出し画像データを生成するデジタルシグナルプロセッサ(DSP)、ICメモリなどで実現される。図1ではイメージセンサモジュール1014がこれに該当する
【0085】
処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC(特定用途向け集積回路)、ICメモリなどの電子部品によって実現され、操作入力部110や記憶部300を含む携帯型ゲーム装置1000の各機能部との間でデータの入出力を行う。そして、所定のプログラムやデータ、操作入力部110からの操作入力信号に基づいて各種の演算処理を実行して、携帯型ゲーム装置1000の動作を制御する。図1では制御ユニット1020がこれに該当する。また、処理部200は、主にゲームの実行に係る演算処理を行うゲーム演算部210と、ゲーム演算部210の処理によって求められたデータに基づきゲーム画像を生成する画像生成部230と、効果音やBGM等のゲーム音を生成する音声生成部240とを含む。
【0086】
ゲーム演算部210は、順路生成部212を含み、ゲームプログラム310に従ったゲーム処理を行う。具体的には、ゲーム演算部210は、ゲーム処理では、先ず、出題文字列を決定する。すなわち、出題文字列群データ320として記憶されている予め用意された出題文字列群のうちから、出題難易度等に応じて一の出題文字列を選択する。
【0087】
次いで、文字盤生成処理を行って、決定した出題文字列の文字数に応じた文字盤30を設定する。すなわち、撮像部120による撮像画像に対する所定の輪郭抽出処理を行い、抽出した輪郭に基づく文字盤30の形状を決定する。そして、形状を決定した文字盤30に、少なくとも、出題文字列の文字数のマス40が配置されるように大きさを適当に決定したマス40を、縦横方向に連続するように配置する。
【0088】
ここで、生成した文字盤30についてのデータは、生成文字盤データ340として記憶される。
【0089】
図21は、生成文字盤データ340のデータ構成の一例を示す図である。図21によれば、生成文字盤データ340は、文字盤30の形状を定義した文字盤形状データ341と、該文字盤30に設定されたマス40についての配置マスデータ350とを含んでいる。
【0090】
配置マスデータ350は、該文字盤30に設定されたマスの数351と、始点マス352と、始点マスのパリティ353と、終点マス354と、終点マスのパリティ355とを格納している。また、マス40それぞれについて、マスID356aと、上下左右方向それぞれの隣接マス356bと、パリティ356cと、順路としての選択状態356dと、袋小路マスであるか否かを示す袋小路フラグ356eとを対応付けて格納しているとともに、判定用マス50それぞれについて、判定用マスID357aと、上下左右方向それぞれの隣接マス357bと、選択状態357cとを対応付けて格納している。
【0091】
続いて、ゲーム演算部210は出題文字列の各文字を割り当てた文字ブロック10を、順路生成部212によって生成された順路に従って、生成した文字盤30に配置した回答画面W2を生成し、画像表示部130に表示させる。次いで、この回答画面W2においてプレーヤによって回答された文字の並びと、出題文字列とが一致するか否かを比較することで、正解/不正解を判定する。そして、この判定結果に応じた演出、例えば、正解すると文字盤30のもととなった撮像画像を表示するといった演出処理を行う。
【0092】
順路生成部212は、順路生成処理を行って、生成された文字盤30において出題文字列の各文字を割り当てた文字ブロック10を配置する順路を生成する。具体的には、先ず、始点マスを決定する。すなわち、文字盤30の各マスに、互いに隣り合うマス40のパリティが異なるように「1/0」のパリティを設定し、各パリティのマス数を計数する。各パリティのマスの数が同じならば、全てのマス40のうちから、例えばランダムに選択した一のマスを始点マスとする。そして、始点マスのパリティと異なるパリティを、終点マスのパリティとする。一方、各パリティのマス数が異なるならば、マス数が多い方のパリティのマス40のうち、例えばランダムに選択した一のマス40を始点マスとする。そして、この始点マスのパリティを、終点マスのパリティとする。
【0093】
そして、始点マスを最初の確定マスとし、この始点マスから1マスずつ順路を伸ばしてゆく。すなわち、確定マスに隣り合う上下左右の4つのマス40のうち、未確定マスのうちから1つをランダムに選択し、次に順路とする候補マスとする。そして、順路完成可否判定処理を行って、この候補マスに仮順路を伸延した場合の順路の完成可否(可能/不可能)を判定する。
【0094】
順路完成可否判定処理では、(A)袋小路マス、(B)未確定マスの連結/非連結、それぞれに基づく順路の完成可否の判定を行い、両方で可能と判定したときに順路の完成が可能と判定する。
【0095】
具体的には、袋小路マスに基づく判定については、確定した順路の先頭マス(最新の確定マス)に隣接する上下左右の4つのマス40それぞれについて、候補マスに仮順路を伸延することで新たに袋小路マスとなるか否かを判定する。新たな袋小路マスとならないならば、順路の完成は“可能”と判定する。また、新たに袋小路マスとなり、該新たな袋小路マスを含む袋小路マスの累計が「1」ならば、該新たな袋小路マスのパリティが終点マスのパリティに一致するか否かを判定し、一致しないならば順路の完成は“不可能”と判定し、一致するならば順路の完成は“可能”と判定する。また、新たに袋小路マスとなり、該新たな袋小路マスを含む袋小路マスの累計が「2」以上ならば、順路の完成は“不可能”と判定する。
【0096】
また、未確定マスの連結/非連結に基づく判定については、文字盤30の周囲に連結/非連結の判定用マス50を追加設定する。これらの判定用マス50は、未確定マスとして初期設定し、判定用マス50に隣接するマス40の何れかが確定マスとなった時点(順路として確定した時点)で、未確定マスから確定マスに変更する。
【0097】
そして、候補マスの周囲8マス(マス40及び判定用マス50)を抽出し、抽出した8マスのうちの未確定マスの連結/非連結を判定する。連結と判定したならば、文字盤30における全ての未確定マスが連結していると判定し、順路の完成は“可能”と判定する。一方、非連結と判定したならば、文字盤30における全ての未確定マスは非連結と判定し、順路の完成は“不可能”と判定する。
【0098】
順路完成可否判定処理の結果、順路の完成が“可能”と判定したならば、候補マスを確定マスとしてこの候補マスまで順路を伸ばし、次の候補マスを選択する。一方、順路の完成が“不可能”と判定したならば、現時点での候補マスは順路として不適切であると判断し、順路の先頭のマス40に隣接する他の未確定マスのうちから別の候補マスを選択し、同様の判定を行う。またこの途中、確定した順路の先頭マス40に隣接するマス40に、候補マスとして選択できる未確定マスが無い状態となると、現在の始点マスの選択をキャンセルし、別の始点マスを再設定する。これを、全てのマス40を確定マスとするまで繰り返すことで、順路を生成する。生成した順路についてのデータは、生成順路データ360として記憶される。
【0099】
図20に戻り、画像生成部230は、例えば、GPU(Graphics Processing Unit)、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデック、フレームバッファ等の描画フレーム用ICメモリ等によって実現される。画像生成部230は、ゲーム演算部210による処理結果に基づいて1フレーム時間(例えば1/60秒)で1枚のゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部130に出力する。
【0100】
画像表示部130は、画像生成部230から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイやブラウン管(CRT)といった画像表示装置によって実現できる。図1では、第1液晶ディスプレイ1006及び第2液晶ディスプレイ1008がこれに該当する。
【0101】
音声生成部240は、例えばデジタルシグナルプロセッサ(DSP)、音声合成ICなどのプロセッサや、音声ファイル再生可能なオーディオコーデックによって実現され、ゲーム演算部210による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音声出力部140に出力する。
【0102】
音声出力部140は、音声生成部240から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図1では、スピーカ1010がこれに該当する。
【0103】
通信部150は、通信回線Nと接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1の無線通信モジュール1022がこれに該当する。
【0104】
記憶部300は、処理部200に携帯型ゲーム装置1000を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作入力部110から入力される入力データ等を一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。図1では制御ユニット1020が搭載するICメモリやメモリカード1030がこれに該当する。本実施形態では、記憶部300は、プログラムとしてゲームプログラム310が記憶されるとともに、データとして、出題文字列群データ320と、撮像画像データ330と、生成文字盤データ340と、生成順路データ360とが記憶される。
【0105】
[処理の流れ]
図22は、ゲーム処理の流れを説明するフローチャートである。図22によれば、ゲーム演算部210は、先ず、出題文字列を決定する(ステップA1)。次いで、文字盤設定処理を行って、決定した出題文字列の文字数に合わせた文字盤30を生成する(ステップA3)。
【0106】
図23は、文字盤設定処理の流れを説明するフローチャートである。図23によれば、ゲーム演算部210は、先ず、撮影処理を行う(ステップB1)。そして、撮像画像に対する輪郭抽出を行い(ステップB3)、抽出した輪郭をもとに文字盤30の形状を決定する(ステップB5)。次いで、決定した形状の文字盤30に、出題文字列の文字数のマス40を、縦横方向に連接するように設定する(ステップB7)。
【0107】
続いて、設定したマス40に、「1/0」のパリティを、隣り合うマス40同士のパリティが異なるように設定する(ステップB9)。次いで、各パリティのマス数を計数し、各パリティのマス数の差が「2」以上ならば(ステップB11:NO)、該文字盤30において順路の生成は“不可能”と判定し(ステップB13)、文字盤30におけるマス40の配置を変更した後(ステップB15)、ステップB9に戻り、同様の処理を繰り返す。
【0108】
一方、各パリティのマス数の差が「1」以下ならば(ステップB11:YES)、該文字盤30において順路の生成は“可能”と判定する(ステップB17)。以上の処理を行うと、文字盤設定処理を終了する。
【0109】
その後、順路生成部212が順路生成処理を行って、文字盤30における出題文字列の各文字の配列順序を決定する(ステップA5)。
【0110】
図24は、順路生成処理の流れを説明するフローチャートである。図24によれば、先ず、文字盤30の周囲に連結の判定用マス50を追加設定し(ステップC1)、これらの判定用マス50を未確定マスとして初期設定する(ステップC3)。
【0111】
次いで、始点マス決定処理を行って始点マスを決定する。すなわち、文字盤30における各パリティのマス数を計数し、各パリティのマス数が同じならば(ステップC7:YES)、文字盤30の全てのマス40のうちから、例えばランダムに1つのマス40を選択して始点マスとする(ステップC9)。そして、決定した始点マスのパリティとは異なるパリティを、終点マスのパリティとする(ステップC11)。
【0112】
一方、2つのパリティそれぞれのマス数が異なるならば(ステップC7:NO)、マス数が多い方のパリティであるマス40のうちから、例えばランダムに1つのマス40を選択して始点マスとする(ステップC13)。そして、決定した始点マスのパリティと同じパリティを、終点マスのパリティとする(ステップC15)。
【0113】
始点マスを決定すると、続いて、順路の先頭マスとなる最新の確定マスについて、次に進めるマス40の有無を判定し、次に進めるマス40が無い場合には(ステップC17:NO)、ステップC3に戻る。次に進めるマス40が有る場合には(ステップC17:YES)、最新の確定マスに隣接する上下左右の4つのマス40のうち、未確定マスのうちから1つを選択して次の候補マスとする(ステップC19)。
【0114】
続いて、順路完成可否判定処理を行って、この候補マスに仮順路を伸延した場合の順路の完成の可能/不可能を判定する(ステップC21)。
【0115】
図25は、順路完成可否判定処理の流れを説明するフローチャートである。図25によれば、先ず、未確定マスの連結/非連結に基づく判定を行う。すなわち、現時点で確定した順路の先頭マスが判定用マス50に隣接しているか否かを判定し、隣接しているならば(ステップD1:YES)、判定用マス50を確定マスとする(ステップD3)。
【0116】
次いで、候補マスの周囲の8つのマス40を抽出し(ステップD5)、抽出したこれら8つのマス40について、未確定マスの連結/非連結を判定する(ステップD7)。非連結と判定したならば(ステップD9:NO)、文字盤30における全ての未確定マスは非連結であり、従って、順路の完成は“不可能”と判定する(ステップD11)。一方、連結していると判定したならば(ステップD9:YES)、文字盤30における全ての未確定マスは連結しており、袋小路マスに基づく判定を行う。
【0117】
すなわち、確定した順路の先頭マスの上下左右に隣接する4つのマス40を抽出し(ステップD13)、抽出した4つのマス40のうち、未確定マスそれぞれについて、候補マスに仮順路を伸延することで新たに袋小路マスとなるか否かを判定する(ステップD15)。
【0118】
何れかの未確定マスが新たに袋小路マスとなるならば(ステップD17:YES)、該新たな袋小路マスを含めた、ここまでの袋小路マスの累計を計数する。そして、袋小路マスの累計が「2」以上ならば(ステップD19:YES)、順路の完成が“不可能”と判定する(ステップD23)。
【0119】
一方、袋小路マスの累計が「1」ならば(ステップD19:NO)、該新たな袋小路マスのパリティが終点マスのパリティに一致するか否かを判定する。パリティが一致するならば(ステップD21:YES)、順路の完成は“可能”と判定し(ステップD25)、一致しないならば(ステップD21:NO)、順路の完成は“不可能”と判定する(ステップD23)。
【0120】
一方、何れの未確定マスも袋小路マスにならないならば(ステップD17:NO)、順路の完成は“可能”と判定する(ステップD25)。以上の処理を行うと、順路完成可否判定処理を終了する。
【0121】
順路完成可否判定処理の結果、順路を完成可能と判定したならば(ステップC23:YES)、候補マスまで仮順路を1マス分延ばし、候補マスを確定マスとする(ステップC25)。次いで、順路が完成したか否かを判定し、完成していないならば(ステップC27:NO)、ステップC17に戻り、同様の処理を繰り返す。一方、順路が完成したならば(ステップC27:YES)、順路生成処理を終了する。
【0122】
順路生成処理が終了すると、ゲーム演算部210は、文字盤30に決定された配列順序で出題文字列の各文字を配置して回答画面W2を生成し表示させる(ステップA7)。そして、プレーヤによって回答された文章(文字の並び)と出題文字列とが一致するか否かによって正解/不正解を判定する、回答に対する答え合わせを行う(ステップA9)。その後、出題を終了するか否かを判定し、終了しないならば(ステップA11:NO)、ステップA1に戻り、次の出題について同様の処理を繰り返す。一方、出題を終了するならば(ステップA13:YES)、ゲーム処理を終了する。
【0123】
[作用・効果]
このように、本実施形態によれば、一筆書きの要領で文字を繋いで意味のある文章とする文字パズルゲームにおいて用いられる、文字盤30における出題文字列の各文字の配列順路を生成することができる。文字盤30における順路は、先ず、始点マスを決定し、この始点マスから1マスずつ順路を延ばしてゆくことで生成される。このとき、確定した順路の先頭マスに隣接する未確定マスのうちから次の順路の候補マスを選択する。そして、この候補マスに仮順路を伸延した場合に、袋小路マスができるか否か、未確定マスが連結しているか否かをもとに、順路が完成するか否かを判定し、可能と判定すると、候補マスを新たな順路と確定することで順路を1マス分延ばす。
【0124】
[変形例]
本発明の適用は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能なのは勿論である。
【0125】
(A)難易度
例えば、出題の難易度を考慮して順路を生成することにしても良い。
【0126】
(A−1)屈曲部の数
具体的には、順路における屈曲部の数を難易度に応じた数とする。意味のある文字列は、屈曲部の数が多いほど見つけ出し難い、すなわち難易度が高い傾向がある。例えば、図26は、同じ36文字の文字列「はったつしたこうきあつがたいへいようをとうほくとうにすすんでいるようです」を、異なる配置順で配置した例である。図26(a)では、屈曲部の数が少なく、10箇所で屈曲している。一方、同図(b)では、屈曲部の数が多く、27箇所で屈曲している。これらを比較すると、屈曲部の数が少ないほうが、意味のある文字列を見つけ出し易い傾向にあるといえる。
【0127】
このため、図27に示すように、候補マスを選択する際に、難易度を高くしたい(難しくしたい)場合には、確定した順路の先頭マス(最新の確定マス)に隣接する未確定マスのうち、確定した順路の先頭マスとその1つ前のマスとを結ぶ直線方向に無い未確定マスを優先的に選択して屈曲部を多くするようにし、逆に、難易度を低くしたい(易しくしたい)場合には、この直線方向に有る未確定マスを優先的に選択して屈曲部を少なくするようにする。
【0128】
同図では、マス40−i〜40−kが確定マスであり、確定した順路の先頭マス40−kに隣接する未確定マス40−g,40−l,40−oのうちから、次の候補マスを選択する場合を示している。この場合、最新の確定マス40−kとその1つ前の確定マス40−jとを結ぶ直線方向は「左右方向(横方向)」となる。そして、難易度を低くしたい場合には、この直線方向に沿った方向に配置されているマス40−lを優先的に選択し、逆に、難易度を高くしたい場合には、この直線方向に沿った方向に配置されていないマス40−g,40−oを優先的に選択する。
【0129】
(A−2)順路の方向
また、日本語の文章では、左から右方向へ、或いは、上から下方向へ並んだ文字列のほうが読み易い傾向がある。例えば、図28は、同じ9文字の文字列「にじゅういっせいき」を異なる配置順で配置した例である。同図(a)では、左上の文字を先頭文字として、ここから右方向に向かう順路で配置されている。一方、同図(b)では、右下の文字を先頭文字として、ここから上方向に向かう順路で配列されている。これらを比較すると、左から右方向へ、或いは、上から下方向へ文字が並んだほうが、意味のある文字列を見つけ出し易いといえる。
【0130】
このため、生成された順路において上方向に進む回数を数え、それが一定以上の数となっている場合には、難易度が高い順路であると判断する。生成された順路が希望する難易度に達していない場合には、上方向に進む回数が指定回数以上になるまで順路を生成し直すことで、必要な難易度の順路を得ることができる。
【0131】
(B)基礎文字盤の組合せ
また、順路の他の生成方法として、所望の文字盤30よりもマス数が少ない基礎文字盤(基礎配列盤)を複数用意し、これを組み合わせることで1つの文字盤30を生成することにしても良い。
【0132】
具体的には、例えば、図29に示すように、所望の文字盤30を分割した複数の基礎文字盤60を生成する。これらの基礎文字盤60には、例えば、図30,図31に示すように、複数の順路が定められる。順路は、該基礎文字盤60と他の基礎文字盤60と組み合わせたときに、始点マス及び終点マスが、隣接する他の基礎文字盤60の始点マス及び終点マスと隣り合うマスとなるように定められる。そして、例えば、図32に示すように、これらの基礎文字盤60を組み合わせることで、所望のマス数の文字盤30を生成する。このとき、基礎文字盤60を回転或いは反転させて、組み合わせても良い。
【0133】
図29では、文字盤30は、4つの領域32A〜32Dに四分割されている。領域32A,32Dは同一形状であり、領域32B,32Cは同一形状である。そして、領域32A,32Dと同一形状の基礎文字盤60Aについては、図30に示すように、2種類の順路を設定した基礎文字盤60A−1,60A−2を生成する。また、領域32B,32Cと同一形状の基礎文字盤60Bについては、図31に示すように、2種類の順路を設定した基礎文字盤60B−1,60B−2を生成する。
【0134】
基礎文字盤60における順路は、全てのマスを1回ずつ通り、始点マス或いは終点マスとなる2つの始/終点マス62を繋ぐように設定される。この始/終点マスは、基礎文字盤60の周部のマスであって、他の基礎文字盤60と組み合わせたときに該他の基礎文字盤60の始/終点マス62と隣接するマスに設定される。
【0135】
そして、基礎文字盤60A,60Bを組み合わせることで、所望の文字盤30を生成する。例えば、図32は、領域32Aに基礎文字盤60A−1を配置し、領域32Bに基礎文字盤60B−1を180度回転させて配置し、領域32Cに基礎文字盤60B−1を配置し、領域32Dに基礎文字盤60A−1を180度回転させて配置することで、文字盤30の順路を生成した例である。
【0136】
このように、順路が設定された基礎文字盤60を組み合わせることで、所望の文字盤30における順路が生成される。この順路は閉順路となるので、該閉順路に沿って隣り合う2つのマスのうち、一方を始点マスとし他方を終点マスとすることで、1本の順路とすることができる。
【0137】
また、基礎文字盤60を組み合わせて生成した閉順路が左右対称或いは上下対称でない場合、閉順路を左右反転或いは上下反転させてから順路を生成することで、更に異なる順路を生成することができる。また、閉順路が回転対称でない場合も同様に、閉順路を回転させてから順路を生成しても良い。
【0138】
更に、複数の基礎文字盤60を組み合わせて閉順路を生成するのではなく、予めいくつかの閉順路を用意しておき、これらのうちから一つを選択して順路を生成することにしても良い。これにより、より高速に順路の生成を行うことができる。この場合も同様に、閉順路の反転や回転を行うことで、更に異なる順路を生成することができる。
【0139】
(C)紙に印刷出力
また、生成した問題文章の順路(各文字の配列順)の出力方法として、回答画面W2としてディスプレイ等に表示させるではなく、紙に印刷出力することにしても良い。
【0140】
(D)文字種別
また、上述の実施形態では、出題文字列を構成する各文字を「ひらがな」としたが、例えば、カタカナや漢字、数字、演算記号等といったこれ以外の文字種別とすることもできる。勿論、複数の文字種別を用いた出題文字列とすることもできる。例えば、数字及び演算記号を用いた出題文字列として、九九や「12×12=144」といった数式がある。
【0141】
更に、点字にも適用可能である。この場合、例えば、一般的な6点式点字においては、濁音や半濁音、拗音、数字といった「2字」で表記する文字が含まれるが、出題文字列としてこれらの文字を含まない文字列を選択することで、同様に適用可能である。
【0142】
(E)適用するゲーム
また、本実施形態における順路の生成方法は、文字パズルゲームのみではなく、他のゲームにも適用可能である。例えば、プレーヤキャラクタを定められたルート上で移動させるアクションゲームにおけるルートの作成や、ダンジョンの自動生成等に適用可能である。
【0143】
(F)適用するゲーム装置
また、上述の実施形態では、携帯型ゲーム装置に適用した場合を説明したが、業務用ゲーム装置や家庭用ゲーム装置にも同様に適用可能である。更には、ゲーム装置に限らず、アプリケーションソフトが実行可能な携帯電話機やコンパクトデジタルカメラ、音楽プレーヤ、パソコン、カーナビと言った電子機器も、プログラムを実行可能なコンピュータを内蔵している、或いはコンピュータそのものといえるため、本発明を実現する一形態とすることができる。
【符号の説明】
【0144】
1000 携帯型ゲーム装置
110 操作入力部、120 撮像部
130 画像表示部、140 音声出力部、150 通信部
200 処理部
210 ゲーム演算部、212 順路生成部
230 画像生成部、240 音声生成部
300 記憶部
310 ゲームプログラム、312 順路生成プログラム
320 出題文字列群データ、330 撮像画像データ
340 生成文字盤データ、360 生成順路データ
10 文字ブロック
30 文字盤、40 マス、50 判定用マス

【特許請求の範囲】
【請求項1】
文字、数字、記号又はこれらの組合せ(以下「文字等」という。)の意味のある並びとなるように、文字等が割り当てられて縦横方向に連接配置されたマスを1度だけ通過する順路をプレーヤに見出させるゲームに用いるために、前記文字等が割り当てられていないマスの配列盤に対して、正答順路となる前記文字等の割り当て順路を作成させるようコンピュータに演算処理させるためのプログラムであって、
前記配列盤のうち、前記順路の始点マスを選択し、確定マスとする始点マス選択手段、
最新の確定マスに隣接する未確定マスの中から候補マスを選択する候補マス選択手段、
前記候補マスに仮順路を伸延した場合の順路完成の可否を判定する可否判定手段、
前記可否判定手段により可と判定された場合に前記候補マスを最新の確定マスとして仮順路を1マス分延伸する延伸手段、
として前記コンピュータを機能させるとともに、前記候補マス選択手段、前記可否判定手段、及び前記延伸手段を繰り返し機能させて前記配列盤の全てのマスが確定マスとなった場合の前記仮順路を前記正答順路とさせるためのプログラム。
【請求項2】
前記配列盤の各マスを配置位置に応じて市松模様状に互い違いにマスを選択することで2つのグループにグループ分けするグループ分け手段として前記コンピュータを機能させ、
前記選択手段が、前記2つのグループそれぞれの所属マス数が異なる場合、多い方のグループに所属するマスの中から始点マスを選択するように前記コンピュータを機能させる、
ための請求項1に記載のプログラム。
【請求項3】
前記可否判定手段が、
前記候補マスに仮順路を伸延することで所定の袋小路条件を満たすこととなる未確定マスを検出する袋小路検出手段と、
前記袋小路検出手段の検出結果を用いて前記順路完成の可否を判定する袋小路判定手段と、
を有するように前記コンピュータを機能させるための請求項1又は2に記載のプログラム。
【請求項4】
前記袋小路判定手段が、前記袋小路検出手段の検出結果を含めて前記袋小路条件を満たす未確定マスが2以上存在することとなる場合に、前記順路完成を不可と判定する手段を有する、
ように前記コンピュータを機能させるための請求項3に記載のプログラム。
【請求項5】
前記配列盤の各マスを配置位置に応じて市松模様状に互い違いにマスを選択することで2つのグループにグループ分けするグループ分け手段として前記コンピュータを機能させ、
前記袋小路判定手段が、前記袋小路検出手段により検出された未確定マスが、前記始点マスと同じグループに属するか否かに応じて前記順路完成の可否を判定する手段を有する、
ように前記コンピュータを機能させるための請求項3又は4に記載のプログラム。
【請求項6】
前記可否判定手段が、前記候補マスに仮順路を伸延することで、未確定マス全てが所定の連接条件を満たさなくなる場合に、前記順路完成を不可と判定する連接性判定手段を有する、
ように前記コンピュータを機能させるための請求項1〜5の何れか一項に記載のプログラム。
【請求項7】
前記連接性判定手段が、
前記配列盤の周囲に仮想マスを配置する仮想マス配置手段と、
最新の確定マスが前記仮想マスの何れかと隣接した場合に全ての仮想マスを仮想確定マスとする仮想マス確定手段と、
を有し、前記候補マスの周囲8マスに含まれる未確定マス及び仮想未確定マスが前記連接条件を満たさなくなる場合に前記順路完成を不可と判定する、
ように前記コンピュータを機能させるための請求項6に記載のプログラム。
【請求項8】
前記候補マス選択手段が、最新の確定マスに隣接する未確定マスのうち、最新の確定マスと、その1つ前に確定した確定マスとを結ぶ直線方向に無い未確定マスを優先的に候補マスとして選択するように前記コンピュータを機能させるための請求項1〜7の何れか一項に記載のプログラム。
【請求項9】
前記候補マス選択手段が、最新の確定マスに隣接する未確定マスのうち、最新の確定マスと、その1つ前に確定した確定マスとを結ぶ直線方向に有る未確定マス、及び、直線方向に無い未確定マスの何れを優先的に候補マスとして選択するかを、所与の難易度に応じて可変する手段を有するように前記コンピュータを機能させるための請求項1〜7の何れか一項に記載のプログラム。
【請求項10】
前記候補マス選択手段が、最新の確定マスに隣接する未確定マスのうち、最新の確定マスの右又は下に位置する未確定マス、及び、左又は上に位置する未確定マスの何れを優先的に候補マスとして選択するかを、所与の難易度に応じて可変する手段を有するように前記コンピュータを機能させるための請求項1〜7の何れか一項に記載のプログラム。
【請求項11】
文字等の意味のある並びとなるように、文字等が割り当てられて縦横方向に連接配置されたマスを1度だけ通過する順路をプレーヤに見出させるゲームに用いるための前記マスの出題用の配列盤を作成させるようコンピュータに演算処理させるためのプログラムであって、
始点マス及び終点マスが周囲何れかのマスとされて割り当て順路が予め定められたN個(Nは2以上)の基礎配列盤を、i番目(i=1〜(N−1))の基礎配列盤の終点マスとi+1番目の基礎配列盤の始点マスとが隣接するように配置構成することで1番目の基礎配列盤の始点マスからN番目の基礎配列盤の終点マスまでを正答順とする前記出題用の配列盤を作成させる配置構成手段として前記コンピュータを機能させるためのプログラム。
【請求項12】
文字等の意味のある並びとなるように、文字等が割り当てられて縦横方向に連接配置されたマスを1度だけ通過する順路をプレーヤに見出させるゲームに用いるために、前記マスの配置位置が決定され前記文字等が割り当てられていない前記マスの配列盤の作成及び当該配列盤に対する正答順路となる前記文字等の割り当て順路の作成をコンピュータに演算処理させるためのプログラムであって、
前記マスを配列することにより前記配列盤の候補となる配列盤候補を作成する配列盤候補作成手段、
前記配列盤候補の各マスを配置位置に応じて市松模様状に互い違いにマスを選択することで2つのグループにグループ分けした場合に、当該2つのグループそれぞれの所属マス数が2以上異なるか否かで前記配列盤候補の良否を判定する配列盤候補良否判定手段、
前記配列盤候補良否判定手段により良と判定されるまで前記配列盤候補作成手段に繰り返し再作成させる再作成制御手段、
として前記コンピュータを機能させるとともに、前記配列盤候補良否判定手段により良と判定された配列盤候補を配列盤として請求項1〜10の何れか一項に記載のプログラムを実行させることで前記正答順路を作成させるように前記コンピュータを機能させるためのプログラム。
【請求項13】
請求項1〜12の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項14】
文字等の意味のある並びとなるように、文字等が割り当てられて縦横方向に連接配置されたマスを1度だけ通過する順路をプレーヤに見出させるゲームに用いるために、前記文字等が割り当てられていないマスの配列盤に対して、正答順路となる前記文字等の割り当て順路を作成する順路作成装置であって、
前記配列盤のうち、前記順路の始点マスを選択し、確定マスとする始点マス選択手段と、
最新の確定マスに隣接する未確定マスの中から候補マスを選択する候補マス選択手段と、
前記候補マスに仮順路を伸延した場合の順路完成の可否を判定する可否判定手段と、
前記可否判定手段により可と判定された場合に前記候補マスを最新の確定マスとして仮順路を1マス分延伸する延伸手段と、
を備え、前記候補マス選択手段、前記可否判定手段、及び前記延伸手段を繰り返し機能させて前記配列盤の全てのマスが確定マスとなった場合の前記仮順路を前記正答順路とする順路作成装置。
【請求項15】
文字等の意味のある並びとなるように、文字等が割り当てられて縦横方向に連接配置されたマスを1度だけ通過する順路をプレーヤに見出させるゲームに用いるための前記マスの出題用の配列盤を作成する配列盤作成装置であって、
始点マス及び終点マスが周囲何れかのマスとされて割り当て順路が予め定められたN個(Nは2以上)の基礎配列盤を、i番目(i=1〜(N−1))の基礎配列盤の終点マスとi+1番目の基礎配列盤の始点マスとが隣接するように配置構成することで1番目の基礎配列盤の始点マスからN番目の基礎配列盤の終点マスまでを正答順とする前記出題用の配列盤を作成する配列盤作成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate


【公開番号】特開2011−206445(P2011−206445A)
【公開日】平成23年10月20日(2011.10.20)
【国際特許分類】
【出願番号】特願2010−79544(P2010−79544)
【出願日】平成22年3月30日(2010.3.30)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】