パズル面生成システム及びパズル面生成方法
【課題】複数のマスで構成されるパズル面を短時間で容易に生成するパズル面生成システム等を提供する。
【解決手段】複数のマスMがマトリックス状に配列されたパズル面Qの各マスMに関して、位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報22とを含むパズル面情報を記憶し、新パズル面Q’における各マスMの線種情報22’を構成する2つの辺のそれぞれの辺と、パズル面Qの辺とを対応付け、新パズル面Q’の各マスMの線種情報22’における各辺の線種を、パズル面情報を参照して各辺に対応付けられたパズル面Qの辺の線種として決定することにより線種情報22’を生成する線種情報生成部10aと、新パズル面Q’における各マスMの位置座標と線種情報22’を対応付けることにより、新パズル面Q’のパズル面情報を生成するパズル面情報生成部10bとを有する。
【解決手段】複数のマスMがマトリックス状に配列されたパズル面Qの各マスMに関して、位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報22とを含むパズル面情報を記憶し、新パズル面Q’における各マスMの線種情報22’を構成する2つの辺のそれぞれの辺と、パズル面Qの辺とを対応付け、新パズル面Q’の各マスMの線種情報22’における各辺の線種を、パズル面情報を参照して各辺に対応付けられたパズル面Qの辺の線種として決定することにより線種情報22’を生成する線種情報生成部10aと、新パズル面Q’における各マスMの位置座標と線種情報22’を対応付けることにより、新パズル面Q’のパズル面情報を生成するパズル面情報生成部10bとを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のマスで構成されるパズル面を生成するパズル面生成システム及びパズル面生成方法に関する。
【背景技術】
【0002】
パズル問題として複数のマスで構成されるパズル面が提示され、少なくとも一部のマスに対して、所定の条件が満たされるようにユーザに情報を入力させるパズルゲームは既に知られている(例えば、特許文献1)。
【特許文献1】特開平3−166653号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、このようなパズルゲームで使用されるパズル面を生成する場合、パズル問題として成立させるべく、少なくとも一部のマスが所定の条件を満たすことに留意しなければならない。このため、パズル面に対応付けられる条件が多い場合は生成に時間を要し、特に、多数のパズル面を短時間で多量に生成することは困難である。
【0004】
そこで、本発明は、複数のマスで構成されるパズル面を短時間で容易に生成するパズル面生成システム及びパズル面生成方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明は、以下の手段により上述した課題を解決する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
【0006】
本発明のパズル面生成システム(1)は、複数の矩形状のマス(M)がマトリックス状に配列され、前記複数のマスの一部の辺は第1の線種で示され、前記一部の辺以外の辺は第2の線種で示されるパズル面(Q)を提示して、線種に応じた所定の条件が満たされるように、前記複数のマスへユーザに入力が求められるパズルゲームの前記パズル面を生成するパズル面生成システムであって、前記パズル面の各マスに関して、そのマスの位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報(22、136)とを含むパズル面情報(PI−1、PI−2)を記憶する記憶部(12)と、前記パズル面を幾何学的変換することにより新パズル面を生成する新パズル面生成部(10)とを有し、前記新パズル面生成部は、前記新パズル面における各マスの線種情報を構成する2つの辺のそれぞれの辺と、変換元である前記パズル面の辺とを対応付け、前記新パズル面の各マスの線種情報を構成する2つの辺のそれぞれの辺の線種を、前記パズル面情報を参照して前記各辺に対応付けられた前記パズル面の辺の線種として決定することにより前記線種情報を生成する線種情報生成部(10a)と、前記新パズル面における各マスの位置座標と前記線種情報生成部において生成された前記各マスの線種情報を対応付けることにより、前記新パズル面のパズル面情報を生成するパズル面情報生成部(10b)とを有することにより、上記の課題を解決する。
【0007】
本発明のパズル面生成システムは、2つの線種がパズル面に使用され、当該線種に基づいたパズルを提供するパズル面を生成するシステムであり、新パズル面生成部により、第1の線種と第2の線種とで構成される1つのパズル面を幾何学的変換することにより、新しいパズル面を生成することができる。パズル面の構成はパズル面情報によって決定され、パズル面情報は、各マスの位置座標と所定の頂点で交わる2つの辺の線種とで構成される。例えば、所定の頂点が左上の頂点の場合、各マスについて上辺と左辺の線種が対応付けられる。新パズル面生成部には線種情報生成部とパズル面情報生成部とが含まれ、線種情報生成部により変換元となる辺の線種に基づいて新パズル面の各辺の線種が決定され、パズル面情報生成部により、新パズル面の各マスに関する情報が設定され、これにより新パズル面が生成される。幾何学的変換とは、回転や上下反転等であり、パズル面を構成する各マスの辺は全て同じ変換方法で変換されるため、新パズル面における各辺の変換元となる辺を特定することは容易である。また、各マスを特定するための情報は、位置と2つの辺の線種だけでよいため、新パズル面生成部の負担を軽減し記憶部のメモリの節約にもなる。
【0008】
第1の線種と第2の線種は視覚的に区別できるものであればよく、点線と実線のように形態が異なる場合や色が異なる場合等が含まれる。位置座標を得るための座標系は、各マスの位置を2次元で特定できる座標系であればいずれでもよく、例えば、パズル面の中心を原点とする座標系やパズル面の1つの頂点を原点とする場合等がある。なお、パズル面が提示される態様には、ゲーム画面に電気的に表示される場合と紙やフィルム等の記録体に印刷されて提示される場合とを含む。
【0009】
前記パズル面は、前記第1の線種によって少なくとも1つのマスが囲われる囲み部を有し、前記囲み線を構成する前記各マスの各辺は前記第1の線種で示され、前記囲み線を構成しない前記各マスの各辺は前記第2の線種で示されてもよい。これにより、囲み部に含まれる少なくとも1つのマスに対して所定の条件が与えられるパズルに本発明を適応することができる。
【0010】
前記パズル面の周囲は前記第1の線種で示されてもよい。本発明において、線種情報は各マスの所定の頂点にて交わる2つの辺の線種を示す情報であるから、パズル面の外枠に相当する辺の線種を線種情報から得ることができない場合があるが、当該場合は常に第1の線種として処理すればよい。従って、外枠の線種に関する情報は不要となる。
【0011】
前記マスは正方形で前記パズル面は前記複数のマスが縦横同数配列され、前記幾何学的変換は90度右回り回転、90度左回り回転、左右反転又は上下反転であってもよい。このようなパズル面の場合、90度回転や上下反転によってパズル面全体の形態を変化させずに、新パズル面を生成することができる。なお、「反転」とはパズル面の中心を通る水平方向又は垂直方向の対称線に関して左右又は上下に位置する複数のマスを反転させる変換である。
【0012】
前記線種情報生成部は、前記新パズル面における各マスを所定の順に処理マスとし、前記パズル面において前記処理マスが変換される前のマスを参照マスとして決定する参照マス決定部と、前記処理マスの線種情報を構成する2つの辺のうち、前記参照マスの線種情報を構成する2つの辺に対応しない辺を共有する隣接マスを決定し、前記パズル面において前記隣接マスの変換前のマスを隣接参照マスとして決定する隣接参照マス決定部と、前記パズル面情報を参照して、前記隣接参照マスの線種情報を取得する隣接参照マス線種取得部と、前記取得した線種情報において、前記隣接マスの前記共有する辺に対応する辺の線種を決定する隣接線種決定部と、前記処理マスの線種情報を構成する2つの辺のうち、前記参照マスの線種情報を構成する2つの辺のいずれかに対応する辺には、前記パズル面情報における前記参照マスの線種情報を参照して、前記対応する辺の線種を対応付け、前記2つの辺のいずれにも対応しない辺には、前記隣接線種決定部にて決定された線種を対応付けることにより、前記処理マスの線種情報を決定する処理マス線種決定部とを含み、前記パズル面情報生成部は、前記新パズル面における処理マスの位置座標と前記線種情報生成部において生成された線種情報とを対応付けることにより、前記新パズル面のパズル面情報を生成してもよい。
【0013】
この場合、処理マスに対する参照マス、隣接マス及び隣接参照マスの相対的な関係は一定しているので、当該相対的な関係を予め決定しておけば、処理マスを順次決定するだけで、処理マスの位置に応じた線種情報を直ちに得ることができる。
【0014】
本発明のパズル面生成方法によれば、複数の矩形状のマス(M1〜M9)がマトリックス状に配列され、前記複数のマスの一部の辺は第1の線種で示され、前記一部の辺以外の辺は第2の線種で示されるパズル面(Q)を提示して、線種に応じた所定の条件が満たされるように、前記複数のマスへユーザに入力が求められるパズルゲームの前記パズル面を生成するパズル面生成方法であって、前記パズル面の各マスに関して、そのマスの位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報(22、136)とを含むパズル面情報(PI−1、PI−2)を記憶するステップと、前記パズル面を幾何学的変換することにより新パズル面を生成するステップとを有し、前記新パズル面を生成するステップは、前記新パズル面における各マスの線種情報を構成する2つの辺のそれぞれの辺と、変換元である前記パズル面の辺とを対応付け、新パズル面の各マスの線種情報を構成する2つの辺のそれぞれの辺の線種を、前記パズル面情報を参照して各辺に対応付けられた前記パズル面の辺の線種として決定することにより前記線種情報を生成するステップと、前記新パズル面における各マスの位置座標と前記新パズル面の各マスに関して生成された線種情報とを対応付けることにより、前記新パズル面のパズル面情報を生成するステップとを有する、ことにより上記の課題を解決する。本発明は、例えば、請求項1のパズル面生成システムとして具現化される。
【発明の効果】
【0015】
上述したように、本発明によれば、パズル面の各マスに関して、そのマスの位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報とを含むパズル面情報を記憶し、新パズル面における各マスの線種情報を構成する2つの辺のそれぞれの辺と、変換元であるパズル面の辺とを対応付け、新パズル面の各マスの線種情報を構成する2つの辺のそれぞれの辺の線種を、パズル面情報を参照して各辺に対応付けられたパズル面の辺の線種として決定することにより線種情報を生成する線種情報生成部と、新パズル面における各マスの位置座標と線種情報生成部において生成された各マスの線種情報を対応付けることにより、新パズル面のパズル面情報を生成するパズル面情報生成部とを有する、ことにより、複数のマスで構成されるパズル面を短時間で容易に生成するパズル面生成システム等を提供することができる。
【発明を実施するための最良の形態】
【0016】
まず、本形態のパズルゲームのパズル面Qについて図1を用いて説明する。パズル面Qは、複数の正方形のマスM1〜マスM9がマトリックス状に配列されて構成される。以下、各マスM1〜M9を区別する必要のない時は「マスM」という。なお、本形態ではマスMが3×3に配列されているが、縦横に配列される数は3に限らない。パズル面Qにおいて、少なくとも1つのマスMが太線でグループ化されることにより、5つの囲み部としてのマスグループMG1〜MG5が形成されている。各マスグループMG1〜MG5にはヒント文字H1〜H5が対応付けられている。ヒント文字H1〜H5は、図1では文字で示されているが実際には、1+、2+、3+・・・等の数値と演算記号である。
【0017】
以下、各マスグループMG1〜MG5を区別する必要のない時は「マスグループMG」といい、各ヒント文字H1〜H5のそれぞれを区別する必要のない時は「ヒント文字H」という。パズル面Qの外枠又はマスグループMGの枠線の一部である各マスMの辺は第1の線種としての太線で示され、その他のマスMの各辺は第2の線種としての点線で示される。なお、パズル面Qにおいて、マスグループMGの数やマスグループMGに含まれるマスMの数は図1に示す態様に限らない。
【0018】
パズル面Qは、例えば所定のゲーム機のゲーム画面に表示されることによりプレイヤに提示される。各マスMに入力されるのは1〜3の数値であり、その際に、行・列毎に入力される数値が重複しないように、かつ、マスグループMG内の合計値が対応するヒント文字Hになるように入力しなければならない。プレイヤは操作カーソルを操作対象のマスMに移動し、カーソルのあるマスMに対して数値の入力又は削除を行うことにより、上記の条件を満たすように全てのマスMに数値を入力する。ヒント文字Hの数値は各マスMに入力される数値が一義的に決まるように設定されている。従って、1つのパズル面Qにつき正解は1つである。プレイヤによって全てのマスMに数値が入力され、かつ正解である時、ゲームがクリアされたことになる。
【0019】
本発明のパズル面生成システム1のハードウェア構成の概略について図2を用いて説明する。新パズル面生成システム1は入力部11とパズル面情報記憶部12と作業領域13とで構成される。入力部11は新パズル面Q’を生成するユーザによる入力を受け付ける。パズル面情報記憶部12は、既存のパズル面Qの構成を決定するためのパズル面情報を記憶する。パズル面情報のデータ構造については後述する。作業領域13は新パズル面Q’の生成に使用されるメモリ領域である。
【0020】
新パズル面生成部10は、CPUとその動作に必要なRAM、ROM等の記憶域で主に構成され、各構成11〜13の動作を制御する。ROMには本発明を実現するためのコンピュータプログラムが記憶され、コンピュータプログラムを起動させることにより、新パズル面生成部10は、主に線種情報生成部10a及びパズル面情報生成部10bとして機能する。なお、新パズル面生成システム1には、生成された新パズル面Q’等の所定の情報が表示されるモニタが更に備えられていてもよい。
【0021】
パズル面Qの構成を決定する第1の形態のパズル面情報PI−1について図3〜図6を用いて説明する。パズル面情報PI−1は、図3に示すようにパズル面Qを識別するためのパズル面ID18と各マスMに関する情報が設定されるマス情報20とで構成される。本形態の場合、1つのパズル面情報PI−1に9つのマス情報20が対応付けられる。マス情報20は、マスMの位置を示すマス位置21と、線種情報22と、ヒント文字23と、正解24とで構成される。
【0022】
マス位置21は所定の座標系におけるマスMの位置座標を示す。パズル面Qが奇数×奇数の場合の位置座標は図4に示す座標系を用い、パズル面Qが偶数×偶数の場合の位置座標は図5に示す座標系を用いる。各座標系にはX軸方向及びY軸方向に等間隔の複数のゾーンが設定されている。図4及び図5では、各座標系共にX軸方向のnゾーンをXZ−nで示し、Y軸方向のnゾーンをYZ−nで示す。本形態の場合、3×3のパズル面であるから、図4の座標系を用い、例えば、マスM1の場合、XZ−−1とYZ−+1の位置であるから、マスM1の位置座標は(−1、+1)で示される。
【0023】
線種情報22は、各マスMの左上頂点で交わる2つの辺、即ち、上辺と左辺の線種を示す。上辺と左辺の線種の組み合わせは、図6に示す通り、4つの線種パターンP1〜P4がある。以下、線種パターンP1〜P4を区別する必要のない時は「線種パターンP」という。例えば、線種情報22が(左辺の線種、上辺の線種)で示され、太線は「1」で点線は「0」で示される時、線種パターンP1は(1、1)、線種パターンP2は(1、0)、線種パターンP3は(0、1)、線種パターンP4は(0、0)と線種情報22に設定される。
【0024】
次に、第1の形態におけるパズル面Qの生成方法の原理について説明する。パズル面生成システム1は、既存の1つのパズル面Qから、基本的な幾何学的変換の組み合わせにより最大7つの新パズル面Q’を生成可能である。本形態における基本的な幾何学的変換は90度左回り回転(以下、「90度回転」という。)と上下反転であり、これら基本的な幾何学的変換の組み合わせには、図7に示すような7つの変換タイプが提供される。図8に、変換タイプ「90度回転」によって既存のパズル面Qから生成される新パズル面Q−1と、変換タイプ「上下反転」によって既存のパズル面Qから生成される新パズル面Q−2を示す。
【0025】
変換タイプ「90度回転」の場合において、パズル面Qの線種情報22から新パズル面Q−1の各マスMの線種情報22を得る手順について説明する。新パズル面Q−1において線種情報22を生成すべきマスM(以下「処理マスPM」という。)の位置座標を(X、Y)とした場合、処理マスMの変換前のマスM(以下「参照マスRM」という。)の位置座標は(Y、−X)である。この場合、参照マスRMの左辺及び上辺は処理マスPMの底辺及び左辺にそれぞれ対応する。従って、処理マスPMの上辺の線種を得るためには、処理マスPMの1つ上に位置する隣接マスAM(X、Y+1)の底辺の線種が必要である。隣接マスAMの変換前のマスM(以下「隣接参照マスARM」という。)の位置座標は(Y+1、−X)である。
【0026】
隣接参照マスARM(Y+1、−X)の線種情報22の左辺及び上辺は隣接マスAMの底辺及び左辺にそれぞれ対応する。従って、パズル面Qのパズル面情報PI−1を参照して参照マスRMの上辺及び隣接参照マスARMの左辺の線種が得られることにより、処理マスPMの線種情報22が決定される。即ち、参照マスRMの線種情報22が(o、p)であり、隣接参照マスARMの線種情報22が(q、r)である時、処理マスPMの線種情報22は(p、q)である。例えば、処理マスPM(−1、−1)の場合、上述した座標変換手順に従うと、参照マスRM(−1、+1)、隣接マスAM(−1、0)、隣接参照マスARM(0、+1)である。参照マスRMの線種情報22は、(1、1)であり、隣接参照マスARMの線種情報22も(1、1)であるから、処理マスPMの線種情報22は(1、1)と決定される。
【0027】
次に、変換タイプ「上下反転」の場合において、パズル面Qの線種22から新パズル面Q−2の各マスMの線種情報22を得る手順について説明する。新パズル面Q−2において処理マスPM’を(X、Y)とした場合、変換元の参照マスRM’の位置座標は(X、−Y)となる。この場合、参照マスRM’の左辺及び上辺は処理マスPM’の左辺及底辺にそれぞれ対応する。従って、処理マスPM’の上辺の線種を得るためには、処理マスPM’の1つ上に位置する隣接マスAM’(X、Y+1)の底辺の線種が必要である。隣接マスAM’の変換前のマスM(以下「隣接参照マスARM’」という。)の位置座標は(X、−Y−1)である。
【0028】
隣接参照マスARM’(X、−Y−1)の線種情報22の左辺及び上辺は隣接マスAM’の左辺及び底辺にそれぞれ対応する。従って、パズル面のQのパズル面情報PI−1を参照して参照マスRM’の左辺及び隣接参照マスARM’の上辺の線種が得られることによって、処理マスPM’の線種情報22が決定される。即ち、参照マスRM’の線種情報22が(o、p)であり、隣接参照マスARM’の線種情報22が(q、r)である時、処理マスPM’の線種情報22は(o、r)である。例えば、処理マスPM’(+1、−1)とした場合、上述した座標変換手順に従うと、参照マスRM’(+1、+1)、隣接マスAM’(+1、0)、隣接参照マスARM’(+1、0)である。参照マスRM’の線種情報22は、(0、1)であり、隣接参照マスARM’の線種情報22も(0、1)であるから、処理マスPM’の線種情報22は(0、1)と決定される。
【0029】
処理マスPM、PM’を(X,Y)とした場合の各マスMの位置座標、及び参照マスRM、RM’の線種情報22を(o、p)とし隣接参照マス22ARM、ARM’の線種情報22を(q、r)とした場合の処理マスPMの線種情報22の上述した原理に基づく対応関係は、図9に示す対応関係表Tのようになる。対応関係表Tは新パズル面生成部10の記憶域に記憶され、処理中適宜参照される。他の変換タイプにおける座標位置と線種との対応関係は、90度回転及び/又は上下反転を組み合わせることによって得られる。
【0030】
ヒント文字23は、マスMが所属するマスグループMGのヒント文字Hである。このようにヒント文字Hは各マスMに対応付けられているが、ゲーム時にゲーム画面に表示されるのはマスグループMGの中で左上端に位置するマスMのヒント文字Hだけである。例えば、ヒント文字23の最後のビットをフラグとし、マスグループMGの左上端に位置するマスMのヒント文字23のフラグを立たせればよい。正解24は、マスMに入力されるべき正解としての数値が設定される。
【0031】
新パズル面Q’がパズル面Qから生成される新パズル面生成処理について、図10に示すフローチャートに従って説明する。新パズル面生成処理は新パズル面生成部10によって制御される。まず、ステップS30にて変換タイプの設定を行う。上述した7つの変換タイプのうち1つの変換タイプが設定される。以下、変換タイプとして270度回転が設定された場合について説明する。次に、ステップS31にて、組み合わせ変換の変換タイプが決定される。組み合わせ変換とは、ステップS30にて設定された変換タイプを構成する基本的な幾何学的変換であり、変換タイプが270度回転の場合は、3回の90度回転である。
【0032】
ステップS31では、複数の組み合わせ変換がある場合はいずれか1つの組み合わせ変換の変換タイプが決定される。組み合わせ変換が1つの場合(例えば、ステップS30で設定された変換タイプが1つの基礎的な幾何学的変換である場合)は、そのまま当該変換タイプが組み合わせ変換の変換タイプとして決定される。次に、ステップS32にて、まだパズル面情報PI−1が設定されていない新パズル面Q’を作業領域13に生成する。例えば、新パズル面Q’のパズル面ID18を生成して、マス位置21のみが設定された新パズル面Q’のパズル面情報PI’が作業領域13に生成される。
【0033】
続いて、ステップS34に進み、新パズル面Q’における処理すべき処理マスPMが終了したか否かが判断される。本形態は、新パズル面Q’の左上端に位置するマスM1から右方向に1つずつ処理マスPMに特定される。処理マスPMが特定できない時は処理されるべき処理マスPMは存在しない、即ち処理マスPMは終了と判断される。なお、処理マスPMに対して行われる処理とはステップS36及びステップS38における処理である。
【0034】
処理マスPMが特定された時は特定された処理マスPMに関して、ステップS36及びステップS38が行われる。全てのマスMに関する処理が終了するまで、各マスMに対してステップS36及びステップS38が繰り返される。ステップS36では、ヒント文字及び正解設定処理が行われ、処理マスPMのマス情報20におけるヒント文字23及び正解24が設定される。ヒント文字及び正解設定処理の詳細については後述する。ステップS38では、線種情報設定処理が行われ、処理マスPMのマス情報20における線種情報22が設定される。線種情報設定処理の詳細については後述する。
【0035】
ステップS34にて、全てのマスMに関して処理が終了したと判断された場合、ステップS40へ進み、続けて組み合わせ変換があるか否かが判断される。処理されていない組み合わせ変換がある場合は、ステップS31へ戻り、次の組み合わせ変換に関する処理が行われる。全ての組み合わせ変換に関して処理がされた場合は、ステップS42へ進む。ステップS42では表示ヒント文字決定処理がおこなわれる。表示ヒント文字決定処理では、新パズル面Q’において線種パターンがP1のマスMのヒント文字23のフラグを立てる。線種パターンP1が複数ある場合は、より左側にあるマスMを優先してヒント文字23のフラグを立てる。これにより、ヒント文字HがマスグループMGの左端のマスMに表示される。
【0036】
ステップS42の処理後、パズル面情報PI’の各マス情報20に設定すべき情報は設定された状態、即ちパズル面情報PI’が完成した状態となるので、これにより、新パズル面Q’が生成されたことになる。続く、ステップS44では、パズル面情報PI’をパズル面情報記憶部12に記憶する。次に、ステップS46へ進み、7つの変換タイプについて全て処理が終了したか否かが判断される。各変換タイプに対応するパズル面情報PI’がすべて処理された場合、新パズル面生成処理は終了する。7つの変換タイプのうち、まだ処理されていない変換タイプがあると判断された場合はステップS30へ戻る。
【0037】
ヒント文字及び正解設定処理において行われる処理について、図11に示すフローチャートに従って説明する。まず、ステップS50にて、対応関係表Tを参照することにより、処理マスPMに対応する参照マスRMを決定する。次にステップS52にて、パズル面Qのパズル面情報PI−1を参照することにより、参照マスRMのマス情報20のおけるヒント文字23及び正解24を取得する。続いて、ステップS54にて、取得したヒント文字23及び正解24を、処理マスPMのマス情報20’におけるヒント文字23及び正解24に設定する。この設定時、ヒント文字23のフラグは全て立っていない状態にする。以上でヒント文字及び正解設定処理を終了する。
【0038】
線種情報設定処理について図12に示すフローチャートに従って説明する。これにより、新パズル面生成部10は線種情報生成部10aとして機能する。まず、ステップS60にて、対応関係表Tを参照することにより、処理マスPMに対応する参照マスRMを決定する。次にステップS62にて、パズル面Qのパズル面情報PI−1を参照することにより、参照マスRMの線種情報22を取得する。次にステップS64にて、対応関係表Tを参照することにより、処理マスPMに対応する隣接参照マスARMを決定し、ステップS66にて、パズル面情報PI−1を参照することにより、隣接参照マスARMの線種情報22を取得する。
【0039】
例えば、処理マスPMの位置座標が(0,+1)の場合、対応関係表Tに基づいて隣接参照マスARMを求めると(+2,0)になる。このように、パズル面Q上に存在しないマスが隣接参照マスARMとして決定された場合は、パズル面Qの外枠の線種が隣接マスAMの線種として設定されるように、ステップS66にて隣接参照マスARMの線種情報を常に線種パターンP1に設定する。
【0040】
最後にステップS68にて、対応関係表Tを参照することにより、参照マスのRM線種情報22、即ち(o,p)と隣接参照マスARMの線種情報22、即ち(q,r)とに基づいて、処理マスPMの線種情報22を決定して設定する。上述したように、変換タイプが90度回転の場合、処理マスPMの線種情報22は(p,q)に設定され、変換タイプが上下反転の場合、処理マスPMの線種情報22は(o,r)に設定される。線種情報生成部10aは、ステップS60により参照マス決定部として機能し、ステップS64により隣接参照マス決定部として機能し、ステップS66により隣接参照マス線種取得部として機能する。また、線種情報生成部10aはステップS62及びステップS68により処理マス線種決定部として機能する。
【0041】
第1の形態は、上述した形態に限らず種々の形態にて実現されてよい。上述した形態において基礎的な幾何学的変換は、90度左回り回転又は上下反転であるが、90度右回り回転、又は左右反転でもよい。90度右回り回転及び上下反転の場合、隣接参照マスARMは参照マスRMの1つ下であり、即ち、参照マスRMが(x,y)の場合隣接参照マスARMは(x,y−1)である。また、90度左回り回転及び左右反転の場合、隣接参照マスARMは参照マスRMの1つ右であり、即ち、参照マスRMが(x、y)の場合隣接参照マスARMは(x+1,y)である。
【0042】
また、上記形態では処理マスPMの位置座標から計算により参照マスRMや隣接参照マスARMの位置座標を決定したが、新パズル面Q’のマスM’と変換元であるパズル面QのマスMとを対応させたマス対応表を予め用意しておき、当該対応表を参照することにより、参照すべき参照マスRMや隣接参照マスARMを決定してもよい。図13Aに3×3のパズル面の90度左回り回転に関するマス対応表MT1を示し、図13Bに3×3のパズル面の上下反転に関するマス対応表MT2を示す。なお、隣接参照マスARMが存在しない場合、上述した形態と同様に隣接参照マスARMの線種情報を線種パターンP1に設定すればよい。マス対応表MT1、MT2は、例えば新パズル面生成部10の記憶域に記憶させる。
【0043】
更に、例えば、左回り回転の場合、常に参照マスRMの上辺が処理マスPMの左辺となり、隣接参照マスARMの左辺が処理マスPMの上辺となる。従って、参照マスRMの線種パターンP及び隣接参照マスARMの線種パターンPから処理マスPMの線種パターンPを設定する際、2つの線種パターンPから設定されるべき処理マスPMの線種パターンPは一定である。このような対応関係に基づいて、参照マスRMの線種パターンP、隣接参照マスARMの線種パターンP、及び処理マスPMの線種パターンPを対応付けた線種対応表を予め用意しておき、当該対応表を参照することにより、処理マスPMの線種パターンPを決定してもよい。左回り回転における線種パターンPの線種対応表MT3を図13Cに示す。線種対応表MT3も、例えば新パズル面生成部10の記憶域に記憶させる。
【0044】
第2の形態について、第1の形態と異なる部分を説明する。パズル面Qの構成及び新パズル面生成システム1のハードウェア構成は同じである。第2の形態におけるパズル面情報PI−2は、図14に示すような連続したASCII文字列で構成されている。パズル面ID110はパズル面Qを識別するための情報であり、属性領域120はパズル面Qの属性、例えば、パズル面Qをゲーム画面に表示する際の各マスMの色や背景の色、パズル面Qの縦方向のマス数及び横方向のマス数等が設定される領域である。
【0045】
線種領域130は、図15Aに示すように、開始情報131、3行目情報132、2行目情報133、1行目情報134、及び終了情報135で構成される。3行目情報132は、パズル面Qの3行目、即ち各マスM1〜M3の線種情報136を示す。2行目情報133は、パズル面Qの2行目、即ち各マスM4〜M6の線種情報136を示す。1行目情報134は、パズル面Qの1行目、即ち各マスM7〜M9の線種情報136を示す。本形態の線種情報136は、各線種パターンP1〜P4に文字a〜dを対応付けて示す。従って、各情報132〜134は3文字で示される。例えば、パズル面Qにおいて3行目の線種パターンは左からP1、P1、P3であるから、3行目情報132は”aac”と設定される。なお、記号”>”は線種領域130に設定された文字列の可読性のための区切り文字である。
【0046】
ヒント文字領域140は、図15Bに示すように、開始情報141、3行目情報142、2行目情報143、1行目情報144、及び終了情報145で構成される。3行目情報142は、パズル面Qの3行目、即ちマスM1〜M3のヒント文字Hを示す。2行目情報143は、パズル面Qの2行目、即ちマスM4〜M6のヒント文字Hを示す。1行目情報144は、パズル面Qの1行目、即ちM7〜M9のヒント文字Hを示す。本形態では、ヒント文字Hは2文字で示されるので、各情報142〜144は6文字で構成される。例えば、パズル面Qにおいて3行目のヒント文字Hは左からH1、H2、空白であるから、H1=5+、H2=3+の時、3行目情報142は”5+3+□□”と設定される。以下、ヒント文字Hという時は、空白の場合も含む。なお、記号”>”はヒント文字領域140に設定された文字列の可読性のための区切り文字である。
【0047】
正解領域150は、図15Cに示すように、開始情報151、3行目情報152、2行目情報153、1行目情報154、及び終了情報155で構成される。3行目情報152は、パズル面Qの3行目、即ちマスM1〜M3の正解を示す。2行目情報153は、パズル面Qの2行目、即ちマスM4〜M6の正解を示す。1行目情報154は、パズル面Qの1行目、即ちM7〜M9の正解を示す。本形態では、各マスMにつき1文字の正解が対応付けられる。従って、各情報152〜154は、3文字で構成される。例えば、パズル面QにおいてマスM1、マスM2、マスM3の正解がそれぞれ”4”、”3”、”1”である時、3行目情報152は”431”と設定される。なお、記号”>”はヒント文字領域140に設定された文字列の可読性のための区切り文字である。
【0048】
上記のようなデータ構成を有するパズル面Qから、新パズル面Q’を生成する方法について説明する。以下、新パズル面Q’を構成するマスを「マスM’」で示し、マスM’で構成されるマスグループを「マスグループMG’」で示す。第2の形態においても、基本的な幾何学的変換を組み合わせて7つの変換タイプが提供される。第2の形態の新パズル面生成部10にて行われる新パズル面生成処理について説明する。まず、ステップS200にて変換タイプを設定する。例えば、270度回転が設定されたとする。続いて、ステップS201にて、組み合わせ変換の変換タイプを決定する。
【0049】
組み合わせ変換とは上述したように、ステップS200にて設定された変換タイプを構成する基本的な幾何学的変換であり、変換タイプが270度回転に設定された場合は3回の90度回転である。ステップS201では、複数の組み合わせ変換のうちいずれか1つの変換タイプが決定される。ステップS200にて設定された変換タイプが基本的幾何学的変換である時は、ステップS200にて設定された変換タイプが組み合わせ変換タイプの変換タイプとして決定される。
【0050】
次に、ステップS202にて新パズル面Q’を作業領域13に生成する。例えば、パズル面Qの右下端を原点とする座標系において、パズル面Qを90度左に回転させた位置に新パズル面Q’を生成する。各パズル面Q、Q’は、例えば各マスM、M’の頂点座標の集合体として示される。次に、ステップS204へ進み、ヒント文字及び正解取得処理が行われ、作業領域13の新パズル面Q’の各マスM’にヒント文字H及び正解が対応付けられる。ヒント文字及び正解取得処理の詳細については後述する。続いてステップS206へ進み、線種情報設定処理が行われ、作業領域13の新パズル面Q’の各マスM’に線種情報136’が対応付けられる。線種情報設定処理の詳細については後述する。
【0051】
ステップS208にて、続けて処理されていない組み合わせ変換があるか否かが判断される。ステップS202〜ステップS206の処理が終わっていない組み合わせ変換がある時に組み合わせ変換があると判断され、ステップS201へ戻って次の組み合わせ変換に関する処理が行われる。全ての組み合わせ変換について当該処理が終わっている場合は組み合わせ変換はないと判断され、ステップS212へ進み、ヒント文字対応付け決定処理が行われる。ヒント文字対応付け決定処理によって、ヒント文字HがマスグループMG’の左上端のマスM’にて表示されるように設定される。
【0052】
ヒント文字対応付け決定処理では、空白以外のヒント文字Hが対応付けられているマスM’(以下「ヒントマスM’」という。)の線種パターンがP1の場合はヒント文字対応付け処理を終了し、線種パターンP1以外の場合は次のように処理する。ヒントマスM’の線種パターンがP2の場合は、ヒントマスM’の上方向に位置し、かつ線種パターンがP1のマスM’にヒント文字Hを対応付ける。ヒントマスM’の線種パターンがP3又はP4の場合は、ヒントマスM’の左方向に位置し、かつ線種パターンがP1のマスM’にヒント文字Hを対応付ける。一方、ヒントマスM’には空白のヒント文字Hを対応付ける。ヒント文字対応付け決定処理が終了すると、パズル面Q’の各マスM’に対応付けられるべきヒント文字H、正解、線種情報136’は決定された状態であるので、ステップS214にて、パズル面Q’の各マスM’に対応付けられた情報から新パズル面情報PI−2’の線種領域130、ヒント文字領域140及び正解領域150を生成して、パズル面記憶部12に記憶する。
【0053】
その後、ステップS216にて、7つの全ての変換タイプについて処理がされたか否かが判断され、処理されたと判断された場合は新パズル面生成処理を終了し、処理されていないと判断された時はステップS200に戻り、次の変換タイプを設定する。
【0054】
ヒント文字及び正解取得処理について図17に示すフローチャートに従って説明する。まず、ステップS300にて、パズル面Qにおける処理対象のマスM(以下「対象マスM」という。)を決定する。本形態では、マスM1から右方向に1つずつ対象マスMを決定する。次に、ステップS302にて、パズル面情報PI−2を参照して、対象マスMのヒント文字H及び正解を取得する。ステップS304では、対象マスMの変換後のマスM’を決定する。
【0055】
続くステップS306では、変換後のマスM’に対象マスMのヒント文字H及び正解を対応付ける。ステップS308にて、パズル面Qを構成する全てのマスMに関してステップS300〜ステップS306の処理が行われたか否かが判断される。全てのマスMに関して当該処理が行われたと判断された時はヒント文字及び正解取得処理は終了する。当該処理が全てのマスMに関して行われていないと判断された場合は、ステップS300へ戻り、次のマスMに関する処理が行われる。
【0056】
線種情報設定処理について図18に示すフローチャートに従って説明する。まず、ステップS400にて、パズル面Qにおける対象マスMを決定する。次に、ステップS402にて対象マスMの左辺の位置及び上辺の位置を決定する。続いて、ステップS404にて、パズル面情報PI−2から対象マスMの線種情報136から線種パターンPを取得し、ステップS405にて、対象マスMの左辺及び上辺のそれぞれに線種パターンPに基づいた線種を対応付ける。線種パターンPは左辺及び上辺の順で線種が示されているので、対象マスMの左辺に線種パターンにおける左辺の線種を対応付け、対象マスMの上辺に線種パターンにおける右辺の線種を対応付ければよい。次に、ステップS406にて、対象マスMの左辺及び上辺のそれぞれが、変換後に位置すべき新パズル面Q’における位置を決定する。
【0057】
例えば、パズル面Qの左端原点とする座標系において、新パズル面Q’をパズル面Qが原点に関して90度回転した位置に置き、パズル面Qの各辺に対応する新パズル面Q’の辺を決定すればよい。当該決定の方法には、各辺を点や直線式で特定して計算によって決定する場合と予め対応付けが記憶された表を参照して決定する場合とがある。変換後の辺が決定されると、ステップS408へ進み、変換後の辺に対応する辺の線種を対応付ける。次に、ステップS410にて、全てのマスMについてステップS404〜ステップS408の処理が終了したが否かが判断される。終了していないと判断された場合は、ステップS400へ戻る。
【0058】
終了していると判断された場合は、ステップS412へ進む。ステップS412にて、新パズル面Q’の各マスM’の左辺及び上辺に対応する辺の位置に対応付けられた線種を取得して、各マスM’の線種パターンPを決定し、決定された線種パターンPに対応する線種情報136’を、ステップS414にて記録領域13に生成された新パズル面Q’の各マスMに対応付ける。なお、変換前のパズル面Qでは枠線の一部である辺は、変換後のパズル面Q’にて線種が対応づけられていない。従って、線種が対応付けられていない辺の線種は常に「太線」とする。
【0059】
本発明は、第1の形態及び第2の形態に限らず種々の形態にて実現されてよい。例えば、マスグループMG内における数値の計算方法は、加算だけでなく減算も含まれてもよい。また、ヒント文字Hは正数だけでなく負数であってもよい。また、第2の形態においては、パズル面Qは左右上下に対称である必要はない。例えば、マスMは長方形でもよく、マスMの配列は1×5、3×4等でもよい。新パズル面を得るための変換タイプをユーザによって選択されるように構成されてもよい。
【図面の簡単な説明】
【0060】
【図1】本発明におけるパズル面の一例を示す図。
【図2】本発明のパズル面生成システムのハードウェア構成の概略図。
【図3】第1の形態におけるパズル面情報のデータ構造を示す図。
【図4】パズル面が奇数×奇数の場合に適用される位置座標を示す図。
【図5】パズル面が偶数×偶数の場合に適用される位置座標を示す図。
【図6】2つの辺の線種パターンを示す図。
【図7】図2に示すパズル面生成システムが提供する変換タイプを示す図。
【図8】1つのパズル面から複数の新パズル面が生成されるようすを示す図。
【図9】所定の幾何学的変換に関して、パズル面の参照マス及び隣接参照マス、並びに新パズル面の処理マス及び隣接マスの対応関係を示す対応表。
【図10】第1の形態の新パズル面生成処理における処理の流れを示すフローチャート。
【図11】第1の形態のヒント文字及び正解設定処理における処理の流れを示すフローチャート。
【図12】第1の形態の線種情報設定処理における処理の流れを示すフローチャート。
【図13A】第1の形態の90度回転の場合における、パズル面の参照マス及び隣接参照マスと新パズル面の処理マスとの対応関係を示すマス対応表を示す図。
【図13B】第1の形態の上下反転の場合における、パズル面の参照マス及び隣接参照マスと新パズル面の処理マスとの対応関係を示すマス対応表を示す図。
【図13C】第1の形態の90度回転の場合における、線種パターンの対応表を示す図。
【図14】第2の形態におけるパズル面情報のデータ構造を示す図。
【図15A】図14に示すパズル面情報における線種領域のデータ構造を示す図。
【図15B】図14に示すパズル面情報におけるヒント文字領域のデータ構造を示す図。
【図15C】図14に示すパズル面情報における正解領域のデータ構造を示す図。
【図16】第2の形態の新パズル面生成処理における処理の流れを示すフローチャート。
【図17】第2の形態のヒント文字及び正解取得処理における処理の流れを示すフローチャート。
【図18】線種パターン設定処理における処理の流れを示すフローチャート。
【符号の説明】
【0061】
1 パズル面生成システム
10 新パズル面生成部
10a 線種情報生成部
10b パズル面情報生成部
22、136 線種情報
H1〜H5,H ヒント文字
M1〜M9,M マス
MG1〜MG5,MG マスグループ
PI−1,PI−2 パズル面情報
Q パズル面
【技術分野】
【0001】
本発明は、複数のマスで構成されるパズル面を生成するパズル面生成システム及びパズル面生成方法に関する。
【背景技術】
【0002】
パズル問題として複数のマスで構成されるパズル面が提示され、少なくとも一部のマスに対して、所定の条件が満たされるようにユーザに情報を入力させるパズルゲームは既に知られている(例えば、特許文献1)。
【特許文献1】特開平3−166653号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、このようなパズルゲームで使用されるパズル面を生成する場合、パズル問題として成立させるべく、少なくとも一部のマスが所定の条件を満たすことに留意しなければならない。このため、パズル面に対応付けられる条件が多い場合は生成に時間を要し、特に、多数のパズル面を短時間で多量に生成することは困難である。
【0004】
そこで、本発明は、複数のマスで構成されるパズル面を短時間で容易に生成するパズル面生成システム及びパズル面生成方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明は、以下の手段により上述した課題を解決する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
【0006】
本発明のパズル面生成システム(1)は、複数の矩形状のマス(M)がマトリックス状に配列され、前記複数のマスの一部の辺は第1の線種で示され、前記一部の辺以外の辺は第2の線種で示されるパズル面(Q)を提示して、線種に応じた所定の条件が満たされるように、前記複数のマスへユーザに入力が求められるパズルゲームの前記パズル面を生成するパズル面生成システムであって、前記パズル面の各マスに関して、そのマスの位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報(22、136)とを含むパズル面情報(PI−1、PI−2)を記憶する記憶部(12)と、前記パズル面を幾何学的変換することにより新パズル面を生成する新パズル面生成部(10)とを有し、前記新パズル面生成部は、前記新パズル面における各マスの線種情報を構成する2つの辺のそれぞれの辺と、変換元である前記パズル面の辺とを対応付け、前記新パズル面の各マスの線種情報を構成する2つの辺のそれぞれの辺の線種を、前記パズル面情報を参照して前記各辺に対応付けられた前記パズル面の辺の線種として決定することにより前記線種情報を生成する線種情報生成部(10a)と、前記新パズル面における各マスの位置座標と前記線種情報生成部において生成された前記各マスの線種情報を対応付けることにより、前記新パズル面のパズル面情報を生成するパズル面情報生成部(10b)とを有することにより、上記の課題を解決する。
【0007】
本発明のパズル面生成システムは、2つの線種がパズル面に使用され、当該線種に基づいたパズルを提供するパズル面を生成するシステムであり、新パズル面生成部により、第1の線種と第2の線種とで構成される1つのパズル面を幾何学的変換することにより、新しいパズル面を生成することができる。パズル面の構成はパズル面情報によって決定され、パズル面情報は、各マスの位置座標と所定の頂点で交わる2つの辺の線種とで構成される。例えば、所定の頂点が左上の頂点の場合、各マスについて上辺と左辺の線種が対応付けられる。新パズル面生成部には線種情報生成部とパズル面情報生成部とが含まれ、線種情報生成部により変換元となる辺の線種に基づいて新パズル面の各辺の線種が決定され、パズル面情報生成部により、新パズル面の各マスに関する情報が設定され、これにより新パズル面が生成される。幾何学的変換とは、回転や上下反転等であり、パズル面を構成する各マスの辺は全て同じ変換方法で変換されるため、新パズル面における各辺の変換元となる辺を特定することは容易である。また、各マスを特定するための情報は、位置と2つの辺の線種だけでよいため、新パズル面生成部の負担を軽減し記憶部のメモリの節約にもなる。
【0008】
第1の線種と第2の線種は視覚的に区別できるものであればよく、点線と実線のように形態が異なる場合や色が異なる場合等が含まれる。位置座標を得るための座標系は、各マスの位置を2次元で特定できる座標系であればいずれでもよく、例えば、パズル面の中心を原点とする座標系やパズル面の1つの頂点を原点とする場合等がある。なお、パズル面が提示される態様には、ゲーム画面に電気的に表示される場合と紙やフィルム等の記録体に印刷されて提示される場合とを含む。
【0009】
前記パズル面は、前記第1の線種によって少なくとも1つのマスが囲われる囲み部を有し、前記囲み線を構成する前記各マスの各辺は前記第1の線種で示され、前記囲み線を構成しない前記各マスの各辺は前記第2の線種で示されてもよい。これにより、囲み部に含まれる少なくとも1つのマスに対して所定の条件が与えられるパズルに本発明を適応することができる。
【0010】
前記パズル面の周囲は前記第1の線種で示されてもよい。本発明において、線種情報は各マスの所定の頂点にて交わる2つの辺の線種を示す情報であるから、パズル面の外枠に相当する辺の線種を線種情報から得ることができない場合があるが、当該場合は常に第1の線種として処理すればよい。従って、外枠の線種に関する情報は不要となる。
【0011】
前記マスは正方形で前記パズル面は前記複数のマスが縦横同数配列され、前記幾何学的変換は90度右回り回転、90度左回り回転、左右反転又は上下反転であってもよい。このようなパズル面の場合、90度回転や上下反転によってパズル面全体の形態を変化させずに、新パズル面を生成することができる。なお、「反転」とはパズル面の中心を通る水平方向又は垂直方向の対称線に関して左右又は上下に位置する複数のマスを反転させる変換である。
【0012】
前記線種情報生成部は、前記新パズル面における各マスを所定の順に処理マスとし、前記パズル面において前記処理マスが変換される前のマスを参照マスとして決定する参照マス決定部と、前記処理マスの線種情報を構成する2つの辺のうち、前記参照マスの線種情報を構成する2つの辺に対応しない辺を共有する隣接マスを決定し、前記パズル面において前記隣接マスの変換前のマスを隣接参照マスとして決定する隣接参照マス決定部と、前記パズル面情報を参照して、前記隣接参照マスの線種情報を取得する隣接参照マス線種取得部と、前記取得した線種情報において、前記隣接マスの前記共有する辺に対応する辺の線種を決定する隣接線種決定部と、前記処理マスの線種情報を構成する2つの辺のうち、前記参照マスの線種情報を構成する2つの辺のいずれかに対応する辺には、前記パズル面情報における前記参照マスの線種情報を参照して、前記対応する辺の線種を対応付け、前記2つの辺のいずれにも対応しない辺には、前記隣接線種決定部にて決定された線種を対応付けることにより、前記処理マスの線種情報を決定する処理マス線種決定部とを含み、前記パズル面情報生成部は、前記新パズル面における処理マスの位置座標と前記線種情報生成部において生成された線種情報とを対応付けることにより、前記新パズル面のパズル面情報を生成してもよい。
【0013】
この場合、処理マスに対する参照マス、隣接マス及び隣接参照マスの相対的な関係は一定しているので、当該相対的な関係を予め決定しておけば、処理マスを順次決定するだけで、処理マスの位置に応じた線種情報を直ちに得ることができる。
【0014】
本発明のパズル面生成方法によれば、複数の矩形状のマス(M1〜M9)がマトリックス状に配列され、前記複数のマスの一部の辺は第1の線種で示され、前記一部の辺以外の辺は第2の線種で示されるパズル面(Q)を提示して、線種に応じた所定の条件が満たされるように、前記複数のマスへユーザに入力が求められるパズルゲームの前記パズル面を生成するパズル面生成方法であって、前記パズル面の各マスに関して、そのマスの位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報(22、136)とを含むパズル面情報(PI−1、PI−2)を記憶するステップと、前記パズル面を幾何学的変換することにより新パズル面を生成するステップとを有し、前記新パズル面を生成するステップは、前記新パズル面における各マスの線種情報を構成する2つの辺のそれぞれの辺と、変換元である前記パズル面の辺とを対応付け、新パズル面の各マスの線種情報を構成する2つの辺のそれぞれの辺の線種を、前記パズル面情報を参照して各辺に対応付けられた前記パズル面の辺の線種として決定することにより前記線種情報を生成するステップと、前記新パズル面における各マスの位置座標と前記新パズル面の各マスに関して生成された線種情報とを対応付けることにより、前記新パズル面のパズル面情報を生成するステップとを有する、ことにより上記の課題を解決する。本発明は、例えば、請求項1のパズル面生成システムとして具現化される。
【発明の効果】
【0015】
上述したように、本発明によれば、パズル面の各マスに関して、そのマスの位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報とを含むパズル面情報を記憶し、新パズル面における各マスの線種情報を構成する2つの辺のそれぞれの辺と、変換元であるパズル面の辺とを対応付け、新パズル面の各マスの線種情報を構成する2つの辺のそれぞれの辺の線種を、パズル面情報を参照して各辺に対応付けられたパズル面の辺の線種として決定することにより線種情報を生成する線種情報生成部と、新パズル面における各マスの位置座標と線種情報生成部において生成された各マスの線種情報を対応付けることにより、新パズル面のパズル面情報を生成するパズル面情報生成部とを有する、ことにより、複数のマスで構成されるパズル面を短時間で容易に生成するパズル面生成システム等を提供することができる。
【発明を実施するための最良の形態】
【0016】
まず、本形態のパズルゲームのパズル面Qについて図1を用いて説明する。パズル面Qは、複数の正方形のマスM1〜マスM9がマトリックス状に配列されて構成される。以下、各マスM1〜M9を区別する必要のない時は「マスM」という。なお、本形態ではマスMが3×3に配列されているが、縦横に配列される数は3に限らない。パズル面Qにおいて、少なくとも1つのマスMが太線でグループ化されることにより、5つの囲み部としてのマスグループMG1〜MG5が形成されている。各マスグループMG1〜MG5にはヒント文字H1〜H5が対応付けられている。ヒント文字H1〜H5は、図1では文字で示されているが実際には、1+、2+、3+・・・等の数値と演算記号である。
【0017】
以下、各マスグループMG1〜MG5を区別する必要のない時は「マスグループMG」といい、各ヒント文字H1〜H5のそれぞれを区別する必要のない時は「ヒント文字H」という。パズル面Qの外枠又はマスグループMGの枠線の一部である各マスMの辺は第1の線種としての太線で示され、その他のマスMの各辺は第2の線種としての点線で示される。なお、パズル面Qにおいて、マスグループMGの数やマスグループMGに含まれるマスMの数は図1に示す態様に限らない。
【0018】
パズル面Qは、例えば所定のゲーム機のゲーム画面に表示されることによりプレイヤに提示される。各マスMに入力されるのは1〜3の数値であり、その際に、行・列毎に入力される数値が重複しないように、かつ、マスグループMG内の合計値が対応するヒント文字Hになるように入力しなければならない。プレイヤは操作カーソルを操作対象のマスMに移動し、カーソルのあるマスMに対して数値の入力又は削除を行うことにより、上記の条件を満たすように全てのマスMに数値を入力する。ヒント文字Hの数値は各マスMに入力される数値が一義的に決まるように設定されている。従って、1つのパズル面Qにつき正解は1つである。プレイヤによって全てのマスMに数値が入力され、かつ正解である時、ゲームがクリアされたことになる。
【0019】
本発明のパズル面生成システム1のハードウェア構成の概略について図2を用いて説明する。新パズル面生成システム1は入力部11とパズル面情報記憶部12と作業領域13とで構成される。入力部11は新パズル面Q’を生成するユーザによる入力を受け付ける。パズル面情報記憶部12は、既存のパズル面Qの構成を決定するためのパズル面情報を記憶する。パズル面情報のデータ構造については後述する。作業領域13は新パズル面Q’の生成に使用されるメモリ領域である。
【0020】
新パズル面生成部10は、CPUとその動作に必要なRAM、ROM等の記憶域で主に構成され、各構成11〜13の動作を制御する。ROMには本発明を実現するためのコンピュータプログラムが記憶され、コンピュータプログラムを起動させることにより、新パズル面生成部10は、主に線種情報生成部10a及びパズル面情報生成部10bとして機能する。なお、新パズル面生成システム1には、生成された新パズル面Q’等の所定の情報が表示されるモニタが更に備えられていてもよい。
【0021】
パズル面Qの構成を決定する第1の形態のパズル面情報PI−1について図3〜図6を用いて説明する。パズル面情報PI−1は、図3に示すようにパズル面Qを識別するためのパズル面ID18と各マスMに関する情報が設定されるマス情報20とで構成される。本形態の場合、1つのパズル面情報PI−1に9つのマス情報20が対応付けられる。マス情報20は、マスMの位置を示すマス位置21と、線種情報22と、ヒント文字23と、正解24とで構成される。
【0022】
マス位置21は所定の座標系におけるマスMの位置座標を示す。パズル面Qが奇数×奇数の場合の位置座標は図4に示す座標系を用い、パズル面Qが偶数×偶数の場合の位置座標は図5に示す座標系を用いる。各座標系にはX軸方向及びY軸方向に等間隔の複数のゾーンが設定されている。図4及び図5では、各座標系共にX軸方向のnゾーンをXZ−nで示し、Y軸方向のnゾーンをYZ−nで示す。本形態の場合、3×3のパズル面であるから、図4の座標系を用い、例えば、マスM1の場合、XZ−−1とYZ−+1の位置であるから、マスM1の位置座標は(−1、+1)で示される。
【0023】
線種情報22は、各マスMの左上頂点で交わる2つの辺、即ち、上辺と左辺の線種を示す。上辺と左辺の線種の組み合わせは、図6に示す通り、4つの線種パターンP1〜P4がある。以下、線種パターンP1〜P4を区別する必要のない時は「線種パターンP」という。例えば、線種情報22が(左辺の線種、上辺の線種)で示され、太線は「1」で点線は「0」で示される時、線種パターンP1は(1、1)、線種パターンP2は(1、0)、線種パターンP3は(0、1)、線種パターンP4は(0、0)と線種情報22に設定される。
【0024】
次に、第1の形態におけるパズル面Qの生成方法の原理について説明する。パズル面生成システム1は、既存の1つのパズル面Qから、基本的な幾何学的変換の組み合わせにより最大7つの新パズル面Q’を生成可能である。本形態における基本的な幾何学的変換は90度左回り回転(以下、「90度回転」という。)と上下反転であり、これら基本的な幾何学的変換の組み合わせには、図7に示すような7つの変換タイプが提供される。図8に、変換タイプ「90度回転」によって既存のパズル面Qから生成される新パズル面Q−1と、変換タイプ「上下反転」によって既存のパズル面Qから生成される新パズル面Q−2を示す。
【0025】
変換タイプ「90度回転」の場合において、パズル面Qの線種情報22から新パズル面Q−1の各マスMの線種情報22を得る手順について説明する。新パズル面Q−1において線種情報22を生成すべきマスM(以下「処理マスPM」という。)の位置座標を(X、Y)とした場合、処理マスMの変換前のマスM(以下「参照マスRM」という。)の位置座標は(Y、−X)である。この場合、参照マスRMの左辺及び上辺は処理マスPMの底辺及び左辺にそれぞれ対応する。従って、処理マスPMの上辺の線種を得るためには、処理マスPMの1つ上に位置する隣接マスAM(X、Y+1)の底辺の線種が必要である。隣接マスAMの変換前のマスM(以下「隣接参照マスARM」という。)の位置座標は(Y+1、−X)である。
【0026】
隣接参照マスARM(Y+1、−X)の線種情報22の左辺及び上辺は隣接マスAMの底辺及び左辺にそれぞれ対応する。従って、パズル面Qのパズル面情報PI−1を参照して参照マスRMの上辺及び隣接参照マスARMの左辺の線種が得られることにより、処理マスPMの線種情報22が決定される。即ち、参照マスRMの線種情報22が(o、p)であり、隣接参照マスARMの線種情報22が(q、r)である時、処理マスPMの線種情報22は(p、q)である。例えば、処理マスPM(−1、−1)の場合、上述した座標変換手順に従うと、参照マスRM(−1、+1)、隣接マスAM(−1、0)、隣接参照マスARM(0、+1)である。参照マスRMの線種情報22は、(1、1)であり、隣接参照マスARMの線種情報22も(1、1)であるから、処理マスPMの線種情報22は(1、1)と決定される。
【0027】
次に、変換タイプ「上下反転」の場合において、パズル面Qの線種22から新パズル面Q−2の各マスMの線種情報22を得る手順について説明する。新パズル面Q−2において処理マスPM’を(X、Y)とした場合、変換元の参照マスRM’の位置座標は(X、−Y)となる。この場合、参照マスRM’の左辺及び上辺は処理マスPM’の左辺及底辺にそれぞれ対応する。従って、処理マスPM’の上辺の線種を得るためには、処理マスPM’の1つ上に位置する隣接マスAM’(X、Y+1)の底辺の線種が必要である。隣接マスAM’の変換前のマスM(以下「隣接参照マスARM’」という。)の位置座標は(X、−Y−1)である。
【0028】
隣接参照マスARM’(X、−Y−1)の線種情報22の左辺及び上辺は隣接マスAM’の左辺及び底辺にそれぞれ対応する。従って、パズル面のQのパズル面情報PI−1を参照して参照マスRM’の左辺及び隣接参照マスARM’の上辺の線種が得られることによって、処理マスPM’の線種情報22が決定される。即ち、参照マスRM’の線種情報22が(o、p)であり、隣接参照マスARM’の線種情報22が(q、r)である時、処理マスPM’の線種情報22は(o、r)である。例えば、処理マスPM’(+1、−1)とした場合、上述した座標変換手順に従うと、参照マスRM’(+1、+1)、隣接マスAM’(+1、0)、隣接参照マスARM’(+1、0)である。参照マスRM’の線種情報22は、(0、1)であり、隣接参照マスARM’の線種情報22も(0、1)であるから、処理マスPM’の線種情報22は(0、1)と決定される。
【0029】
処理マスPM、PM’を(X,Y)とした場合の各マスMの位置座標、及び参照マスRM、RM’の線種情報22を(o、p)とし隣接参照マス22ARM、ARM’の線種情報22を(q、r)とした場合の処理マスPMの線種情報22の上述した原理に基づく対応関係は、図9に示す対応関係表Tのようになる。対応関係表Tは新パズル面生成部10の記憶域に記憶され、処理中適宜参照される。他の変換タイプにおける座標位置と線種との対応関係は、90度回転及び/又は上下反転を組み合わせることによって得られる。
【0030】
ヒント文字23は、マスMが所属するマスグループMGのヒント文字Hである。このようにヒント文字Hは各マスMに対応付けられているが、ゲーム時にゲーム画面に表示されるのはマスグループMGの中で左上端に位置するマスMのヒント文字Hだけである。例えば、ヒント文字23の最後のビットをフラグとし、マスグループMGの左上端に位置するマスMのヒント文字23のフラグを立たせればよい。正解24は、マスMに入力されるべき正解としての数値が設定される。
【0031】
新パズル面Q’がパズル面Qから生成される新パズル面生成処理について、図10に示すフローチャートに従って説明する。新パズル面生成処理は新パズル面生成部10によって制御される。まず、ステップS30にて変換タイプの設定を行う。上述した7つの変換タイプのうち1つの変換タイプが設定される。以下、変換タイプとして270度回転が設定された場合について説明する。次に、ステップS31にて、組み合わせ変換の変換タイプが決定される。組み合わせ変換とは、ステップS30にて設定された変換タイプを構成する基本的な幾何学的変換であり、変換タイプが270度回転の場合は、3回の90度回転である。
【0032】
ステップS31では、複数の組み合わせ変換がある場合はいずれか1つの組み合わせ変換の変換タイプが決定される。組み合わせ変換が1つの場合(例えば、ステップS30で設定された変換タイプが1つの基礎的な幾何学的変換である場合)は、そのまま当該変換タイプが組み合わせ変換の変換タイプとして決定される。次に、ステップS32にて、まだパズル面情報PI−1が設定されていない新パズル面Q’を作業領域13に生成する。例えば、新パズル面Q’のパズル面ID18を生成して、マス位置21のみが設定された新パズル面Q’のパズル面情報PI’が作業領域13に生成される。
【0033】
続いて、ステップS34に進み、新パズル面Q’における処理すべき処理マスPMが終了したか否かが判断される。本形態は、新パズル面Q’の左上端に位置するマスM1から右方向に1つずつ処理マスPMに特定される。処理マスPMが特定できない時は処理されるべき処理マスPMは存在しない、即ち処理マスPMは終了と判断される。なお、処理マスPMに対して行われる処理とはステップS36及びステップS38における処理である。
【0034】
処理マスPMが特定された時は特定された処理マスPMに関して、ステップS36及びステップS38が行われる。全てのマスMに関する処理が終了するまで、各マスMに対してステップS36及びステップS38が繰り返される。ステップS36では、ヒント文字及び正解設定処理が行われ、処理マスPMのマス情報20におけるヒント文字23及び正解24が設定される。ヒント文字及び正解設定処理の詳細については後述する。ステップS38では、線種情報設定処理が行われ、処理マスPMのマス情報20における線種情報22が設定される。線種情報設定処理の詳細については後述する。
【0035】
ステップS34にて、全てのマスMに関して処理が終了したと判断された場合、ステップS40へ進み、続けて組み合わせ変換があるか否かが判断される。処理されていない組み合わせ変換がある場合は、ステップS31へ戻り、次の組み合わせ変換に関する処理が行われる。全ての組み合わせ変換に関して処理がされた場合は、ステップS42へ進む。ステップS42では表示ヒント文字決定処理がおこなわれる。表示ヒント文字決定処理では、新パズル面Q’において線種パターンがP1のマスMのヒント文字23のフラグを立てる。線種パターンP1が複数ある場合は、より左側にあるマスMを優先してヒント文字23のフラグを立てる。これにより、ヒント文字HがマスグループMGの左端のマスMに表示される。
【0036】
ステップS42の処理後、パズル面情報PI’の各マス情報20に設定すべき情報は設定された状態、即ちパズル面情報PI’が完成した状態となるので、これにより、新パズル面Q’が生成されたことになる。続く、ステップS44では、パズル面情報PI’をパズル面情報記憶部12に記憶する。次に、ステップS46へ進み、7つの変換タイプについて全て処理が終了したか否かが判断される。各変換タイプに対応するパズル面情報PI’がすべて処理された場合、新パズル面生成処理は終了する。7つの変換タイプのうち、まだ処理されていない変換タイプがあると判断された場合はステップS30へ戻る。
【0037】
ヒント文字及び正解設定処理において行われる処理について、図11に示すフローチャートに従って説明する。まず、ステップS50にて、対応関係表Tを参照することにより、処理マスPMに対応する参照マスRMを決定する。次にステップS52にて、パズル面Qのパズル面情報PI−1を参照することにより、参照マスRMのマス情報20のおけるヒント文字23及び正解24を取得する。続いて、ステップS54にて、取得したヒント文字23及び正解24を、処理マスPMのマス情報20’におけるヒント文字23及び正解24に設定する。この設定時、ヒント文字23のフラグは全て立っていない状態にする。以上でヒント文字及び正解設定処理を終了する。
【0038】
線種情報設定処理について図12に示すフローチャートに従って説明する。これにより、新パズル面生成部10は線種情報生成部10aとして機能する。まず、ステップS60にて、対応関係表Tを参照することにより、処理マスPMに対応する参照マスRMを決定する。次にステップS62にて、パズル面Qのパズル面情報PI−1を参照することにより、参照マスRMの線種情報22を取得する。次にステップS64にて、対応関係表Tを参照することにより、処理マスPMに対応する隣接参照マスARMを決定し、ステップS66にて、パズル面情報PI−1を参照することにより、隣接参照マスARMの線種情報22を取得する。
【0039】
例えば、処理マスPMの位置座標が(0,+1)の場合、対応関係表Tに基づいて隣接参照マスARMを求めると(+2,0)になる。このように、パズル面Q上に存在しないマスが隣接参照マスARMとして決定された場合は、パズル面Qの外枠の線種が隣接マスAMの線種として設定されるように、ステップS66にて隣接参照マスARMの線種情報を常に線種パターンP1に設定する。
【0040】
最後にステップS68にて、対応関係表Tを参照することにより、参照マスのRM線種情報22、即ち(o,p)と隣接参照マスARMの線種情報22、即ち(q,r)とに基づいて、処理マスPMの線種情報22を決定して設定する。上述したように、変換タイプが90度回転の場合、処理マスPMの線種情報22は(p,q)に設定され、変換タイプが上下反転の場合、処理マスPMの線種情報22は(o,r)に設定される。線種情報生成部10aは、ステップS60により参照マス決定部として機能し、ステップS64により隣接参照マス決定部として機能し、ステップS66により隣接参照マス線種取得部として機能する。また、線種情報生成部10aはステップS62及びステップS68により処理マス線種決定部として機能する。
【0041】
第1の形態は、上述した形態に限らず種々の形態にて実現されてよい。上述した形態において基礎的な幾何学的変換は、90度左回り回転又は上下反転であるが、90度右回り回転、又は左右反転でもよい。90度右回り回転及び上下反転の場合、隣接参照マスARMは参照マスRMの1つ下であり、即ち、参照マスRMが(x,y)の場合隣接参照マスARMは(x,y−1)である。また、90度左回り回転及び左右反転の場合、隣接参照マスARMは参照マスRMの1つ右であり、即ち、参照マスRMが(x、y)の場合隣接参照マスARMは(x+1,y)である。
【0042】
また、上記形態では処理マスPMの位置座標から計算により参照マスRMや隣接参照マスARMの位置座標を決定したが、新パズル面Q’のマスM’と変換元であるパズル面QのマスMとを対応させたマス対応表を予め用意しておき、当該対応表を参照することにより、参照すべき参照マスRMや隣接参照マスARMを決定してもよい。図13Aに3×3のパズル面の90度左回り回転に関するマス対応表MT1を示し、図13Bに3×3のパズル面の上下反転に関するマス対応表MT2を示す。なお、隣接参照マスARMが存在しない場合、上述した形態と同様に隣接参照マスARMの線種情報を線種パターンP1に設定すればよい。マス対応表MT1、MT2は、例えば新パズル面生成部10の記憶域に記憶させる。
【0043】
更に、例えば、左回り回転の場合、常に参照マスRMの上辺が処理マスPMの左辺となり、隣接参照マスARMの左辺が処理マスPMの上辺となる。従って、参照マスRMの線種パターンP及び隣接参照マスARMの線種パターンPから処理マスPMの線種パターンPを設定する際、2つの線種パターンPから設定されるべき処理マスPMの線種パターンPは一定である。このような対応関係に基づいて、参照マスRMの線種パターンP、隣接参照マスARMの線種パターンP、及び処理マスPMの線種パターンPを対応付けた線種対応表を予め用意しておき、当該対応表を参照することにより、処理マスPMの線種パターンPを決定してもよい。左回り回転における線種パターンPの線種対応表MT3を図13Cに示す。線種対応表MT3も、例えば新パズル面生成部10の記憶域に記憶させる。
【0044】
第2の形態について、第1の形態と異なる部分を説明する。パズル面Qの構成及び新パズル面生成システム1のハードウェア構成は同じである。第2の形態におけるパズル面情報PI−2は、図14に示すような連続したASCII文字列で構成されている。パズル面ID110はパズル面Qを識別するための情報であり、属性領域120はパズル面Qの属性、例えば、パズル面Qをゲーム画面に表示する際の各マスMの色や背景の色、パズル面Qの縦方向のマス数及び横方向のマス数等が設定される領域である。
【0045】
線種領域130は、図15Aに示すように、開始情報131、3行目情報132、2行目情報133、1行目情報134、及び終了情報135で構成される。3行目情報132は、パズル面Qの3行目、即ち各マスM1〜M3の線種情報136を示す。2行目情報133は、パズル面Qの2行目、即ち各マスM4〜M6の線種情報136を示す。1行目情報134は、パズル面Qの1行目、即ち各マスM7〜M9の線種情報136を示す。本形態の線種情報136は、各線種パターンP1〜P4に文字a〜dを対応付けて示す。従って、各情報132〜134は3文字で示される。例えば、パズル面Qにおいて3行目の線種パターンは左からP1、P1、P3であるから、3行目情報132は”aac”と設定される。なお、記号”>”は線種領域130に設定された文字列の可読性のための区切り文字である。
【0046】
ヒント文字領域140は、図15Bに示すように、開始情報141、3行目情報142、2行目情報143、1行目情報144、及び終了情報145で構成される。3行目情報142は、パズル面Qの3行目、即ちマスM1〜M3のヒント文字Hを示す。2行目情報143は、パズル面Qの2行目、即ちマスM4〜M6のヒント文字Hを示す。1行目情報144は、パズル面Qの1行目、即ちM7〜M9のヒント文字Hを示す。本形態では、ヒント文字Hは2文字で示されるので、各情報142〜144は6文字で構成される。例えば、パズル面Qにおいて3行目のヒント文字Hは左からH1、H2、空白であるから、H1=5+、H2=3+の時、3行目情報142は”5+3+□□”と設定される。以下、ヒント文字Hという時は、空白の場合も含む。なお、記号”>”はヒント文字領域140に設定された文字列の可読性のための区切り文字である。
【0047】
正解領域150は、図15Cに示すように、開始情報151、3行目情報152、2行目情報153、1行目情報154、及び終了情報155で構成される。3行目情報152は、パズル面Qの3行目、即ちマスM1〜M3の正解を示す。2行目情報153は、パズル面Qの2行目、即ちマスM4〜M6の正解を示す。1行目情報154は、パズル面Qの1行目、即ちM7〜M9の正解を示す。本形態では、各マスMにつき1文字の正解が対応付けられる。従って、各情報152〜154は、3文字で構成される。例えば、パズル面QにおいてマスM1、マスM2、マスM3の正解がそれぞれ”4”、”3”、”1”である時、3行目情報152は”431”と設定される。なお、記号”>”はヒント文字領域140に設定された文字列の可読性のための区切り文字である。
【0048】
上記のようなデータ構成を有するパズル面Qから、新パズル面Q’を生成する方法について説明する。以下、新パズル面Q’を構成するマスを「マスM’」で示し、マスM’で構成されるマスグループを「マスグループMG’」で示す。第2の形態においても、基本的な幾何学的変換を組み合わせて7つの変換タイプが提供される。第2の形態の新パズル面生成部10にて行われる新パズル面生成処理について説明する。まず、ステップS200にて変換タイプを設定する。例えば、270度回転が設定されたとする。続いて、ステップS201にて、組み合わせ変換の変換タイプを決定する。
【0049】
組み合わせ変換とは上述したように、ステップS200にて設定された変換タイプを構成する基本的な幾何学的変換であり、変換タイプが270度回転に設定された場合は3回の90度回転である。ステップS201では、複数の組み合わせ変換のうちいずれか1つの変換タイプが決定される。ステップS200にて設定された変換タイプが基本的幾何学的変換である時は、ステップS200にて設定された変換タイプが組み合わせ変換タイプの変換タイプとして決定される。
【0050】
次に、ステップS202にて新パズル面Q’を作業領域13に生成する。例えば、パズル面Qの右下端を原点とする座標系において、パズル面Qを90度左に回転させた位置に新パズル面Q’を生成する。各パズル面Q、Q’は、例えば各マスM、M’の頂点座標の集合体として示される。次に、ステップS204へ進み、ヒント文字及び正解取得処理が行われ、作業領域13の新パズル面Q’の各マスM’にヒント文字H及び正解が対応付けられる。ヒント文字及び正解取得処理の詳細については後述する。続いてステップS206へ進み、線種情報設定処理が行われ、作業領域13の新パズル面Q’の各マスM’に線種情報136’が対応付けられる。線種情報設定処理の詳細については後述する。
【0051】
ステップS208にて、続けて処理されていない組み合わせ変換があるか否かが判断される。ステップS202〜ステップS206の処理が終わっていない組み合わせ変換がある時に組み合わせ変換があると判断され、ステップS201へ戻って次の組み合わせ変換に関する処理が行われる。全ての組み合わせ変換について当該処理が終わっている場合は組み合わせ変換はないと判断され、ステップS212へ進み、ヒント文字対応付け決定処理が行われる。ヒント文字対応付け決定処理によって、ヒント文字HがマスグループMG’の左上端のマスM’にて表示されるように設定される。
【0052】
ヒント文字対応付け決定処理では、空白以外のヒント文字Hが対応付けられているマスM’(以下「ヒントマスM’」という。)の線種パターンがP1の場合はヒント文字対応付け処理を終了し、線種パターンP1以外の場合は次のように処理する。ヒントマスM’の線種パターンがP2の場合は、ヒントマスM’の上方向に位置し、かつ線種パターンがP1のマスM’にヒント文字Hを対応付ける。ヒントマスM’の線種パターンがP3又はP4の場合は、ヒントマスM’の左方向に位置し、かつ線種パターンがP1のマスM’にヒント文字Hを対応付ける。一方、ヒントマスM’には空白のヒント文字Hを対応付ける。ヒント文字対応付け決定処理が終了すると、パズル面Q’の各マスM’に対応付けられるべきヒント文字H、正解、線種情報136’は決定された状態であるので、ステップS214にて、パズル面Q’の各マスM’に対応付けられた情報から新パズル面情報PI−2’の線種領域130、ヒント文字領域140及び正解領域150を生成して、パズル面記憶部12に記憶する。
【0053】
その後、ステップS216にて、7つの全ての変換タイプについて処理がされたか否かが判断され、処理されたと判断された場合は新パズル面生成処理を終了し、処理されていないと判断された時はステップS200に戻り、次の変換タイプを設定する。
【0054】
ヒント文字及び正解取得処理について図17に示すフローチャートに従って説明する。まず、ステップS300にて、パズル面Qにおける処理対象のマスM(以下「対象マスM」という。)を決定する。本形態では、マスM1から右方向に1つずつ対象マスMを決定する。次に、ステップS302にて、パズル面情報PI−2を参照して、対象マスMのヒント文字H及び正解を取得する。ステップS304では、対象マスMの変換後のマスM’を決定する。
【0055】
続くステップS306では、変換後のマスM’に対象マスMのヒント文字H及び正解を対応付ける。ステップS308にて、パズル面Qを構成する全てのマスMに関してステップS300〜ステップS306の処理が行われたか否かが判断される。全てのマスMに関して当該処理が行われたと判断された時はヒント文字及び正解取得処理は終了する。当該処理が全てのマスMに関して行われていないと判断された場合は、ステップS300へ戻り、次のマスMに関する処理が行われる。
【0056】
線種情報設定処理について図18に示すフローチャートに従って説明する。まず、ステップS400にて、パズル面Qにおける対象マスMを決定する。次に、ステップS402にて対象マスMの左辺の位置及び上辺の位置を決定する。続いて、ステップS404にて、パズル面情報PI−2から対象マスMの線種情報136から線種パターンPを取得し、ステップS405にて、対象マスMの左辺及び上辺のそれぞれに線種パターンPに基づいた線種を対応付ける。線種パターンPは左辺及び上辺の順で線種が示されているので、対象マスMの左辺に線種パターンにおける左辺の線種を対応付け、対象マスMの上辺に線種パターンにおける右辺の線種を対応付ければよい。次に、ステップS406にて、対象マスMの左辺及び上辺のそれぞれが、変換後に位置すべき新パズル面Q’における位置を決定する。
【0057】
例えば、パズル面Qの左端原点とする座標系において、新パズル面Q’をパズル面Qが原点に関して90度回転した位置に置き、パズル面Qの各辺に対応する新パズル面Q’の辺を決定すればよい。当該決定の方法には、各辺を点や直線式で特定して計算によって決定する場合と予め対応付けが記憶された表を参照して決定する場合とがある。変換後の辺が決定されると、ステップS408へ進み、変換後の辺に対応する辺の線種を対応付ける。次に、ステップS410にて、全てのマスMについてステップS404〜ステップS408の処理が終了したが否かが判断される。終了していないと判断された場合は、ステップS400へ戻る。
【0058】
終了していると判断された場合は、ステップS412へ進む。ステップS412にて、新パズル面Q’の各マスM’の左辺及び上辺に対応する辺の位置に対応付けられた線種を取得して、各マスM’の線種パターンPを決定し、決定された線種パターンPに対応する線種情報136’を、ステップS414にて記録領域13に生成された新パズル面Q’の各マスMに対応付ける。なお、変換前のパズル面Qでは枠線の一部である辺は、変換後のパズル面Q’にて線種が対応づけられていない。従って、線種が対応付けられていない辺の線種は常に「太線」とする。
【0059】
本発明は、第1の形態及び第2の形態に限らず種々の形態にて実現されてよい。例えば、マスグループMG内における数値の計算方法は、加算だけでなく減算も含まれてもよい。また、ヒント文字Hは正数だけでなく負数であってもよい。また、第2の形態においては、パズル面Qは左右上下に対称である必要はない。例えば、マスMは長方形でもよく、マスMの配列は1×5、3×4等でもよい。新パズル面を得るための変換タイプをユーザによって選択されるように構成されてもよい。
【図面の簡単な説明】
【0060】
【図1】本発明におけるパズル面の一例を示す図。
【図2】本発明のパズル面生成システムのハードウェア構成の概略図。
【図3】第1の形態におけるパズル面情報のデータ構造を示す図。
【図4】パズル面が奇数×奇数の場合に適用される位置座標を示す図。
【図5】パズル面が偶数×偶数の場合に適用される位置座標を示す図。
【図6】2つの辺の線種パターンを示す図。
【図7】図2に示すパズル面生成システムが提供する変換タイプを示す図。
【図8】1つのパズル面から複数の新パズル面が生成されるようすを示す図。
【図9】所定の幾何学的変換に関して、パズル面の参照マス及び隣接参照マス、並びに新パズル面の処理マス及び隣接マスの対応関係を示す対応表。
【図10】第1の形態の新パズル面生成処理における処理の流れを示すフローチャート。
【図11】第1の形態のヒント文字及び正解設定処理における処理の流れを示すフローチャート。
【図12】第1の形態の線種情報設定処理における処理の流れを示すフローチャート。
【図13A】第1の形態の90度回転の場合における、パズル面の参照マス及び隣接参照マスと新パズル面の処理マスとの対応関係を示すマス対応表を示す図。
【図13B】第1の形態の上下反転の場合における、パズル面の参照マス及び隣接参照マスと新パズル面の処理マスとの対応関係を示すマス対応表を示す図。
【図13C】第1の形態の90度回転の場合における、線種パターンの対応表を示す図。
【図14】第2の形態におけるパズル面情報のデータ構造を示す図。
【図15A】図14に示すパズル面情報における線種領域のデータ構造を示す図。
【図15B】図14に示すパズル面情報におけるヒント文字領域のデータ構造を示す図。
【図15C】図14に示すパズル面情報における正解領域のデータ構造を示す図。
【図16】第2の形態の新パズル面生成処理における処理の流れを示すフローチャート。
【図17】第2の形態のヒント文字及び正解取得処理における処理の流れを示すフローチャート。
【図18】線種パターン設定処理における処理の流れを示すフローチャート。
【符号の説明】
【0061】
1 パズル面生成システム
10 新パズル面生成部
10a 線種情報生成部
10b パズル面情報生成部
22、136 線種情報
H1〜H5,H ヒント文字
M1〜M9,M マス
MG1〜MG5,MG マスグループ
PI−1,PI−2 パズル面情報
Q パズル面
【特許請求の範囲】
【請求項1】
複数の矩形状のマスがマトリックス状に配列され、前記複数のマスの一部の辺は第1の線種で示され、前記一部の辺以外の辺は第2の線種で示されるパズル面を提示して、線種に応じた所定の条件が満たされるように、前記複数のマスへユーザに入力が求められるパズルゲームの前記パズル面を生成するパズル面生成システムであって、
前記パズル面の各マスに関して、そのマスの位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報とを含むパズル面情報を記憶する記憶部と、
前記パズル面を幾何学的変換することにより新パズル面を生成する新パズル面生成部とを有し、
前記新パズル面生成部は、
前記新パズル面における各マスの線種情報を構成する2つの辺のそれぞれの辺と、変換元である前記パズル面の辺とを対応付け、前記新パズル面の各マスの線種情報を構成する2つの辺のそれぞれの辺の線種を、前記パズル面情報を参照して前記各辺に対応付けられた前記パズル面の辺の線種として決定することにより前記線種情報を生成する線種情報生成部と、
前記新パズル面における各マスの位置座標と前記線種情報生成部において生成された前記各マスの線種情報を対応付けることにより、前記新パズル面のパズル面情報を生成するパズル面情報生成部とを有する、ことを特徴とするパズル面生成システム。
【請求項2】
前記パズル面は、前記第1の線種によって少なくとも1つのマスが囲われる囲み部を有し、前記囲み線を構成する前記各マスの各辺は前記第1の線種で示され、前記囲み線を構成しない前記各マスの各辺は前記第2の線種で示される、ことを特徴とする請求項1に記載のパズル面生成システム。
【請求項3】
前記パズル面の周囲は前記第1の線種で示される、ことを特徴とする請求項1又は2に記載のパズル面生成システム。
【請求項4】
前記マスは正方形で前記パズル面は前記複数のマスが縦横同数配列され、前記幾何学的変換は90度右回り回転、90度左回り回転、左右反転又は上下反転である、ことを特徴とする請求項1に記載のパズル面生成システム。
【請求項5】
前記線種情報生成部は、
前記新パズル面における各マスを所定の順に処理マスとし、前記パズル面において前記処理マスが変換される前のマスを参照マスとして決定する参照マス決定部と、
前記処理マスの線種情報を構成する2つの辺のうち、前記参照マスの線種情報を構成する2つの辺に対応しない辺を共有する隣接マスを決定し、前記パズル面において前記隣接マスの変換前のマスを隣接参照マスとして決定する隣接参照マス決定部と、
前記パズル面情報を参照して、前記隣接参照マスの線種情報を取得する隣接参照マス線種取得部と、
前記取得した線種情報において、前記隣接マスの前記共有する辺に対応する辺の線種を決定する隣接線種決定部と、
前記処理マスの線種情報を構成する2つの辺のうち、前記参照マスの線種情報を構成する2つの辺のいずれかに対応する辺には、前記パズル面情報における前記参照マスの線種情報を参照して、前記対応する辺の線種を対応付け、前記2つの辺のいずれにも対応しない辺には、前記隣接線種決定部にて決定された線種を対応付けることにより、前記処理マスの線種情報を決定する処理マス線種決定部とを含み、
前記パズル面情報生成部は、前記新パズル面における処理マスの位置座標と前記線種情報生成部において生成された線種情報とを対応付けることにより、前記新パズル面のパズル面情報を生成する、ことを特徴とする請求項4に記載の新パズル面生成システム。
【請求項6】
複数の矩形状のマスがマトリックス状に配列され、前記複数のマスの一部の辺は第1の線種で示され、前記一部の辺以外の辺は第2の線種で示されるパズル面を提示して、線種に応じた所定の条件が満たされるように、前記複数のマスへユーザに入力が求められるパズルゲームの前記パズル面を生成するパズル面生成方法であって、
前記パズル面の各マスに関して、そのマスの位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報とを含むパズル面情報を記憶するステップと、
前記パズル面を幾何学的変換することにより新パズル面を生成するステップとを有し、
前記新パズル面を生成するステップは、
前記新パズル面における各マスの線種情報を構成する2つの辺のそれぞれの辺と、変換元である前記パズル面の辺とを対応付け、新パズル面の各マスの線種情報を構成する2つの辺のそれぞれの辺の線種を、前記パズル面情報を参照して各辺に対応付けられた前記パズル面の辺の線種として決定することにより前記線種情報を生成するステップと、
前記新パズル面における各マスの位置座標と前記新パズル面の各マスに関して生成された線種情報とを対応付けることにより、前記新パズル面のパズル面情報を生成するステップとを有する、ことを特徴とするパズル面生成方法。
【請求項1】
複数の矩形状のマスがマトリックス状に配列され、前記複数のマスの一部の辺は第1の線種で示され、前記一部の辺以外の辺は第2の線種で示されるパズル面を提示して、線種に応じた所定の条件が満たされるように、前記複数のマスへユーザに入力が求められるパズルゲームの前記パズル面を生成するパズル面生成システムであって、
前記パズル面の各マスに関して、そのマスの位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報とを含むパズル面情報を記憶する記憶部と、
前記パズル面を幾何学的変換することにより新パズル面を生成する新パズル面生成部とを有し、
前記新パズル面生成部は、
前記新パズル面における各マスの線種情報を構成する2つの辺のそれぞれの辺と、変換元である前記パズル面の辺とを対応付け、前記新パズル面の各マスの線種情報を構成する2つの辺のそれぞれの辺の線種を、前記パズル面情報を参照して前記各辺に対応付けられた前記パズル面の辺の線種として決定することにより前記線種情報を生成する線種情報生成部と、
前記新パズル面における各マスの位置座標と前記線種情報生成部において生成された前記各マスの線種情報を対応付けることにより、前記新パズル面のパズル面情報を生成するパズル面情報生成部とを有する、ことを特徴とするパズル面生成システム。
【請求項2】
前記パズル面は、前記第1の線種によって少なくとも1つのマスが囲われる囲み部を有し、前記囲み線を構成する前記各マスの各辺は前記第1の線種で示され、前記囲み線を構成しない前記各マスの各辺は前記第2の線種で示される、ことを特徴とする請求項1に記載のパズル面生成システム。
【請求項3】
前記パズル面の周囲は前記第1の線種で示される、ことを特徴とする請求項1又は2に記載のパズル面生成システム。
【請求項4】
前記マスは正方形で前記パズル面は前記複数のマスが縦横同数配列され、前記幾何学的変換は90度右回り回転、90度左回り回転、左右反転又は上下反転である、ことを特徴とする請求項1に記載のパズル面生成システム。
【請求項5】
前記線種情報生成部は、
前記新パズル面における各マスを所定の順に処理マスとし、前記パズル面において前記処理マスが変換される前のマスを参照マスとして決定する参照マス決定部と、
前記処理マスの線種情報を構成する2つの辺のうち、前記参照マスの線種情報を構成する2つの辺に対応しない辺を共有する隣接マスを決定し、前記パズル面において前記隣接マスの変換前のマスを隣接参照マスとして決定する隣接参照マス決定部と、
前記パズル面情報を参照して、前記隣接参照マスの線種情報を取得する隣接参照マス線種取得部と、
前記取得した線種情報において、前記隣接マスの前記共有する辺に対応する辺の線種を決定する隣接線種決定部と、
前記処理マスの線種情報を構成する2つの辺のうち、前記参照マスの線種情報を構成する2つの辺のいずれかに対応する辺には、前記パズル面情報における前記参照マスの線種情報を参照して、前記対応する辺の線種を対応付け、前記2つの辺のいずれにも対応しない辺には、前記隣接線種決定部にて決定された線種を対応付けることにより、前記処理マスの線種情報を決定する処理マス線種決定部とを含み、
前記パズル面情報生成部は、前記新パズル面における処理マスの位置座標と前記線種情報生成部において生成された線種情報とを対応付けることにより、前記新パズル面のパズル面情報を生成する、ことを特徴とする請求項4に記載の新パズル面生成システム。
【請求項6】
複数の矩形状のマスがマトリックス状に配列され、前記複数のマスの一部の辺は第1の線種で示され、前記一部の辺以外の辺は第2の線種で示されるパズル面を提示して、線種に応じた所定の条件が満たされるように、前記複数のマスへユーザに入力が求められるパズルゲームの前記パズル面を生成するパズル面生成方法であって、
前記パズル面の各マスに関して、そのマスの位置座標と所定の頂点で交わる2つの辺のそれぞれの線種を対応付けた線種情報とを含むパズル面情報を記憶するステップと、
前記パズル面を幾何学的変換することにより新パズル面を生成するステップとを有し、
前記新パズル面を生成するステップは、
前記新パズル面における各マスの線種情報を構成する2つの辺のそれぞれの辺と、変換元である前記パズル面の辺とを対応付け、新パズル面の各マスの線種情報を構成する2つの辺のそれぞれの辺の線種を、前記パズル面情報を参照して各辺に対応付けられた前記パズル面の辺の線種として決定することにより前記線種情報を生成するステップと、
前記新パズル面における各マスの位置座標と前記新パズル面の各マスに関して生成された線種情報とを対応付けることにより、前記新パズル面のパズル面情報を生成するステップとを有する、ことを特徴とするパズル面生成方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13A】
【図13B】
【図13C】
【図14】
【図15A】
【図15B】
【図15C】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13A】
【図13B】
【図13C】
【図14】
【図15A】
【図15B】
【図15C】
【図16】
【図17】
【図18】
【公開番号】特開2009−213570(P2009−213570A)
【公開日】平成21年9月24日(2009.9.24)
【国際特許分類】
【出願番号】特願2008−58369(P2008−58369)
【出願日】平成20年3月7日(2008.3.7)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成21年9月24日(2009.9.24)
【国際特許分類】
【出願日】平成20年3月7日(2008.3.7)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]