(57)【要約】【課題】二次元コードの絵が解答となるお絵かきロジックの問題を適切に生成可能な技術を提供する。【解決手段】本発明の一側面に係るパズル生成装置は、二次元コードを複数の部分領域に分割し、対応する部分領域の絵が解答となるようにお絵かきロジックの問題を部分領域毎に生成し、部分領域毎に生成された問題を解き、問題を解いた結果に基づいて、生成された問題に他の解答が存在するか否かを判定し、生成された問題に他の解答が存在する場合、真の解答が一意に定まるように問題の一部のセルに答えを与える。【選択図】図１
2020130641.tif 000002
【特許請求の範囲】
【請求項１】
二次元コードを取得するコード取得部と、
取得された前記二次元コードを複数の部分領域に分割し、マトリクスに配置された複数のセル、並びに各行及び各列それぞれに連続的に塗りつぶすセルの数を示す数字表記により構成されたお絵かきロジックの問題であって、取得された前記二次元コードの対応する部分領域の絵が解答となるように前記数字表記に示される数が決定されたお絵かきロジックの問題を部分領域毎に生成する問題生成部と、
前記数字表記に示される数に従って前記セルを塗りつぶすことで、前記部分領域毎に生成された前記問題を解く問題解答部と、
前記問題を解いた結果に基づいて、生成された前記問題に、前記二次元コードの対応する部分領域の絵以外の絵が現れる他の解答が存在するか否かを判定する重解判定部と、
生成された前記問題に前記他の解答が存在する場合、取得された前記二次元コードの対応する部分領域の絵が現れる解答が一意に定まるように前記問題の一部のセルに答えを与えるヒント付与部と、
を備える、
パズル生成装置。
【請求項２】
前記ヒント付与部は、前記問題におけるマトリクスの中央領域に存在する一部のセルに答えを与える、
請求項１に記載のパズル生成装置。
【請求項３】
前記二次元コードは、公開鍵暗号方式における公開鍵とペアとなり、当該公開鍵を特定可能な秘密鍵であって、当該公開鍵暗号方式に基づく電子暗号通貨における送金先及び出金元となる公開アドレスであって、前記公開鍵から生成される公開アドレスを出金元とする取引の電子署名に利用される秘密鍵を格納する、
請求項１又は２に記載のパズル生成装置。
【請求項４】
コンピュータが、
二次元コードを取得するステップと、
取得された前記二次元コードを複数の部分領域に分割するステップと、
マトリクスに配置された複数のセル、並びに各行及び各列それぞれに連続的に塗りつぶすセルの数を示す数字表記により構成されたお絵かきロジックの問題であって、取得された前記二次元コードの対応する部分領域の絵が解答となるように前記数字表記に示される数が決定されたお絵かきロジックの問題を部分領域毎に生成するステップと、
前記数字表記に示される数に従って前記セルを塗りつぶすことで、前記部分領域毎に生成された前記問題を解くステップと、
前記問題を解いた結果に基づいて、生成された前記問題に、前記二次元コードの対応する部分領域の絵以外の絵が現れる他の解答が存在するか否かを判定するステップと、
生成された前記問題に前記他の解答が存在する場合、取得された前記二次元コードの対応する部分領域の絵が現れる解答が一意に定まるように前記問題の一部のセルに答えを与えるステップと、
を実行する、
パズル生成方法。
【請求項５】
コンピュータに、
二次元コードを取得するステップと、
取得された前記二次元コードを複数の部分領域に分割するステップと、
マトリクスに配置された複数のセル、並びに各行及び各列それぞれに連続的に塗りつぶすセルの数を示す数字表記により構成されたお絵かきロジックの問題であって、取得された前記二次元コードの対応する部分領域の絵が解答となるように前記数字表記に示される数が決定されたお絵かきロジックの問題を部分領域毎に生成するステップと、
前記数字表記に示される数に従って前記セルを塗りつぶすことで、前記部分領域毎に生成された前記問題を解くステップと、
前記問題を解いた結果に基づいて、生成された前記問題に、前記二次元コードの対応する部分領域の絵以外の絵が現れる他の解答が存在するか否かを判定するステップと、
生成された前記問題に前記他の解答が存在する場合、取得された前記二次元コードの対応する部分領域の絵が現れる解答が一意に定まるように前記問題の一部のセルに答えを与えるステップと、
を実行させるための、
パズル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パズル生成装置、パズル生成方法、及びパズル生成プログラムに関する。
【背景技術】
【０００２】
従来、ペンシルパズルの一つとしてお絵かきロジックが知られている。お絵かきロジックは、マトリクスに配置された複数のセル、並びに各行及び各列それぞれに連続的に塗りつぶすセルの数を示す数字表記により構成されたパズルであり、数字表記に示される数に従ってセルを塗りつぶすことで、解答となる絵を浮かび上がらせることができる。お絵かきロジックは、ののぐらむ、イラストロジック、ピクチャークロスワード（ピクロス）等とも称される。
【０００３】
特許文献１には、ＱＲコード（登録商標）等の二次元コードを解答とするお絵かきロジックを生成するシステムが提案されている。このシステムでは、与えられたお絵かきロジックを解くことで、二次元コードを取得することができる。二次元コードには、例えば、画像データ、音楽データ等のコンテンツを提供するためのＵＲＬ（Uniform Resource Locator）が格納されている。そのため、このシステムによれば、お絵かきロジックを解いたプレイヤのみが、そのＵＲＬからデータを取得するサービスを提供することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−０９７３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本件発明者は、上記のような二次元コードの絵が解答となるお絵かきロジックを生成した場合に、図１に示されるような問題点が生じることを見出した。図１は、従来の技術の問題点を説明するための図である。図１には、比較的に簡単なお絵かきロジックの一例が示されている。お絵かきロジック９００は、２×２のマトリクスに配置された４つのセル９０１及び連続的に塗りつぶすセルの数を示す数字表記９０２により構成されている。
【０００６】
このお絵かきロジック９００には、２つの解答（９１０、９２０）が存在する。図１の例では、黒色のセルが塗りつぶしたセルを表しており、白色のセルが塗りつぶしていないセルを表している。２つの解答（９１０、９２０）において塗りつぶしたセルの数は共に数字表記９０２に示される数と一致しているため、それぞれが正解となる。つまり、お絵かきロジックでは、数字表記に示される数によっては、真の解答以外の解答が存在する可能性がある。
【０００７】
例えば、風景、文字、キャラクタ等の一般的な絵が解答である場合、真の解答以外の解答が存在しても、プレイヤは、徐々に浮かび上がりつつある絵の意味に基づいて、真の解答以外の解答を除外することができる。しかしながら、二次元コードは、情報をエンコードすることで生成されるものであり、基本的には、人間にとって意味のある絵にはならない。そのため、二次元コードの絵が解答である場合、プレイヤは、真の解答以外の解答を除外することができず、真の解答にたどり着けない可能があるという問題点がある。
【０００８】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、二次元コードの絵が解答となるお絵かきロジックの問題を適切に生成可能な技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００１０】
すなわち、本発明の一側面に係るパズル生成装置は、二次元コードを取得するコード取得部と、取得された前記二次元コードを複数の部分領域に分割し、マトリクスに配置された複数のセル、並びに各行及び各列それぞれに連続的に塗りつぶすセルの数を示す数字表記により構成されたお絵かきロジックの問題であって、取得された前記二次元コードの対応する部分領域の絵が解答となるように前記数字表記に示される数が決定されたお絵かきロジックの問題を部分領域毎に生成する問題生成部と、前記数字表記に示される数に従って前記セルを塗りつぶすことで、前記部分領域毎に生成された前記問題を解く問題解答部と、前記問題を解いた結果に基づいて、生成された前記問題に、前記二次元コードの対応する部分領域の絵以外の絵が現れる他の解答が存在するか否かを判定する重解判定部と、生成された前記問題に前記他の解答が存在する場合、取得された前記二次元コードの対応する部分領域の絵が現れる解答が一意に定まるように前記問題の一部のセルに答えを与えるヒント付与部と、を備える。
【００１１】
当該構成に係るパズル生成装置は、取得された二次元コードを複数の部分領域に分割した後に、二次元コードの対応する部分領域の絵が解答となるようにお絵かきロジックの問題を部分領域毎に生成する。この各部分領域に分割することで、問題に複数の解答が発生する確率を低減することができる。加えて、当該構成に係るパズル生成装置は、各部分領域に対して生成した各問題を解き、二次元コードの対応する部分領域の絵以外の絵が浮かび上がる他の解答が存在するか否かを判定する。そして、他の解答が存在する場合には、パズル生成装置は、二次元コードの対応する部分領域の絵が現れる解答が一意に定まるように問題の一部のセルに答えを与える。これにより、生成された問題から他の解答を除外することができる。したがって、当該構成に係るパズル生成装置によれば、二次元コードを複数の部分領域に分割することで、重解が発生する可能性を低減しつつ、それでも重解が発生してしまった場合には、他の解答が成立しないように真の解答の一部をヒントとして与えることができる。そのため、二次元コードの絵が解答となるお絵かきロジックの問題を適切に生成することができる。なお、二次元コードの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、二次元コードは、ＱＲコード（登録商標）等のマトリックス式であってもよく、ＰＤＦ４１７等のスタック式であってもよい。
【００１２】
上記一側面に係るパズル生成装置において、前記ヒント付与部は、前記問題におけるマトリクスの中央領域に存在する一部のセルに答えを与えてもよい。マトリクスの中央領域は、端部領域に比べて、連続的に塗りつぶすセルの並びに対して高い影響度を有している。そのため、中央領域の一部に答えを与えることで、他の解答を効率的に除外することができる。したがって、当該構成によれば、真の解答以外の他の解答を適切に除外することができる。
【００１３】
上記一側面に係るパズル生成装置において、前記二次元コードは、公開鍵暗号方式における公開鍵とペアとなり、当該公開鍵を特定可能な秘密鍵であって、当該公開鍵暗号方式に基づく電子暗号通貨における送金先及び出金元となる公開アドレスであって、前記公開鍵から生成される公開アドレスを出金元とする取引の電子署名に利用される秘密鍵を格納してもよい。当該構成によれば、各部分領域に対して生成されたお絵かきロジックの全てを解いたプレイヤに電子暗号通貨における取引の電子署名に利用可能な秘密鍵を与えることができる。
【００１４】
なお、上記各形態に係るパズル生成装置の別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
【００１５】
例えば、本発明の一側面に係るパズル生成方法は、コンピュータが、二次元コードを取得するステップと、取得された前記二次元コードを複数の部分領域に分割するステップと、マトリクスに配置された複数のセル、並びに各行及び各列それぞれに連続的に塗りつぶすセルの数を示す数字表記により構成されたお絵かきロジックの問題であって、取得された前記二次元コードの対応する部分領域の絵が解答となるように前記数字表記に示される数が決定されたお絵かきロジックの問題を部分領域毎に生成するステップと、前記数字表記に示される数に従って前記セルを塗りつぶすことで、前記部分領域毎に生成された前記問題を解くステップと、前記問題を解いた結果に基づいて、生成された前記問題に、前記二次元コードの対応する部分領域の絵以外の絵が現れる他の解答が存在するか否かを判定するステップと、生成された前記問題に前記他の解答が存在する場合、取得された前記二次元コードの対応する部分領域の絵が現れる解答が一意に定まるように前記問題の一部のセルに答えを与えるステップと、を実行する、情報処理方法である。
【００１６】
また、例えば、本発明の一側面に係るパズル生成プログラムは、コンピュータに、二次元コードを取得するステップと、取得された前記二次元コードを複数の部分領域に分割するステップと、マトリクスに配置された複数のセル、並びに各行及び各列それぞれに連続的に塗りつぶすセルの数を示す数字表記により構成されたお絵かきロジックの問題であって、取得された前記二次元コードの対応する部分領域の絵が解答となるように前記数字表記に示される数が決定されたお絵かきロジックの問題を部分領域毎に生成するステップと、前記数字表記に示される数に従って前記セルを塗りつぶすことで、前記部分領域毎に生成された前記問題を解くステップと、前記問題を解いた結果に基づいて、生成された前記問題に、前記二次元コードの対応する部分領域の絵以外の絵が現れる他の解答が存在するか否かを判定するステップと、生成された前記問題に前記他の解答が存在する場合、取得された前記二次元コードの対応する部分領域の絵が現れる解答が一意に定まるように前記問題の一部のセルに答えを与えるステップと、を実行させるための、プログラムである。
【発明の効果】
【００１７】
本発明によれば、二次元コードの絵が解答となるお絵かきロジックの問題を適切に生成することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、従来技術の問題点を説明するための図である。
【図２】図２は、本発明が適用される場面の一例を模式的に例示する。
【図３】図３は、実施の形態に係るパズル生成装置のハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係るパズル生成装置のソフトウェア構成の一例を模式的に例示する。
【図５】図５は、実施の形態に係るパズル生成装置の処理手順の一例を例示する。
【発明を実施するための形態】
【００１９】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００２０】
§１  適用例
まず、図２を用いて、本発明が適用される場面の一例について説明する。図２は、本実施形態に係るパズル生成装置１の適用場面の一例を模式的に例示する。図２に示されるとおり、本実施形態に係るパズル生成装置１は、与えられた二次元コード４０からお絵かきロジックの問題５０を生成するように構成されたコンピュータである。
【００２１】
具体的には、パズル生成装置１は、二次元コード４０を取得し、取得された二次元コード４０を複数の部分領域４１に分割する。続いて、パズル生成装置１は、各部分領域４１にそれぞれ対応するお絵かきロジックの複数の問題５０を生成する。お絵かきロジックの各問題５０は、マトリクスに配置された複数のセル５１、並びに各行及び各列それぞれに連続的に塗りつぶすセル５１の数を示す数字表記５２により構成される。パズル生成装置１は、取得された二次元コード４０の対応する部分領域４１の絵が解答となるように数字表記５２に示される数が決定されたお絵かきロジックの問題５０を部分領域４１毎に生成する。
【００２２】
次に、パズル生成装置１は、数字表記５２に示される数に従ってセル５１を塗りつぶすことで、部分領域４１毎に生成された各問題５０を解く。そして、パズル生成装置１は、各問題５０を解いた結果に基づいて、生成された各問題５０に、二次元コード４０の対応する部分領域４１の絵以外の絵が現れる他の解答が存在するか否かを判定する。生成された問題５０に他の解答が存在する場合、パズル生成装置１は、取得された二次元コード４０の対応する部分領域４１の絵が現れる解答が一意に定まるように問題５０の一部のセル５１に答えを与える。
【００２３】
以上のとおり、本実施形態では、取得された二次元コード４０を複数の部分領域４１に分割することで、生成される問題５０に真の解答以外の他の解答が発生する確率を低減することができる。加えて、それでも他の解答が発生してしまった場合には、他の解答が成立しないように真の解答の一部をヒントとして与えることができる。そのため、本実施形態に係るパズル生成装置１によれば、二次元コード４０の絵が解答となるお絵かきロジックの複数の問題５０を適切に生成することができる。
【００２４】
なお、図２の例では、二次元コード４０は４つの部分領域４１に分割されており、各部分領域４１にそれぞれ対応する４つの問題５０が生成されている。ただし、部分領域４１の数及び問題５０の数はそれぞれ、このような例に限定されなくてもよい。また、二次元コード４０を分割する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。二次元コード４０は、全ての部分領域４１の寸法が一致するように分割されてもよいし、少なくとも一部の部分領域４１の寸法が他の部分領域４１の寸法と異なるように分割されてもよい。同様に、各問題５０のマトリクスのセル５１の数は、一致していてもよいし、一致していなくてもよい。
【００２５】
§２  構成例
［ハードウェア構成］
次に、図３を用いて、本実施形態に係るパズル生成装置１のハードウェア構成の一例について説明する。図３は、本実施形態に係るパズル生成装置１のハードウェア構成の一例を模式的に例示する。
【００２６】
図３に示されるとおり、本実施形態に係るパズル生成装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、表示装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図３では、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００２７】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部１２は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置により構成される。本実施形態では、記憶部１２は、パズル生成プログラム８１等の各種情報を記憶する。
【００２８】
パズル生成プログラム８１は、二次元コード４０からお絵かきロジックの問題５０を生成するための情報処理（後述する図５）をパズル生成装置１に実行させるためのプログラムである。パズル生成プログラム８１は、当該情報処理の一連の命令群を含む。詳細は後述する。
【００２９】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。パズル生成装置１は、この通信インタフェース１３により、他の情報処理装置との間でネットワークを介したデータ通信を行い、二次元コード４０を取得したり、生成されたお絵かきロジックの問題５０を提供したりすることができる。なお、ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００３０】
入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。また、表示装置１５は、出力装置の一例であり、例えば、ディスプレイである。オペレータは、入力装置１４及び表示装置１５を介して、パズル生成装置１を操作することができる。なお、表示装置１５は、タッチパネルディスプレイであってもよい。この場合、入力装置１４は省略されてもよい。
【００３１】
ドライブ１６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１６の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記パズル生成プログラム８１は、この記憶媒体９１に記憶されていてもよい。
【００３２】
記憶媒体９１は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。パズル生成装置１は、この記憶媒体９１から、上記パズル生成プログラム８１を取得してもよい。
【００３３】
ここで、図３では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００３４】
なお、パズル生成装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ等で構成されてよい。記憶部１２は、制御部１１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース１３、入力装置１４、表示装置１５及びドライブ１６の少なくともいずれかは省略されてもよい。パズル生成装置１は、例えば、スピーカ等の表示装置１５以外の出力装置を更に備えてもよい。パズル生成装置１は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、パズル生成装置１は、提供されるサービス専用に設計された情報処理装置の他、デスクトップＰＣ（Personal Computer）、タブレットＰＣ等の汎用の情報処理装置、汎用のサーバ装置等であってもよい。
【００３５】
［ソフトウェア構成］
次に、図４を用いて、本実施形態に係るパズル生成装置１のソフトウェア構成の一例を説明する。図４は、本実施形態に係るパズル生成装置１のソフトウェア構成の一例を模式的に例示する。
【００３６】
パズル生成装置１の制御部１１は、記憶部１２に記憶されたパズル生成プログラム８１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開されたパズル生成プログラム８１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図４に示されるとおり、本実施形態に係るパズル生成装置１は、コード取得部１１１、問題生成部１１２、問題解答部１１３、重解判定部１１４、及びヒント付与部１１５をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、パズル生成装置１の各ソフトウェアモジュールは、制御部１１（ＣＰＵ）により実現される。
【００３７】
コード取得部１１１は、二次元コード４０を取得する。問題生成部１１２は、取得された二次元コード４０を複数の部分領域４１に分割する。そして、問題生成部１１２は、マトリクスに配置された複数のセル５１、並びに各行及び各列それぞれに連続的に塗りつぶすセル５１の数を示す数字表記５２により構成されたお絵かきロジックの問題５０であって、取得された二次元コード４０の対応する部分領域４１の絵が解答となるように数字表記５２に示される数が決定されたお絵かきロジックの問題５０を部分領域４１毎に生成する。
【００３８】
問題解答部１１３は、数字表記５２に示される数に従ってセル５１を塗りつぶすことで、部分領域４１毎に生成された各問題５０を解く。重解判定部１１４は、各問題５０を解いた結果に基づいて、生成された問題５０に、二次元コード４０の対応する部分領域４１の絵以外の絵が現れる他の解答が存在するか否かを判定する。ヒント付与部１１５は、生成された問題５０に他の解答が存在する場合に、取得された二次元コード４０の対応する部分領域４１の絵が現れる解答が一意に定めるように問題５０の一部のセル５１に答えを与える。本実施形態では、ヒント付与部１１５は、問題５０におけるマトリクスの中央領域５５に存在する一部のセル５１に答えを与えることができる。
【００３９】
パズル生成装置１の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、パズル生成装置１の各ソフトウェアモジュールがいずれも汎用のＣＰＵにより実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のハードウェアプロセッサにより実現されてもよい。また、パズル生成装置１のソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【００４０】
§３  動作例
次に、図５を用いて、パズル生成装置１の動作例について説明する。図５は、本実施形態に係るパズル生成装置１の処理手順の一例を例示する。以下で説明するパズル生成装置１の処理手順は、本発明の「パズル生成方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてもよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【００４１】
（ステップＳ１０１）
ステップＳ１０１では、制御部１１は、コード取得部１１１として動作し、二次元コード４０を取得する。制御部１１は、二次元コード４０を生成することで、当該二次元コード４０を取得してもよい。あるいは、制御部１１は、他のコンピュータにより生成された二次元コード４０を、例えば、ネットワーク、記憶媒体９１等を介して取得してもよい。二次元コード４０の生成には、公知の符号化方法が用いられてよい。二次元コード４０のデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、二次元コード４０は、ＪＰＥＧ、ＧＩＦ、ＰＮＧ、ビットマップ等の画像データとして得られてもよいし、ＨＴＭＬ、ＣＳＳ等の構造化文書のデータとして得られてもよい。
【００４２】
二次元コード４０の種類、及び二次元コード４０に格納される情報はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、二次元コード４０は、ＱＲコード（登録商標）等のマトリックス式であってもよく、ＰＤＦ４１７等のスタック式であってもよい。また、二次元コード４０に格納される情報は、例えば、公開鍵暗号方式における公開鍵とペアとなり、当該公開鍵を特定可能な秘密鍵であって、当該公開鍵暗号方式に基づく電子暗号通貨における送金先及び出金元となる公開アドレスであって、当該公開鍵から生成される公開アドレスを出金元とする取引の電子署名に利用される秘密鍵であってもよい。
【００４３】
電子暗号通貨とは、電子署名を利用して取引を行う仮想的な通貨であり、例えば、Ｂｉｔｃｏｉｎ、Ｌｉｔｅｃｏｉｎ、Ｍｏｎａｃｏｉｎ、Ｐｅｅｒｃｏｉｎ、Ｎａｍｅｃｏｉｎ、Ｑｕａｒｋｃｏｉｎ、Ｍａｓｔｅｒｃｏｉｎ、Ｒｉｐｐｌｅｃｏｉｎ、Ｍｅｇａｃｏｉｎ等である。公開鍵暗号方式に基づく電子暗号通貨では、公開鍵及び秘密鍵の鍵ペアが発行される。また、発行された公開鍵から公開アドレスが生成される。この公開アドレスは、銀行の口座番号に例えられることがあり、電子暗号通貨の送金先及び出金元を示すアドレスとして活用される。一方、秘密鍵は、公開アドレスを出金元とする取引の電子署名に利用される。
【００４４】
電子暗号通貨の取引はＰ２Ｐ（Peer-to-Peer）ネットワークの２つのノード間で行われ、その取引情報はＰ２Ｐネットワーク内の各ノードにブロードキャストされて共有される。これにより、Ｐ２Ｐネットワーク上において、分散型データベースである取引履歴データベースが形成され、電子暗号通貨の取引履歴が保存される。二次元コード４０には、このような電子暗号通貨の取引の電子署名に利用可能な秘密鍵が格納されてよい。二次元コード４０を取得すると、制御部１１は、次のステップＳ１０２に処理を進める。
【００４５】
（ステップＳ１０２）
ステップＳ１０２では、制御部１１は、問題生成部１１２として動作し、取得された二次元コード４０を複数の部分領域４１に分割する。生成する部分領域４１の数及び各部分領域４１の寸法はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。全ての部分領域４１の寸法が同じであってもよいし、少なくとも一部の部分領域４１の寸法が他の部分領域４１の寸法と異なってもよい。制御部１１は、例えば、４等分、９等分等のように二次元コード４０を等分に分割することで、寸法の統一された複数の部分領域４１を生成してもよい。二次元コード４０を複数の部分領域４１に分割すると、制御部１１は、次のステップＳ１０３に処理を進める。
【００４６】
（ステップＳ１０３）
ステップＳ１０３では、制御部１１は、問題生成部１１２として動作し、制御部１１は、対応する部分領域４１の絵が解答となるように数字表記５２に示される数が決定されたお絵かきロジックの問題５０を部分領域４１毎に生成する。これにより、制御部１１は、生成された各部分領域４１にそれぞれ対応するお絵かきロジックの複数の問題５０を生成する。
【００４７】
二次元コード４０は、マトリクスに配置された複数のマスにより構成され、複数のマスは、コード部分のマス及び空白のマスを含む。そこで、生成方法の一例として、制御部１１は、二次元コード４０の各部分領域４１にそれぞれ対応するセル５１の複数のマトリクスを生成し、各部分領域４１の各マスをマトリクスの各セル５１に対応付けてよい。次に、制御部１１は、各マトリクスにおいて、コード部分のマスを塗りつぶすセル５１に設定するのに対して、空白のマスを塗りつぶさないセルに設定してもよい。そして、制御部１１は、各マトリクスにおいて、各行及び各列それぞれに沿って、塗りつぶすセルに設定されたセルの数をカウントすることで、数字表記５２に示す数を決定する。これにより、制御部１１は、対応する部分領域４１の絵が解答となるように数字表記５２に示される数が決定されたお絵かきロジックの問題５０を部分領域４１毎に生成することができる。
【００４８】
なお、各部分領域４１に対応するお絵かきロジックの問題５０を生成する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。各問題５０を生成する方法には、所望の絵からお絵かきロジックの問題を生成する公知の方法が採用されてよい。お絵かきロジックの問題５０を部分領域４１毎に生成すると、制御部１１は、次のステップＳ１０４に処理を進める。
【００４９】
（ステップＳ１０４）
ステップＳ１０４では、制御部１１は、問題解答部１１３として動作し、数字表記５２に示される数に従ってセル５１を塗りつぶすことで、部分領域４１毎に生成された各問題５０を解く。
【００５０】
各問題５０を解くためのアルゴリズムは、特に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。お絵かきロジックでは、解くための様々な定石が知られている。定石の一例として、列又は行において、答えが一意に定まるケースが存在する。答えが一意に定めるケースとは、数字表記５２に示される数字が「０」であるケース、数字表記５２に示される数字が列又は行のセル５１の数と一致するケース、及び数字表記５２に複数の数字が示される場合に、各数字に応じて連続的に塗りつぶすセル５１の群の間に１つの塗りつぶさないセル５１を配置すると仮定したときに、塗りつぶすセル５１と塗りつぶさないセル５１との合計が列又は行のセル５１の数と一致するケースである。このような場合、列又は行において、塗りつぶす又は塗りつぶさないセル５１を一意に決定することができる。また、その他の定石の一例として、列又は行において、塗りつぶすセル５１の配置パターンが複数存在し、かつ全ての配置パターンで共通に塗りつぶされるセル５１が存在する場合、そのセル５１は塗りつぶされるものとして決定することができる。
【００５１】
これらの定石に基づいて、お絵かきロジックを解くためのアルゴリズムが設定されてもよい。そして、制御部１１は、設定されたアルゴリズムを利用して、部分領域４１毎に生成された各問題５０を解いてもよい。部分領域４１毎に生成された各問題５０を解くと、制御部１１は、次のステップＳ１０５に処理を進める。
【００５２】
（ステップＳ１０５）
ステップＳ１０５では、制御部１１は、重解判定部１１４として動作し、各問題５０を解いた結果に基づいて、生成された問題５０に、二次元コード４０の対応する部分領域４１の絵以外の絵が現れる他の解答が存在するか否かを判定する。数字表記５２に示される数に適合する複数の解答パターンが存在する場合、生成された問題５０には、対応する部分領域４１の絵以外の絵が現れる他の解答が存在する。そのため、この場合、制御部１１は、生成された問題５０に他の解答が存在すると判定する。一方、数字表記５２に示される数に適合する解答パターンが一意である場合、生成された問題５０に他の解答は存在しない。そのため、この場合、制御部１１は、生成された問題５０には他の解答が存在しないと判定する。各問題５０に対する判定が完了すると、制御部１１は、次のステップＳ１０６に処理を進める。
【００５３】
（ステップＳ１０６）
ステップＳ１０６では、制御部１１は、ステップＳ１０５の判定結果に応じて、処理の分岐先を決定する。ステップＳ１０５において、生成された複数の問題５０のうちの少なくともいずれかの問題５０に他の解答が存在すると判定した場合、制御部１１は、次のステップＳ１０７に処理を進める。一方、ステップＳ１０５において、全ての問題５０に他の解答が存在しないと判定した場合、制御部１１は、ステップＳ１０７の処理を省略して、本動作例に係る処理を終了する。
【００５４】
（ステップＳ１０７）
ステップＳ１０７では、制御部１１は、ヒント付与部１１５として動作し、生成された問題５０に他の解答が存在する場合に、取得された二次元コード４０の対応する部分領域４１の絵が現れる解答が一意に定めるように問題５０の一部のセル５１に答えを与える。すなわち、制御部１１は、他の解答が存在しなくなるように問題５０の一部のセル５１に答えを与える。
【００５５】
答えを与えることには、塗りつぶすセル５１を示すこと、及び塗りつぶさないセル５１を示すことが含まれてよい。答えを与えるセル５１の数は、特に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。例えば、制御部１１は、１又は複数個のセル５１に答えを仮に与えた上で、対象の問題５０を再度解く。問題５０を解く方法は、ステップＳ１０４と同様であってよい。その結果、他の解答が存在しなくなった場合には、制御部１１は、仮に答えを与えたセル５１を、答えを与えるセル５１として決定する。一方、他の解答が存在する場合には、制御部１１は、仮に答えを与えるセル５１の数を増やし、他の解答が存在しなくなるまで上記処理を繰り返す。これにより、制御部１１は、他の解答が存在しなくなるように答えを与えるセル５１を決定することができる。
【００５６】
答えを与えるセル５１の場所は、適宜決定されてよい。マトリクスの中央領域５５は、端部領域に比べて、連続的に塗りつぶすセル５１の並びに対して高い影響度を有している。そこで、制御部１１は、問題５０におけるマトリクスの中央領域５５に存在する一部のセル５１に答えを与えてもよい。これにより、真の解答以外の他の解答を適切に除外することができる。なお、中央領域５５は、マトリクスの中央に位置し、少なくとも１つのセル５１を含む。この中央領域５５は、マトリクスの完全な中央に位置していなくてもよく、行方向及び列方向の少なくとも一方にやや偏っていてもよい。他の解答が存在しなくなるように一部のセル５１に答えを与えると、制御部１１は、本動作例に係る処理を終了する。
【００５７】
本動作例に係る一連の処理により生成された各問題５０は、プレイヤに適宜提供されてよい。例えば、各問題５０は、ウェブページに掲載されてもよいし、紙媒体等に印刷されてもよい。また、例えば、各問題５０は、電子メール等でプレイヤに送信されてもよい。プレイヤは、二次元コード４０に対して設定された全ての問題５０を解くことで、当該二次元コード４０を取得することができる。この二次元コード４０には、公開鍵暗号方式に基づく電子暗号通貨における電子署名に利用される秘密鍵が格納されていてもよい。この場合、全ての問題５０を解いたプレイヤのみに、当該秘密鍵を提供することができる。当該プレイヤは、取得した秘密鍵を利用して、ペアの公開鍵から生成された公開アドレスを出金元とする取引を行うことができる。
【００５８】
なお、各問題５０をウェブページで提供する場合、解答である二次元コード４０が画像データとして与えられていると、各問題５０を解いたプレイヤにより、解答である二次元コード４０を示す画像データがウェブページから抜き取られ、拡散される恐れがある。そのため、各問題５０をウェブページで提供する場合には、二次元コード４０は、そのような拡散のし難いスタイルシート（ＣＳＳ）、ＨＴＭＬ等の構造化文書のデータとして与えられているのが好ましい。
【００５９】
［特徴］
以上のとおり、本実施形態では、ステップＳ１０２の処理により、取得された二次元コード４０を複数の部分領域４１に分割することで、生成される問題５０に真の解答以外の他の解答が発生する確率を低減することができる。加えて、それでも他の解答が発生してしまった場合には、ステップＳ１０７の処理により、他の解答が成立しないように真の解答の一部をヒントとして与えることができる。そのため、本実施形態によれば、二次元コード４０の絵が解答となるお絵かきロジックの複数の問題５０を適切に生成することができる。
【００６０】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例Ｓは適宜組み合わせ可能である。
【００６１】
上記実施形態では、二次元コード４０には、公開鍵暗号方式に基づく電子暗号通貨における電子署名に利用される秘密鍵が格納されていてもよい。しかしながら、二次元コード４０に格納される情報は、このような例に限定されなくてもよい。二次元コード４０には、あらゆる種類の情報が格納されてよい。例えば、二次元コード４０には、画像データ、音楽データ等のコンテンツを提供するためのＵＲＬが格納されていてもよい。また、例えば、二次元コード４０には、ギフトコード、メッセージ等の対象者に提供する情報そのものが格納されてもよい。
【００６２】
また、上記実施形態では、ステップＳ１０７において、制御部１１は、問題５０におけるマトリクスの中央領域５５に存在する一部のセル５１に答えを与えてもよい。しかしながら、答えを与える場所は、このような例に限定されなくてもよい。例えば、制御部１１は、マトリクスの端部領域に存在する一部のセル５１に答えを与えてもよい。
【符号の説明】
【００６３】
１…パズル生成装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…表示装置、１６…ドライブ、
１１１…コード取得部、１１２…問題生成部、
１１３…問題解答部、１１４…重解判定部、
１１５…ヒント付与部、
４０…二次元コード、４１…部分領域、
５０…（お絵かきロジックの）問題、
５１…セル、５２…数字表記、
８１…パズル生成プログラム、９１…記憶媒体
【図１】
2020130641.tif 000003
【図２】
2020130641.tif 000004
【図３】
2020130641.tif 000005
【図４】
2020130641.tif 000006
【図５】
2020130641.tif 000007