説明

パズルゲームの問題を自動作成するプログラム

【課題】数値入力型の四則演算を利用した新しいルールに基づくパズルゲームの問題を自動作成するプログラムを提供する。
【解決手段】本発明のプログラムは、縦方向の四則演算結果が例えば10、横方向の四則演算結果が例えば10、対角方向の四則演算結果が例えば10となるように数値および演算パターンを当てはめていき、その後ヒントとなる数値および空欄をさずけ画像データとして出力するパズルゲームの問題作成を支援するプログラムであり、乱数生成部11と、所定のデータを記憶する記憶部102と、演算パターン確認部12と、演算パターン選択部13と、予め代入しておく数値の数を決める入力部104と、空白マス決定部14と、記憶部102に従い画像パターンを作成する画像パターン作成部15と、モニター、紙に表示、印刷等行う画像出力部103と、を備え、人の手をほぼ煩わすことなく、新規ルールによるパズルゲームの問題を作成することが出来る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パズルゲームの問題を自動作成するプログラムに関し、より特定的には表示装置に所定のルールに基づき数値入力を行うパズルゲームの問題を作成するプログラムに関する。
【背景技術】
【0002】
近年、ナンバープレイス(以下、ナンプレ)といわれる、数値入力式のパズルゲームが流行している。これは、横方向、縦方向に所定数並べられた、マス目に、横方向、縦方向及び、所定マス内で重複しないように数値を入力していくパズルである。また、所定マス内に数値を入力するため予めいくつかのマス目には数値が代入されており、これらがナンプレを解くためのヒントとなっている。
【0003】
しかしながらナンプレは、数値の重複を許さず、四則演算という要素もなく、数学的学習効果の高いものとは言えない。また、時間がかかることも多く気楽にやるには少々規模が大きいものである。
【0004】
それゆえに、もっと数学的学習効果が高く規模の小さい新規のルールで解けるパズルゲームを提供する。
【0005】
しかしながら、この新規パズルゲームを作成するに当たり、矛盾なく数値、及び演算パターンを決定していくには、横方向、縦方向、対角方向における演算を目視で確認していかなければならず、人間の手作業では間違いやすく困難である。
【0006】
特許文献1は、従来のナンプレの問題作成を支援するものを開示している。
【0007】
しかし今回のパズルゲームでは四則演算を使用することもあり、ナンプレと同様のパズル作成支援装置を適用する事は出来ない。
【特許文献1】特開2006−262994号広報
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明の課題は、新規パズルゲームの問題を自動的に作成する、支援プログラムを提供する事である。
【課題を解決するための手段】
【0009】
本発明は、乱数生成部11と、所定のデータを記憶する記憶部102と、演算パターン確認部12と、演算パターン選択部13と、予め代入しておく数値の数を決める入力部104と、空白マス決定部14と、記憶部102に従い画像パターンを作成する画像パターン作成部15と、テレビやモニター、携帯電話、紙に表示、印刷等行う画像出力部103と、を備えたパズルゲームの問題を自動作成するプログラムである。演算パターンは図1に示す、プラスの記号52や括弧53などの組み合わせを指す。
【発明の効果】
【0010】
本発明によれば、新たなルールのパズルゲームの問題作成を自動的に行え、また正確に行える。またこのパズルではナンプレとは異なり四則演算を使うので、数学的な能力を鍛える事が期待できる。またこのパズルではナンプレとは異なり、数値の重複を許す。
【発明を実施するための最良の形態】
【0011】
本発明は、パズルゲームの問題作成を自動的に行うという目的を、乱数を利用し格子状に数値を記憶し、横方向、縦方向、対角方向とを演算パターンに当てはめ、乱数生成を何度も繰り返し、演算パターン確認部ですべて正の判定がでたのち、記憶部に記憶されているデータを、所定のルールに従って、マス目、およびマス目間に所定の記号を発生させる事により実現する。
【実施例】
【0012】
以下、図面を参照して本発明の実施形態にかかわる、パズルゲームの問題を自動作成するプログラムについて説明する。まず例として図3を参照する。図3は、本発明によるパズルゲームの問題を自動作成するプログラムを実現する装置の実施例を示す図である。例えば、演算部101と、記憶部102と、画像出力部103と、入力部104と、を備えている。これらの機能は汎用コンピュータをもって実現する。この汎用コンピュータは、ディスプレイと、キーボードと、を有するPC(PersonalComputer)や、携帯電話など、各種演算機能と、記憶装置と、表示装置と、入力装置と、を備えた機器である。
【0013】
図1は画像パターン作成部により作成された画像を画像出力部103に出力した画面の一例を示す図である。51に示した空欄に0から9、いずれかの数値を代入し、縦方向、横方向、対角方向の演算結果を10とするという内容のパズルである。数値は重複してかまわない。
【0014】
図1に示すような、パズルゲームの問題を自動作成する事が本発明の目的である。以下では、例として図1に示された問題を作成するための場合について説明する。
【0015】
入力部104は、キーボードなどの適宜入力装置であって、難易度を決めるためのものである。
【0016】
記憶部102は演算部101と連携し、画像パターンを作成するのに必要な各種データを一時的に記憶するものである。
【0017】
演算部101は、乱数生成部11と、演算パターン確認部12と、演算パターン選択部13と、空白マス決定部14と、画像パターン作成部15とを備えている。
【0018】
乱数生成部11は、格子状に、ここでは縦3つ、横3つのマス目に0から9の数値をランダムに記憶させるためのものである。
【0019】
演算パターン確認部12は、ここでは横方向、縦方向、対角方向、計8つの方向に対し、10をとり得る演算全19種類の演算パターンを当てはめ、演算し正誤を与えるためのものである。
【0020】
演算パターン選択部13は、前記12において、ある行、もしくは列、もしくは対角方向に対し、複数の演算パターンで正を示したとき、そのうちの一つをランダムに決定するためのものである。
【0021】
空白マス決定部14は、入力部104で決定された難易度に合わせ決定されたマス目51に予め代入しておく数値の数をもとに、マス目のどの位置に数値を代入するかをランダムに決定するためのものである。
【0022】
画像パターン作成部15は、前記処理において、記憶された数値データ、演算パターン、空白マスの位置データに合わせ、図1のような画像データを作成するためのものである。
【0023】
図2は、本発明によるパズルゲームの問題を自動作成するプログラムが実行されるにあたり、図3に示された各機能の動作を示すフローチャートである。以下では、このフローチャートに基づき図1を作成する流れを説明する。
【0024】
まず、入力部から予めマス目51に表示させるための数値の数を人為的に決定する。例えば、ここでは1つだけ表示するようにと決める(S1)。あとの流れは全て自動的に決定される。
【0025】
格子状に、例えば三行三列の二次元配列などを用意し、そこに乱数生成部11で決められた0から9の数値を次々と代入する(S2)。
【0026】
1行目横方向に並んだ数値3つを、例えばABCと置く、ここで演算パターンA+B+Cなどと行い、結果が数値10になるかどうかで正誤を与える。以下A+B−Cなど演算結果に数値10を与える可能性のある演算パターン、ここでは全19個を全てチェックし、正を与えた演算パターンを記憶する。また1つも正が与えられなかったならば、(S2)に戻る。同様の処理を2行目横方向、3行目横方向、1列目縦方向、2列目縦方向、3列目縦方向、対角方向左上から右下、対角方向右上から左下についても行う。全ての方向において正が存在するならばパズルの問題が成立したということで次の処理に移る(S3)。ここでは1行目横方向から処理を開始したが、順番はこの限りではない。
【0027】
前記処理において、場合によっては一つの列、もしくは行、もしくは対角方向に対し二つ以上の演算パターンで正を与えられる場合がある。その場合には演算パターン選択部13の処理を行う。もしすべての縦方向、横方向、対角方向で一つも二つ以上の演算パターンで正を与えられていないならば次の処理に移る(S4)。
【0028】
二つ以上の演算パターンで正を与えられた列、もしくは行、もしくは対角方向において一つの演算パターンをランダムに選ぶ(S5)。
【0029】
入力部にて与えられた、ここでは一つの予めマス目51に表示する数値を選ぶ。ここではランダムに1行目、2列目が選ばれたとする、またここにはランダムに与えられていた数値5が入っていたとする(S6)。
【0030】
画像パターンを作成する。各横方向、各縦方向、各対角方向に対し記憶されている演算パターンに図1の52、および53のような記号を発生させる情報が含まれている。また前記空白マス決定部14にて、ここでは1行目、2列目に5を表示する情報と、それ以外では空白マスを描画する情報が記憶されている。これらに基づき画像パターンを作成する(S7)。
【0031】
前記画像パターン作成部15の処理で作成された画像データを、画像出力装置に出力する。例えば、パソコンのモニターなどに映し出したり、印刷用データに変換し、適宜の印刷装置に出力したりできる(S8)。
【図面の簡単な説明】
【0032】
【図1】表示例を示す説明図である。
【図2】図3の動作を示すフローチャートである。
【図3】パズルゲームの問題を自動作成するプログラムを実現するための装置図である。
【符号の説明】
【0033】
101 演算部
102 記憶部
103 画像出力部
104 入力部
11 乱数生成部
12 演算パターン確認部
13 演算パターン選択部
14 空白マス決定部
15 画像パターン作成部
51 空白マス
52 プラス記号
53 括弧記号

【特許請求の範囲】
【請求項1】
コンピュータに、四則演算を利用した格子状の数値入力型パズルゲームの問題作成のため、乱数生成を行い所定数の格子状に数値を記憶する手順と、格子の各横方向、各縦方向、各対角方向における全四則演算パターンの演算結果に対し正誤を与える処理手順と、前記処理手順においてひとつでも演算結果が誤の場合、乱数生成に戻る手順と、前記処理手順において演算結果が正の場合その四則演算パターンを、複数の場合は選択し記憶する手順と、前記処理手順において格子状に記憶された数値のうち、難易度に合わせ表示装置に表示する数値の数を決める手順と、格子状のどの位置の数値を表示するか乱数生成を行い決める手順と、前記処理手順において記憶された全ての四則演算パターンと前記処理手順において決められた数値と記号とマス目を画像化し表示装置に出力する手順と、を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2008−206931(P2008−206931A)
【公開日】平成20年9月11日(2008.9.11)
【国際特許分類】
【出願番号】特願2007−75528(P2007−75528)
【出願日】平成19年2月23日(2007.2.23)
【出願人】(507093123)
【Fターム(参考)】