説明

パズルゲーム装置およびパズルゲームプログラム

【課題】新規なパズルゲーム装置およびパズルゲームプログラムを提供すること。
【解決手段】マトリクス状に配置された複数の枡目からなる回答領域に、所定の複数の枡目を互いに関連づけた連結枡を表示をする。また、マトリクスの各行および各列のいずれかに対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を表示し、更に、隣接する複数の行あるいは隣接する複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字とを当該複数の行あるいは複数の列を跨るように表示する。そして、プレイヤの操作に応じて、特定された枡目をマークして表示し、当該マークされた枡目の集合が予め設定されているパズルの解となる図形であるか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パズルゲーム装置およびパズルゲームプログラムに関し、より特定的には、マトリクス状に配置された複数の枡目を所定のヒント数字に基づいて塗りつぶすパズルゲーム装置およびパズルゲームプログラムに関する。
【背景技術】
【0002】
従来より、複数の行列からなるマス目に対して、各行列毎に表示される数字(ヒント数字)をヒントにして塗り潰すマス目を割り出し、そのとおりに塗り潰していくと、最終的に絵(または文字)が浮かび上がるタイプのパズルゲーム、いわゆる、ピクチャークロスワードパズルというパズルゲームが知られている。そして、このようなパズルゲームを電子ゲーム機上で動作可能としたゲームプログラムやゲーム機が知られている(例えば、非特許文献1)。このゲームプログラムでは、15×15のマス目、および、当該マス目の上部および左部にヒント数字が表示される。そして、プレイヤが塗りつぶしたいマス目に対応するヒント数字を拡大して表示する技術が開示されている。
【非特許文献1】"ピクロス2"、[online]、任天堂、[平成18年9月13日検索]、インターネット<URL:http://www.nintendo.co.jp/n02/dmg/ap2j/index.html>
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上述したような上記非特許文献1に開示されたゲームプログラムにおいては、以下に示す問題点があった。上述のゲームプログラムでは、プレイヤに見やすいようにヒント数字を拡大表示しているが、各ヒント数字に対応する行列は常に1つであった。また、マス目の大きさも全て同じであった。そのため、ゲームが単調になり易く、長く遊んでいくとプレイヤに飽きられてしまうという問題があった。
【0004】
それゆえに、本発明の目的は、新規なパズルゲーム装置およびパズルゲームプログラムを提供することである。
【課題を解決するための手段】
【0005】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【0006】
第1の発明は、回答領域表示手段(S2)と、連結枡設定手段(S23,24)と、連結状態表示手段(S26)と、ヒント領域表示手段(S3)と、通常ヒント数字表示手段(S35)と、大型ヒント数字表示手段(S34)と、枡目特定手段(S5)と、枡目マーク手段(S7、S9)と、正解判定手段(S11)とを備えるパズルゲーム装置である。回答領域表示手段は、マトリクス状に配置された複数の枡目からなる回答領域を表示する。連結枡設定手段は、回答領域に表示される枡目のうち、複数の枡目を互いに関連づけて連結枡として設定する。連結状態表示手段は、連結枡設定手段によって互いに関連づけられた枡目が連結枡であることを示すための表示を行う。ヒント領域表示手段は、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。通常ヒント数字表示手段は、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。大型ヒント数字表示手段は、マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字をヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する。枡目特定手段は、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マーク手段は、枡目特定手段によって特定された枡目をマークして画面に表示する。正解判定手段は、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【0007】
第1の発明によれば、回答領域に連結枡を用い、また、ヒント数字として複数の行列にかかるマークする枡の数を表示することで、パズルゲームの興趣性を高めることができる。これにより、従来のピクチャークロスワードパズルでは満足できなかったプレイヤに対して、新しい楽しみ方を提供することができる。
【0008】
第2の発明は、第1の発明において、枡目マーク手段は、枡目特定手段で特定された枡目が連結枡であるときは、当該連結枡として関連づけられている枡目を全てマークする。
【0009】
第2の発明によれば、パズルゲームの操作性を高めることができる。
【0010】
第3の発明は、第1の発明において、連結状態表示手段は、連結枡として設定されている複数の枡目を結合して1つの枡目として回答領域に表示する。
【0011】
第3の発明によれば、回答領域内のどのマスが連結マスであるかをプレイヤにわかりやすく提示することができる。
【0012】
第4の発明は、第1の発明において、パズルゲーム装置は、回答領域に表示される各枡目に関する情報であり、当該各枡目が連結枡として設定される枡目であるか否かを示す情報である枡目情報を記憶するための枡目情報記憶手段を更に備える。更に、連結枡設定手段は、枡目情報記憶手段から枡目情報を読み出し、当該読み出した枡目情報に基づいて複数の枡目を互いに関連づけて連結枡として設定する。
【0013】
第4の発明によれば、第1の発明と同様の効果が得られる。
【0014】
第5の発明は、第1の発明において、パズルゲーム装置は、正解情報記憶手段と、ヒント数字作成手段とを更に備える。正解情報記憶手段は、回答領域に表示される枡目の正解のときのマーク状態を示す正解情報を記憶する。ヒント数字作成手段は、正解情報を読出し、当該正解情報に基づいて、通常ヒント数字および前記大型ヒント数字を作成する。更に、通常ヒント数字表示手段は、ヒント数字作成手段が作成した通常ヒント数字を表示する。大型ヒント数字表示手段は、ヒント数字作成手段が作成した大型ヒント数字を表示する。
【0015】
第5の発明によれば、ヒント数字に関する情報を予め用意してメモリカード等に記憶させておく必要がなくなり、パズルゲームにかかる記憶容量を軽減することが可能となる。
【0016】
第6の発明は、回答領域表示手段(S2)と、ヒント領域表示手段(S3)と、通常ヒント数字表示手段(S35)と、大型ヒント数字表示手段(S34)と、枡目特定手段(S5)と、枡目マーク手段(S7、S9)と、正解判定手段(S11)とを備えるパズルゲーム装置である。回答領域表示手段は、マトリクス状に配置された複数の枡目からなる回答領域を表示する。ヒント領域表示手段は、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。通常ヒント数字表示手段は、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。大型ヒント数字表示手段は、マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字をヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する。枡目特定手段は、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マーク手段は、枡目特定手段によって特定された枡目をマークする。正解判定手段は、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【0017】
第6の発明によれば、ヒント数字として複数の行列にかかるマークする枡の数を表示することで、パズルゲームの興趣性を高めることができる。
【0018】
第7の発明は、回答領域表示手段(S2)と、連結枡設定手段(S23,24)と、連結状態表示手段(S26)と、ヒント領域表示手段(S3)と、ヒント数字表示手段(S35)と、枡目特定手段(S5)と、枡目マーク手段(S7、S9)と、正解判定手段(S11)とを備えるパズルゲーム装置である。回答領域表示手段は、マトリクス状に配置された複数の枡目からなる回答領域を表示する。連結枡設定手段は、回答領域に表示される枡目のうち、所定の複数の枡目を互いに関連づけて連結枡として設定する。連結状態表示手段は、連結枡設定手段によって互いに関連づけられた枡目が連結枡であることを示すための表示を行う。ヒント領域表示手段は、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。ヒント数字表示手段は、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。枡目特定手段は、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マーク手段は、枡目特定手段によって特定された枡目をマークする。正解判定手段は、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【0019】
第7の発明によれば、回答領域に連結枡を用いることで、パズルゲームの興趣性を高めることができる。
【0020】
第8の発明は、ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、回答領域表示ステップ(S2)と、連結枡設定ステップ(S23,24)と、連結状態表示ステップ(S26)と、ヒント領域表示ステップ(S3)と、通常ヒント数字表示ステップ(S35)と、大型ヒント数字表示ステップ(S34)と、枡目特定ステップ(S5)と、枡目マークステップ(S7、S9)と、正解判定ステップ(S11)とを備えるパズルゲームプログラムである。回答領域表示ステップは、マトリクス状に配置された複数の枡目からなる回答領域を表示する。連結枡設定ステップは、回答領域に表示される枡目のうち、所定の複数の枡目を互いに関連づけて連結枡として設定する。連結状態表示ステップは、連結枡設定ステップによって互いに関連づけられた枡目が連結枡であることを示すための表示を行う。ヒント領域表示ステップは、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。通常ヒント数字表示ステップは、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。大型ヒント数字表示ステップは、マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字をヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する。枡目特定ステップは、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マークステップは、枡目特定ステップによって特定された枡目をマークする。正解判定ステップは、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【0021】
第8の発明によれば、第1の発明と同様の効果を得ることができる。
【0022】
第9の発明は、ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、回答領域表示ステップ(S2)と、ヒント領域表示ステップ(S3)と、通常ヒント数字表示ステップ(S35)と、大型ヒント数字表示ステップ(S34)と、枡目特定ステップ(S5)と、枡目マークステップ(S7、S9)と、正解判定ステップ(S11)とを備えるパズルゲームプログラムである。回答領域表示ステップは、マトリクス状に配置された複数の枡目からなる回答領域を表示する。ヒント領域表示ステップは、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。通常ヒント数字表示ステップは、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。大型ヒント数字表示ステップは、マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字をヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する。枡目特定ステップは、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マークステップは、枡目特定ステップによって特定された枡目をマークする。正解判定ステップは、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【0023】
第9の発明によれば、第6の発明と同様の効果を得ることができる。
【0024】
第10の発明は、ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、回答領域表示ステップ(S2)と、連結枡設定ステップ(S23,24)と、連結状態表示ステップ(S26)と、ヒント領域表示ステップ(S3)と、ヒント数字表示ステップ(S35)と、枡目特定ステップ(S5)と、枡目マークステップ(S7、S9)と、正解判定ステップ(S11)とを備えるパズルゲームプログラムである。回答領域表示ステップは、マトリクス状に配置された複数の枡目からなる回答領域を表示する。連結枡設定ステップは、回答領域に表示される枡目のうち、所定の複数の枡目を互いに関連づけて連結枡として設定する。連結状態表示ステップは、連結枡設定ステップによって互いに関連づけられた枡目が連結枡であることを示すための表示を行う。ヒント領域表示ステップは、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。ヒント数字表示ステップは、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示すヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。枡目特定ステップは、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マークステップは、枡目特定ステップによって特定された枡目をマークする。正解判定ステップは、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【0025】
第10の発明によれば、第7の発明と同様の効果を得ることができる。
【発明の効果】
【0026】
本発明によれば、新規なパズルゲームを提供することができ、プレイヤに、今までにない新しい楽しみを提供することができる。
【発明を実施するための最良の形態】
【0027】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
【0028】
まず、各実施形態の詳細を説明するに先立ち、各実施形態で共通して使用されるゲーム装置の構成について説明する。図1は、本発明の一実施形態に係るゲーム装置10の外観図である。図2は、このゲーム装置10の斜視図である。図1において、ゲーム装置10は、第1のLCD(Liquid Crystal Display:液晶表示装置)11および第2のLCD12を含む。ハウジング13は上側ハウジング13aと下側ハウジング13bとによって構成されており、第1のLCD11は上側ハウジング13aに収納され、第2のLCD12は下側ハウジング13bに収納される。第1のLCD11および第2のLCD12の解像度はいずれも256dot×192dotである。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【0029】
上側ハウジング13aには、後述する1対のスピーカ(図3の30a、30b)からの音を外部に放出するための音抜き孔18a、18bが形成されている。
【0030】
上側ハウジング13aと下側ハウジング13bとを開閉可能に接続するヒンジ部にはマイクロフォン用孔33が設けられている。
【0031】
下側ハウジング13bには、入力装置として、十字スイッチ14a、スタートスイッチ14b、セレクトスイッチ14c、Aボタン14d、Bボタン14e、Xボタン14f、およびYボタン14gが設けられている。また、さらなる入力装置として、第2のLCD12の画面上にタッチパネル15が装着されている。下側ハウジング13bには、電源スイッチ19、メモリカード17を収納するための挿入口、スタイラスペン16を収納するための挿入口が設けられている。
【0032】
タッチパネル15は、抵抗膜方式のタッチパネルである。ただし、本発明は抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。タッチパネル15は、スタイラスペン16に限らず指で操作することも可能である。本実施形態では、タッチパネル15として、第2のLCD12の解像度と同じく256dot×192dotの解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル15の解像度と第2のLCD12の解像度が一致している必要はない。
【0033】
メモリカード17はゲームプログラムを記録した記録媒体であり、下部ハウジング13bに設けられた挿入口に着脱自在に装着される。
【0034】
次に、図3を参照してゲーム装置10の内部構成を説明する。
【0035】
図3において、ハウジング13に収納される電子回路基板20には、CPUコア21が実装される。CPUコア21には、バス22を介して、コネクタ23が接続されるとともに、入出力インターフェース回路(図面ではI/F回路と記す)25、第1GPU(Graphics Processing Unit)26、第2GPU27、RAM24、およびLCDコントローラ31、およびワイヤレス通信部35が接続される。コネクタ23には、メモリカード17が着脱自在に接続される。メモリカード17は、ゲームプログラムを記憶するROM17aと、バックアップデータを書き換え可能に記憶するRAM17bを搭載する。メモリカード17のROM17aに記憶されたゲームプログラムはRAM24にロードされ、RAM24にロードされたゲームプログラムがCPUコア21によって実行される。RAM24には、ゲームプログラムの他にも、CPUコア21がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。I/F回路25には、タッチパネル15、右スピーカ30a、左スピーカ30b、図1の十字スイッチ14aやAボタン14d等から成る操作スイッチ部14、およびマイクロフォン36が接続される。右スピーカ30aと左スピーカ30bは、音抜き孔18a、18bの内側にそれぞれ配置される。マイクロフォン36は、マイクロフォン用孔33の内側に配置される。
【0036】
第1GPU26には、第1VRAM(Video RAM)28が接続され、第2GPU27には、第2VRAM29が接続される。第1GPU26は、CPUコア21からの指示に応じて、RAM24に記憶されているゲーム画像を生成するためのデータに基づいて第1のゲーム画像を生成し、第1VRAM28に描画する。第2GPU27は、同様にCPUコア21からの指示に応じて第2のゲーム画像を生成し、第2VRAM29に描画する。第1VRAM28および第2VRAM29はLCDコントローラ31に接続されている。
【0037】
LCDコントローラ31はレジスタ32を含む。レジスタ32はCPUコア21からの指示に応じて0または1の値を記憶する。LCDコントローラ31は、レジスタ32の値が0の場合は、第1VRAM28に描画された第1のゲーム画像を第1のLCD11に出力し、第2VRAM29に描画された第2のゲーム画像を第2のLCD12に出力する。また、レジスタ32の値が1の場合は、第1VRAM28に描画された第1のゲーム画像を第2のLCD12に出力し、第2VRAM29に描画された第2のゲーム画像を第1のLCD11に出力する。
【0038】
ワイヤレス通信部35は、他のゲーム装置のワイヤレス通信部との間で、ゲーム処理に利用されるデータやその他のデータをやりとりする機能を有している。
【0039】
なお、本発明はゲーム装置に限らず、ハウジングで支持された押圧式のタッチパネルを備えた任意の装置に適用することができる。例えば、携帯ゲーム装置や、据え置き型ゲーム装置のコントローラや、PDA(Personal Digital Assistant)に適用することができる。また、本発明はタッチパネルの下にディスプレイが設けられていないような入力装置にも適用することができる。
【0040】
次に、図4〜図8を用いて、本実施形態で想定するゲームの概要について説明する。図4は、本実施形態で想定するゲームの画面の一例である。本実施形態で想定するゲームは、ヒント数字を手がかりにマス目を黒くしていき、出題者が用意した図柄を完成させる、いわゆるピクチャークロスワードパズル(イラストロジックとも呼ばれている)である。図4では、パズル全体が1画面に収まった状態でLCD12に表示されている。図4において、パズルは回答領域101とヒント領域102とに分かれている。
【0041】
図4において、回答領域101は、n×mのマスで構成される方眼領域である。図4においては、10×10のマスを一例として表示している。ヒント領域102は、ヒント数字が表示される領域である。ヒント領域102は、列に対応するヒント数字を表示するヒント領域102aと、行に対応するヒント数字を表示するヒント領域102bとで構成されている。ヒント数字とは、連続して黒く塗り潰すマス目(以下、黒マスと呼ぶ)の数である。例えば、「5」とあれば、5個の連続した黒マスがあることを示す。また、ヒント数字が同じ列内、あるいは行内に複数ある場合、それぞれが連続する黒マスの数を表し、間には必ず塗り潰さないマス(以下、白マスという)が少なくとも1つ入ることを示す。例えば、「2 1」とあれば、2個の連続した黒マスと1個の黒マスがその順番通りにあるということを示す。そして、プレイヤは、上部および左部に表示されてるヒント数字をヒントにして、あるマス目を黒マスとするかどうかを判断する。そして、プレイヤは、適宜、マス目を黒く塗る操作を行う。本実施形態では、プレイヤが所望のマス目をスタイラスペン17や指でタッチする毎に、そのマス目の表示状態を、「黒マス」→「白マス」の順で切り替えることができる。
【0042】
ここで、図4において、ヒント領域102に表示されるヒント数字には、通常ヒント数字105と大型ヒント数字106との2種類がある。通常ヒント数字105は、それぞれ回答領域101における1マス分の大きさの領域内に収まるように表示されている。一方、大型ヒント数字106は、それぞれ回答領域101における2マス以上の大きさを有する領域にかかって表示されている。通常ヒント数字105は、所定の1行あるいは1列における黒マスの数を表している。これに対し、大型ヒント数字106とは、その大型ヒント数字が表示されている2列あるいは2行にかかって連続している黒マスの数を示す数字である。
【0043】
図5を用いて、通常ヒント数字105と大型ヒント数字106について更に説明する。図5では、A行〜D行の4行がある場合を例とし、A行およびB行については通常ヒント数字を用い、C行とD行については、大型ヒント数字を用いる場合を例に説明する。なお、説明の簡略化のため、ここでは「行」(横方向)についてのみ例示しているが、「列」(縦方向)に関しても考え方は同様である。
【0044】
まず、図5に示すように、A行にかかる黒マスのみについてヒント数字を表示する場合は、A行における黒マスの数である”3”という値が、A行の通常ヒント数字105aとして表示される。同様に、B行における黒マスのみについてヒント数字を表示する場合も、通常ヒント数字105bとして表示される。図5では、B行においては、その間に白マスを挟んで黒マスが2つあるため、”1”と”1”という2つのヒント数字が通常ヒント数字105bとして表示されることになる。
【0045】
一方、C行、D行では、3マスずつ2行にわたる形で黒マスが連続している。そして、この黒マスに対応するヒント数字を、大型ヒント数字106として、C行、D行を跨る形でヒント領域102に表示する場合は、C行D行の2行にかかって連続している黒マスの数である「6」という値がヒント数字となる。そして、この「6」という値が、ヒント領域102において、C行D行に跨るような位置で、かつ、通常ヒント数字105よりも大きなフォントサイズで表示される。
【0046】
次に、本実施形態におけるゲーム画面の別の一例について説明する。図6は、本実施形態で想定するゲームの画面の別の一例である。図6で示す画面においても、図4で示した画面と同様に、回答領域101とヒント領域102とが表示されている。ここで、上記図4では、ヒント領域において、2種類のヒント数字が表示されていた。これに対し、図6のゲーム画面では、回答領域101に2種類のマスが表示される。すなわち、1マス分の大きさを有する通常マス121の他、複数のマスが連結して1つの大きなマスとなっている連結マス122の2種類のマスが表示される。
【0047】
図6において、連結マス122は、出題者の指定した特定のマスから、決められた法則の範囲内で、任意の連続したマスを1つのマスとして扱ったマスである。ここで、当該法則は、本実施例においては、「連続するマスが所属する、いずれの行、列においても、当該連続するマスによって構成される領域が1つしか存在しないこと」であるとする。そして、連結マス122がタッチされると、当該連結マス122を構成する全てのマスが一度に黒く塗られる(図7参照)。また、既に黒く塗られている場合は、白マスに戻される。つまり、連結マスを構成するマスについては、「塗り」に関する処理が連動して行われる。
【0048】
また、上述の説明では、説明の便宜上、大型ヒント数字と連結マスについて画面例を分けて説明したが、これらの大型ヒント数字および連結マスを1つのパズル問題の中で組み合わせて用いてもよいし、いずれか一方のみ用いても良い。また、図8に示すように、大型ヒント数字と通常ヒント数字とが同じ列あるいは行で混在するようにしてもよい。そして、このような大型ヒント数字や連結マスを用いてピクチャークロスワードパズルゲームを実行することで、従来のピクチャークロスワードパズルでは満足できなかったようなプレイヤに、新しい楽しみを提供することが可能となる。
【0049】
(第1の実施形態)
次に、本発明の第1の実施形態に係るパズルゲーム処理について説明する。まず、パズルゲーム処理の際にRAM24に記憶されるデータについて説明する。図9は、ゲーム装置10のRAM24のメモリマップを示す図である。図9において、RAM24は、ゲームプログラム記憶領域241およびデータ記憶領域248を含む。ゲームプログラム記憶領域241およびデータ記憶領域248のデータは、メモリカード17に記憶され、ゲームプログラム実行時にはRAM24に転送されて記憶される。
【0050】
ゲームプログラム記憶領域241には、CPUコア21によって実行されるゲームプログラムが記憶される。このゲームプログラムは、ゲームメイン処理プログラム242と、マス目表示プログラム243と、ヒント数字表示プログラム244と、正解判定処理プログラム245などによって構成される。
【0051】
ゲームメイン処理プログラム242は、後述する図13のフローチャートの処理に対応するプログラムである。マス目表示プログラム243は、上記図4や図7等で示した回答領域101に上記通常マス121や連結マス122を表示するための処理をCPUコア21に実行させるためのプログラムであり、ヒント数字表示プログラム244は、上記図4等で示したヒント領域102に通常ヒント数字105や大型ヒント数字106を表示するための処理をCPUコア21に実行させるためのプログラムである。また、正解判定処理プログラム245は、画面に表示されているパズル(問題)がクリアされたか否かを判定するための処理をCPUコア21に実行させるためのプログラムである。
【0052】
データ記憶領域248には、問題データ249や画像データ250などのデータが記憶されるとともに、ゲーム処理において用いられる各種変数やフラグも記憶される。
【0053】
問題データ249は、プレイヤに提示されるパズル問題のデータであり、1問ごとに分けられて記憶されている(問題1、問題2,問題3・・・)。図10は、1問分の問題データ(例として、問題データ249a)のデータ構成の一例を示す図である。図10において、問題データ249aは、問題番号251とマス総数252とヒント数字総数253とマス情報254とヒント数字情報255との集合で構成される。問題番号251は、その問題を一意に識別するための番号である。本実施形態では、問題番号251には、”1”から順に連番が振られていくものとする。また、例えば問題番号251が”1”の問題は、以下では、単に「問題1」のように称する。マス総数252は、その問題を構成するマスの数を示す。上述した図4を例に取ると、回答領域101は10列×10=100マスあるため、マス総数252は”100”と設定される。ヒント数字総数253は、その問題を構成するヒント数字の数を示す。図4を例に取ると、ヒント数字は32個あるため、ヒント数字総数253は”32”と設定される。
【0054】
マス情報254は、回答領域101に表示される各マスについての情報であり、1マス毎の情報に分けて格納されている。図11は、1マス分のマス情報254aのデータ構造の一例を示した図である。マス情報254aは、マス番号2541とマス座標2542と連結フラグ2543とグループ番号2545と塗り状態2546と正解状態2547との集合から構成される。
【0055】
マス番号2541は、そのマスを一意に識別するための番号である。なお、本実施形態では、マス番号2541には、”1”から順に連番が振られていくものとする。また、例えばマス番号2541が”1”のマスは、以下では、単に「マス1」のように称する。マス座標2542は、そのマスが表示される画面上の位置を示すための情報である。連結フラグ2543は、そのマスが、上述したような連結マスであるか否かを示すためのフラグである。オンに設定されていれば他のマスと連結している連結マスであることを示し、オフに設定されていれば、通常マスであることを示す。
【0056】
グループ番号2545は、例えば回答領域101内に連結マスが複数ある場合に、各連結マスを識別するための番号である。そのため、1つの連結マスを構成する各マスには、同じグループ番号2545が割り振られている。
【0057】
塗り状態2546は、そのマスが塗られているか否かを示す情報である。本実施形態では、黒く塗りつぶされている状態である「黒マス」という状態と、塗りつぶされていない状態である「白マス」という状態の、2つの状態のいずれかが設定される。
【0058】
正解状態2547は、そのマスがどのような塗り状態であれば正解であるかを示す情報である。正解状態2547が「黒マス」と設定されていれば、そのマスについては、黒く塗りつぶされている状態が正解である。また、正解状態2547が「白マス」と設定されていれば、そのマスについては、黒く塗りつぶされていない状態が正解である。
【0059】
図10に戻り、ヒント数字情報255は、ヒント領域102に表示されるヒント数字についての情報であり、各ヒント数字毎に区分けされて格納されている。図12は、1つ分のヒント数字255aのデータ構造の一例を示した図である。図12において、ヒント数字255aは、ヒント数字番号2551とヒント数字値2552と大サイズ識別フラグ2553と表示位置2554との集合から構成される。
【0060】
ヒント数字番号2551は、各ヒント数字を一意に識別するための番号である。本実施形態では、ヒント数字番号2551には、”1”から順に連番が振られていくものとする。また、例えばヒント数字番号2551が”1”のヒント数字は、以下では、単に「ヒント数字1」のように称する。
【0061】
ヒント数字値2552は、そのヒント数字で示す具体的な数値である。大サイズ識別フラグ2553は、そのヒント数字が大型ヒント数字であるか通常ヒント数字であるかを識別するためのフラグである。大サイズ識別フラグ2553がオンに設定されていれば、そのヒント数字は大型ヒント数字であることを示し、オフに設定されていれば、通常ヒント数字であることを示す。表示位置2554は、そのヒント数字が表示される画面上の位置を示す情報である。
【0062】
次に、ゲーム装置10において実行されるゲーム処理の流れを図13〜図18を用いて説明する。図13は、ゲーム装置10において実行されるゲーム処理の流れを示すフローチャートである。ゲーム装置10の電源が投入されると、ゲーム装置10のCPUコア21は、図示しないブートROMに記憶されている起動プログラムを実行し、RAM24等の各ユニットが初期化される。そして、メモリカード17に格納されたゲームプログラムがRAM24に読み込まれ、当該ゲームプログラムの実行が開始される。その結果、第2GPU27を介して第2LCD12にゲーム画像が表示されることによって、ゲームが開始される。図13におけるフローチャートは、1問分の問題の表示〜クリアまでにおけるゲーム処理を示す。また、図13に示すステップS4〜ステップS12の処理ループは、1フレーム毎に繰り返し実行される。
【0063】
まず、ステップS1において、以降の処理において用いられるデータの初期化処理が実行される。具体的には、CPUコア21は、問題データ249から、出題する問題を1問ランダムに選択する。更に、CPUコア21は、各種フラグ等の初期化を行う。
【0064】
次に、ステップS2において、回答領域101にマスを表示するためのマス表示処理が行われる。図14は、上記ステップS2で示したマス表示処理の詳細を示すフローチャートである。図14において、まず、ステップS21において、上記ステップS1で選択された問題についてのマス情報254がRAM24から読出される。
【0065】
次に、ステップS22において、マス番号2541を示すための変数iに1が設定される。続くステップS23において、マス情報254からマスiのデータが読み出される。そして、連結フラグ2543の値がオンであるか否か、つまり、マスiが連結マスであるか否かがCPUコア21により判定される。
【0066】
ステップS23における判定の結果、マスiが連結マスであると判定されたときは(ステップS23でYES)、ステップS24において、当該マスiと連結しているマスが検索される。このステップS24の処理をより具体的に説明すると、まず、CPUコア21は、マスiのグループ番号2545を読み出す。続いて、CPUコア21は、当該読み出したグループ番号2545と同じ値のグループ番号2545を有するマスのデータをマス情報254から検索する。そして、CPUコア21は、検索されたマスのそれぞれのマス番号2541を一旦、RAM24に記憶する。
【0067】
次に、ステップS26において、1つの連結マスとして設定されているマス、つまり、ステップS24で検索されたマスと現在の処理ループで処理対象となっているマスiとを1つのマスとして表示するための処理が行われる。これらのマスが連結していることをプレイヤに示すためである。具体的には、まず、連結している各マスについて、上記RAM24に記憶したマス番号2541に基づいて各マスのマス座標2542を検索して取得する。次に、それぞれのマス座標2542で示される回答領域内の位置に各マスを配置した画像データが、第2VRAM29の一部に形成されるフレームバッファに生成される。続いて、これらのマスを仕切る枠線を消去する処理が行われる。例えば、図15に示すように、2×2の4マスが連結マスとして設定されている場合は、図16に示すように、内側の枠線を消去して、外枠だけ表示されるような画像データが生成される。つまり、4つのマスが結合して1つのマスとして表示されるような画像データが生成される。その後、後述のステップS27の処理へと進む。
【0068】
一方、上記ステップS23の判定において、マスiが連結マスではないと判定されたときは(ステップS23でNO)、ステップS25において、マスiを通常マスとして表示するための処理が行われる。具体的には、マスiのマス座標2542で示される回答領域内の位置にマスiが配置された画像データが上記フレームバッファに生成される。そして、次のステップS27の処理へと進む。
【0069】
次に、ステップS27において、変数iに1を加算する処理が実行される。続くステップS28において、変数iの値がステップS1で選択された問題のマス総数252の値より大きいか否かが判定される。つまり、その問題を構成する全てのマスについて処理したか否かが判定される。変数iの値がマス総数252の値より大きくないときは(ステップS28でNO)、まだ処理すべきマスが残っていることになるため、上記ステップS23に戻り、処理が繰り返される。変数iの値がマス総数252の値より大きいと判定されたときは(ステップS28でYES)、全てのマスを表示するための処理が終わったことになるため、マス表示処理が終了する。
【0070】
図13に戻り、ステップS2のマス表示処理の次に、ステップS3において、ヒント数字表示処理が実行される。この処理では、ヒント領域102にヒント数字を配置した画像データを上記フレームバッファに生成する。図17は、上記ステップS3で示したヒント数字表示処理の詳細を示すフローチャートである。図17において、まず、ステップS31において、上記ステップS1で選択された問題についてのヒント数字情報255がRAM24から読出される。
【0071】
次に、ステップS32において、ヒント数字番号2551を示すための変数jに1が設定される。続くステップS33において、ヒント数字情報255からヒント数字jのデータが読み出される。そして、読み出されたヒント数字jの大サイズ識別フラグ2553の値がオンであるか否か、つまり、ヒント数字jが大型ヒント数字であるか否かが判定される。
【0072】
ステップS33の判定の結果、ヒント数字jが大型ヒント数字であると判定されたときは(ステップS33でYES)、ステップS34において、ヒント数字のフォントサイズが所定の大きさに拡大される。そして、表示位置2554で示されるヒント領域102内の表示位置に当該拡大したヒント数字を配置した画像データが、上記フレームバッファに生成される。そして、処理が後述のステップS36へと進められる。
【0073】
一方、上記ステップS33の判定において、ヒント数字jが大型ヒント数字ではないと判定されたときは(ステップS33でNO)、ステップS35において、ヒント数字jを通常ヒント数字として表示するための処理が行われる。具体的には、ヒント数字jの表示位置2554で示されるヒント領域102内の位置にヒント数字jを配置した画像データが、上記フレームバッファに生成される。また、ヒント数字のフォントサイズは、予め設定されている初期値のままで、変更は行わない。そして、処理が次のステップS36の処理へと進められる。
【0074】
次に、ステップ36において、変数jに1を加算する処理が実行される。続くステップS37において、変数jの値がステップS1で選択された問題のヒント数字総数253の値より大きいか否かが判定される。つまり、その問題で用いられる全てのヒント数字について表示するための処理が済んだか否かが判定される。変数jの値がヒント数字総数253の値より大きくないときは(ステップS37でNO)、表示処理すべきヒント数字がまだ残っていることになるため、上記ステップS33に戻り、処理が繰り返される。変数jの値がヒント数字総数253の値より大きいと判定されたときは(ステップS37でYES)、全てのヒント数字を表示するための処理が終わったことになるため、続くステップS38において、フレームバッファの画像データに基づくゲーム画像を画面に表示する処理が行われる。以上で、ヒント数字表示処理は終了する。
【0075】
図13に戻り、ステップS3の処理の次に、ステップS4において、プレイヤによるタッチ入力の有無が判定される。プレイヤからのタッチ入力が検出されなければ(ステップS4でNO)、処理は後述のステップS10に進められる。タッチ入力が検出されたときは(ステップS4でYES)、続くステップS5において、タッチ入力された入力座標の検出が行われる。
【0076】
続いて、ステップS6において、検出された入力座標、すなわち、プレイヤによって指示された画面上の位置が通常マスの表示されている位置であるか否かが判定される。具体的には、CPUコア21は、マス情報254から、連結フラグがオフのマス情報、つまり、通常マスのデータのみを抽出する。次に、CPUコア21は、ステップS6で検出された入力座標と上記抽出された通常マスのそれぞれのマス座標2542とに基づいて、通常マスの表示位置がタッチされたか否かを判定する。タッチされたと判定されれば、ステップS7において、タッチされた通常マスの塗り状態2546が更新される。具体的には、CPUコア21は、塗り状態2546が「白マス」のときは「黒マス」に更新し、「黒マス」のときは「白マス」に更新する。併せて、フレームバッファの画像データについて、対応するマスを黒、または白にした画像データに更新する。
【0077】
一方、ステップS6の判定の結果、通常マスがタッチされていないと判定されたときは(ステップS6でNO)、ステップS8において、プレイヤによって指示された画面上の位置(タッチされた位置)が連結マスの表示位置であるか否かが判定される。具体的には、CPUコア21は、マス情報254から、連結フラグがオンのマス情報、つまり、連結マスのデータのみを抽出する。次に、CPUコア21は、検出された入力座標と当該抽出された連結マスの各マス情報のマス座標2542とに基づいて、連結マスを構成するマスのいずれかがタッチされているか否かを判定する。その結果、連結マスを構成するマスのいずれかがタッチされたと判定されれば、ステップS9において、タッチされた連結マスを構成する各マスの塗り状態2546を更新する。具体的には、タッチされたマスのグループ番号2545を取得する。次に、これに基づいてタッチされたマスが属する連結マスを構成する他のマス情報を検索して抽出する。そして、それぞれのマスの塗り状態2546を一律に更新する。例えば、塗り状態2546が「白マス」のときは連結マスを構成するすべてのマスの塗り状態2546を「黒マス」に更新する。同様に、塗り状態2546が「黒マス」のときは連結マスを構成するマスの全てについて「白マス」に更新する。併せて、フレームバッファの画像データについて、対応する連結マスを黒、または白にした画像データに更新する。
【0078】
次に、ステップS10において、画面の表示処理が行われる。すなわち、フレームバッファの画像データに基づいたゲーム画像をLCD12に表示する処理が行われる。
【0079】
次に、ステップS11において、出題された問題が解かれたか否かを判定するための、正解判定処理が行われる。図18は、上記ステップS11で示した正解判定処理の詳細を示すフローチャートである。図18において、まず、ステップS41において、出題されている問題をクリアしたことを示すためのフラグであるクリアフラグがオフに設定される。次に、ステップS42において、変数iに1が設定される。続くステップS43において、マスiの塗り状態2546、および、正解状態2547が取得される。
【0080】
次に、ステップS44において、ステップS43で取得された正解状態2547と塗り状態2546とが一致するか否かが判定される。つまり、マスiの塗り状態が正解か否かの判定が行われる。当該判定の結果、正解状態2547と塗り状態2546とが一致しないときは(ステップS44でNO)、マスiについては不正解の状態であることになる。この場合は、そのまま正解判定処理を終了する。つまり、1つでも不正解のマスが見つかれば、その時点で正解判定処理が終了することになる。
【0081】
一方、上記ステップS44の判定の結果、正解状態2547と塗り状態2546とが一致していれば(ステップS44でYES)、マスiについては正解であることになる。この場合は、次のステップS45において、変数iに”1”が加算される。つまり、次のマスを調べるための準備が行われることになる。
【0082】
次に、ステップS46において、変数iがマス総数252より大きいか否かが判定される。大きいと判定されたときは(ステップS46でYES)、不正解となるマスが見つからないまま、全てのマスをチェックしたことになるため、その問題はクリアしたと考えられる。そのため、ステップS47でクリアフラグをオンに設定して、正解判定処理を終了する。
【0083】
図13に戻り、ステップS11の次に、ステップS12において、クリアフラグがオンか否かを判定する。つまり、出題中の問題がクリアされたか否かが判定される。その結果、まだクリアされていないと判定されたときは、ステップS4に戻って、ゲーム処理を繰り返す。一方、クリアされていると判定されたときは、ステップS13において、クリア処理が実行される。具体的には、クリア画像の表示や点数の加算処理等が実行される。以上で、第1の実施形態に係るゲーム処理が終了する。
【0084】
このように、本実施形態では、2行または2列にかかって連続する黒マスの数を大型ヒント数字としてヒント領域102に表示する。これにより、ピクチャークロスワードパズルゲームの難度を高め、従来のピクチャークロスワードパズルゲームに飽きてきたプレイヤに新たな楽しみを提供することができる。また、回答領域についても、複数のマスを連結して扱う連結マスを用いている。これにより、ゲームの難度を高めたり低めたりすることができる。そして、難度を高めることで、従来のピクチャークロスワードパズルゲームに飽きてきたプレイヤに新しい楽しみを提供できる。また、難度を下げることで、従来のピクチャークロスワードパズルでも難しいと感じていたようなプレイヤに対して、新しい楽しみ方を提供できる。
【0085】
なお、上記連結マスに関して、マスが連結していることを示す表示であれば、上記のような内枠を消して表示することに限らない。例えば、連結している各マスの枠を所定の色(例えば赤色)で表示する等でもよい。更には、上記実施形態では、隣接しあうマスを連結マスとして設定していたが、例えば、図19に示すように、離れた位置にあるマス131およびマス132を連結マスとして設定するようにしてもよい。この場合、マス131およびマス132のいずれか一方を黒く塗れば、他方も連動して黒く塗られることになる。黒マスから白マスに戻す場合も、同様に、一方が白マスに戻されると、他方も連動して白マスに戻る。
【0086】
また、上述した実施形態では、マスの状態(塗る色)としては、「黒マス」、すなわち黒色に塗る場合と、「白マス」、すなわち白色に塗る場合のピクチャークロスワードパズルを例としていたが、マスを塗る色の種類が更に多いようなピクチャークロスワードパズル(一般に、カラーロジックと呼ばれている)について本発明を適用してもよい。また、上述した実施形態では、タッチされたマスをマーク(チェック)する方法として、当該マスを塗りつぶす(塗り状態を更新)ようにしたが、これに限らなくてもよい。例えば、タッチされたマスをマークする方法として、当該マスに○を付ける(または消す)ようにしてもよいし、他の記号等の文字をつけるようにしてもよい。
【0087】
(第2の実施形態)
次に、図20から図38を参照して、本発明の第2の実施形態について説明する。上述の第1の実施形態では、ヒント数字については、予め設定され、メモリカード17に格納されていたデータが読み出された(RAM24にコピーされた)ものであった。これに対して、第2の実施形態では、マス情報に含まれる正解の情報に基づいてヒント数字を作成して表示する。
【0088】
次に、本発明の第2の実施形態にかかるゲーム装置について説明する。このゲーム装置のハードウェア構成を示すブロック図は、第1の実施形態と同様である(図1〜図3参照)。しかし、本実施形態では、RAM24には第1の実施形態とは部分的に異なるプログラムが格納され、CPUコア21はそのプログラムを実行することにより、第1の実施形態とは異なる機能をも実現する。
【0089】
次に、第2の実施形態にかかるゲーム処理の際にRAM24に記憶されるデータについて説明する。図20は、第2の実施形態におけるゲーム装置10のRAM24のメモリマップを示す図である。当該実施形態においては、ゲームプログラム記憶領域241は、上述した第1の実施形態で図9を用いて説明した各プログラムにヒント数字作成プログラム246を加えたものに相当する。また、データ記憶領域248は、第1の実施形態で説明した各データに表示関連データ280を加えたものに相当する。更に、RAM24には、作業領域281が設けられている。当該領域には、ヒント数字総数253とヒント数字情報255とカレント座標282と連結カレント座標283とが記憶される。ここで、第1の実施形態では、ヒント数字総数253およびヒント数字情報255は、メモリカード17に予め記憶されたものが、パズルゲーム処理に際してRAM24のデータ領域にコピーされていた。これに対し、第2の実施形態では、ヒント数字総数253およびヒント数字情報255は、メモリカード17に記憶されておらず、上記ヒント数字作成プログラム246によって、パズルゲーム処理の一環として適宜作業領域281上に生成される。
【0090】
作業領域281に記憶されるカレント座標282および連結カレント座標283は、後述するヒント数字作成処理において、作成対象となるヒント数字の位置を示すためのデータである。換言すれば、ヒント領域102aや102bの、どの位置に表示するヒント数字を作成するのかを示すためのデータである。カレント座標282および連結カレント座標283の具体的なデータ内容としては、画面座標系での座標(X軸、Y軸)が設定される。
【0091】
更に、第2の実施形態においては、問題データ249の構造が第1の実施形態とは異なっている。図21は、第2の実施形態における問題データ249aのデータ構造の一例を示した図である。第2の実施形態における問題データ249aは、第1の実施形態における問題データの構造からヒント数字情報255が除かれ、列連結フラグ257と行連結フラグ258を加えたものに相当する。また、マス総数252については、列の総数を示す総列数252aと、行の総数を示す総行数252bとを含んでいる。例えば、その問題の回答領域101が10列×10行で構成される場合は、総列数252a、総行数252bともに”10”という値が設定されている。
【0092】
列連結フラグ257は、その問題の回答領域101を構成する各列毎に設定されているフラグであり、大型ヒント数字を少なくとも1つは表示する必要のある列であるか否かを示すためのフラグである。換言すれば、その列に対応するヒント領域内の列が、左右何れかの列と連結するか否かを示すフラグである。本実施形態では、説明の簡略化のため、連結する列あるいは行は、2列または2行であるものとし、3列あるいは3行以上連結することはないものとする。また、本実施形態では、列連結フラグ257の値として、連結していない列であることを”0”で示し、連結している列であることを”1”で示す。そして、列が10列ある問題の場合は、1桁を1列に対応させ、10桁の数字で、例えば「0011001100」のように示す。この例では、列連結フラグ257の値の1桁目が1列目を示し、1列目は連結していないことを示す。また、3桁目は3列目を示し、連結していること、すなわち、3列目は大型ヒント数字が表示される列であることを示す。
【0093】
行連結フラグ258は、その問題の回答領域101を構成する各行毎について設定されているフラグであり、その行が、大型ヒント数字を少なくとも1つは表示する必要のある行であるか否かを示すためのフラグである。その構成は、上記列連結フラグ257と同様であり、行が10行ある問題の場合は、10桁の数字で示される。
【0094】
図22は、図20の表示関連データ280のデータ構造の一例を示した図である。表示関連データ280は、通常ヒント数字幅2801と通常ヒント数字高さ2802と大型ヒント数字幅2803と大型ヒント数字高さ2804と最左下の列ヒント数字座標2805と最右上の行ヒント数字座標2806と列ヒント数字オフセット値2807と行ヒント数字オフセット値2808と1マス幅2809と1マス高さ2810との集合から成る。
【0095】
図22において、通常ヒント数字幅2801は、上記通常ヒント数字1つ分の画面上における幅を示すデータである。通常ヒント数字高さ2802は、上記通常ヒント数字1つ分の画面上における高さを示すデータである。大型ヒント数字幅2803は、上記大型ヒント数字1つ分の画面上における幅を示すデータである。大型ヒント数字高さ2804は、上記大型ヒント数字1つ分の画面上における高さを示すデータである。これらのデータは、例えば、ピクセル単位で示される。
【0096】
最左下の列ヒント数字座標2805は、列についてのヒント数字のうち、最も左下に表示されるヒント数字の画面上の座標を示す。つまり、ヒント領域102a(図4参照)において最も左下に表示されるヒント数字の位置を示すデータである。最右上の行ヒント数字座標2806は、行についてのヒント数字のうち、最も右上に表示されるヒント数字の画面上の座標を示す。つまり、ヒント領域102bにおいて最も右上に表示されるヒント数字の位置を示すデータである。
【0097】
列ヒント数字オフセット値2807は、ヒント領域102aにおいて大型ヒント数字をセンタリングして表示するための値である。つまり、連結する列の中央に大型ヒント数字が表示されるように、その表示位置を右側にずらす値を示す。同様に、行ヒント数字オフセット値2808は、ヒント領域102bにおいて、連結する行の中央に大型ヒント数字が表示されるように、大型ヒント数字の表示位置を下側にずらす値を示す。1マス幅2809は、通常マス1つ分の画面上における幅を示す。1マス高さ2810は、通常マス1つ分の画面上における高さを示す。
【0098】
次に、図23〜図38を用いて、本発明の第2の実施形態にかかるパズルゲーム処理を説明する。図23は、第2の実施形態にかかるパズルゲーム処理を示すフローチャートである。なお、このフローチャートのうちステップS1〜S13は、図13に示したフローチャートと同一であり、両フローチャートにおいて同一のステップには同一の符号が付されている。以下では、本実施形態におけるステップS50の処理を中心に説明する。図23においては、ステップS2の処理で回答領域が表示された後、ステップS50においてヒント数字作成処理が実行され、作業領域281にヒント数字総数253およびヒント数字情報255が生成される。そして、ステップS3におけるヒント数字表示処理で、当該作業領域281に生成されたヒント数字総数253およびヒント数字情報255を読み込み、これに基づいてヒント領域102にヒント数字を表示する処理が行われる。
【0099】
ここで、図24および図25を用いて、上記ステップS50で示したヒント数字作成処理の処理概要を説明する。ここで、図24および図25では、回答領域101の一例として、5列×5行の領域を例に挙げている。そして、列の番号、および行の番号は1から数め、(列、行)の形式でマスを特定する。例えば、左上のマス、すなわち1列目1行目のマスを(1、1)、一番右下のマス、つまり、5列目5行目のマスを(5、5)というように特定する。
【0100】
本処理では、まず、各列に対応するヒント数字、すなわち、図4のヒント領域102aに表示するためのヒント数字(以下、列ヒント数字と呼ぶ)が作成され、その後、各行に対応するヒント数字、すなわち、ヒント領域102bに表示するためのヒント数字(以下、行ヒント数字と呼ぶ)が作成される。列ヒント数字は、各マスを図24の点線矢印に示すような順番で、一つずつ正解であるか否かを判定していき、正解であるマスの数をカウントしていくことで生成される。図24においては、回答領域101の各マスは、(1,5)のマスから判定が開始され、(1,4)→(1,3)・・・(1,1)の順で判定されていく。そして、(1,1)のマスの判定が終われば、一つ右の列の判定に移り、(2,5)のマスから(2,1)のマスへと判定がなされていく。そして、各マスの判定結果に応じて、列ヒント数字が、左下から右上に向かう流れで適宜作成される。
【0101】
一方、行ヒント数字は、図25の点線矢印に示すような順番で、各マスについて判定が行われる。すなわち、(5、1)のマスから判定を開始し、(1,1)に向けて判定が行われる。(1,1)のマスの判定が終われば、次の行に移り、(5,2)から(1,2)のマスが順番に判定されていく。そして、各マスの判定結果に応じて、行ヒント数字が、右上から左下に向かう流れで適宜作成される。
【0102】
次に、ヒント数字作成処理の詳細を説明する。図26は、上記ステップS50で示したヒント数字作成処理の詳細を示すフローチャートである。図26において、まず、ステップS51において、各列に対応するヒント数字、すなわち、ヒント領域102aに表示するためのヒント数字を作成するための列ヒント数字作成処理が実行される。次に、ステップS52において、各行に対応するヒント数字、すなわち、ヒント領域102bに表示するためのヒント数字を作成するための行ヒント数字作成処理が実行される。
【0103】
図27は、上記ステップS51で示した列ヒント数字作成処理の詳細を示すフローチャートである。図27において、まず、ステップS61において、作業領域281に記憶されているヒント数字総数253に”0”が設定される。次に、ステップS62において、列番号を示す変数Xに”1”が設定される。
【0104】
次に、ステップS63において、最初に作成するヒント数字の画面上における座標(表示位置)を設定する。具体的には、表示関連データ280から最左下の列ヒント数字座標2805が読み出され、当該座標のX軸の値が、カレント座標282のX軸の値(以下、カレントX座標と呼ぶ)として設定される。
【0105】
続くステップS64において、カレント座標282のY軸の値(以下、カレントY座標と呼ぶ)として設定される。具体的には、表示関連データ280から最左下の列ヒント数字座標2805が読み出され、当該座標のY軸の値が、カレントY座標に設定される。これにより、最初に作成対象となるヒント数字が、ヒント領域102aの一番左下に表示されるヒント数字であることが特定される。
【0106】
次に、ステップS65において、変数Xで示される列(以下、X列と呼ぶ)が連結している列であるか否かが判定される。具体的には、CPUコア21は、RAM24から列連結フラグ257を読み出し、X桁目の値が”0”であるか”1”であるかを判定する。その結果、”0”であれば、その列は連結しない列であることを示すため(ステップS65でNO)、ステップS66において、後述する単列のヒント数字生成処理が実行されて、X列についてのヒント数字が生成される。続いて、ステップS67において、変数Xに1が加算される。つまり、処理対象列が次の列に設定されることになる。続いて、ステップS68において、カレントX座標に、1マス幅2589の値を加算する。つまり、作成対象となるヒント数字の位置を右に1列移動させる処理が行われる。次に、ステップS72において、変数Xが総列数252a以上であるか否かが判定される。つまり、全ての列について処理を済ませたか否かが判定される。その結果、変数Xが総列数252a以上ではない場合は、上記ステップS64に戻って処理が繰り返される。一方、総列数252a以上の場合は、当該列ヒント数字作成処理は終了する。
【0107】
一方、上記ステップS65の判定の結果、列連結フラグ257のX桁目の値が”1”であれば(ステップS65でYES)、ステップS69において、連結列のヒント数字作成処理が実行される。続いて、ステップS70において、Xに2が加算される。つまり、処理対象列が2列分先の列に設定されることになる。続いて、ステップS71において、カレントX座標に、1マス幅2589を2倍した値を加算する。つまり、作成対象となるヒント数字の位置を右に2列分移動する処理が行われる。次に、上記ステップS72の処理に進み、全ての列について処理を済ませたか否かが判定される。その結果、変数Xが総列数252a以上でない場合は、上記ステップS64に戻って処理が繰り返される。一方、総列数252a以上の場合は、当該列ヒント数字作成処理は終了する。
【0108】
次に、上記ステップS66で示した単列ヒント数字作成処理について図28を用いて説明する。図28において、まず、ステップS81において、正解状態が黒マスであるマスがX列目にあるか否かが判定される。以下、正解状態が黒マスであるマスのことを、「正解マス」と呼ぶ。具体的には、CPUコア21は、X列目にかかる各マスの正解状態2547を読み出す。そして、正解状態2547が「黒マス」であるマスが1つでもあるか否かを判定する。当該判定の結果、「黒マス」であるマスが1つ以上あるときは(ステップS81でYES)、続くステップS82において、行番号を示す変数Yの設定が行われる。具体的には、RAM24から総行数252bが読み出され、その値が変数Yに設定される。
【0109】
次に、ステップS83において、(変数X、変数Y)で示されるマス、つまり、(X列、Y行)のマスが正解マスであるか否かが判定される。すなわち、当該マスの正解状態2547が「黒マス」であるか否かが判定される。その結果、正解マスでないと判定されたときは(ステップS83でNO)、ステップS85において、変数Yが”1”であるか否かが判定される。つまり、処理対象となっている列の全てのマスを調べ終わったか否かが判定される。その結果、変数Yが”1”でなければ(ステップS85でNO)、ステップS86において変数Yから1が減算され、ステップS83の処理に戻る。一方、変数Yが”1”であれば、当該単列のヒント数字作成処理が終了する。
【0110】
一方、ステップS83の判定の結果、正解マスと判定されたときは(ステップS83でYES)、後にヒント数字として設定される変数である変数Zに”1”が設定される。つまり、正解のマスが検出される毎に、当該変数Zの値が増加することになる。
【0111】
次に、ステップS87において、現在処理対象となっているマスの上隣のマスが正解マスであるか否かが判定される。具体的には、Yが”1”ではない値であって、かつ、(変数X、変数Y−1)のマスの正解状態2547が「黒マス」であるか否かが判定される。その結果、正解であるときは(ステップS87でYES)、変数Zに1が加算される。また、変数Yから1が減算される。つまり、正解マスの数を1増やして、処理対象を更に上隣のマスに設定する処理が行われる。そして、上記ステップS87の処理に戻り、処理が繰り返される。
【0112】
一方、ステップS87の判定の結果、現在処理対象となっているマスの上隣のマスが正解マスではないと判定されたときは(ステップS87でNO)、ステップS89において、作業領域281のヒント数字情報255に、ヒント数字を1つ追加するための処理が行われる。具体的には、CPUコア21は、大サイズ識別フラグ2553に”NO”を設定し、表示位置2554に、変数”カレント座標”の値を設定し、ヒント数字値2552に変数Zを設定し、更に、所定のヒント数字番号2551(本実施形態では、作成する順に1から連番を割り振るものとする)を設定したヒント数字をヒント数字情報255に追加する。
【0113】
次に、ステップS90において、ヒント数字総数253に1が加算される。続くステップS91において、カレントY座標から通常ヒント数字高さ2802が減算される。つまり、次に作成対象となるヒント数字の表示位置を通常ヒント数字1つ分、上の位置に設定する処理が行われる。
【0114】
次に、ステップS92において、変数Yが”1”であるか否か、つまり、処理対象となっている列の全てのマスを調べ終わったか否かが判定される。その結果、変数Yが”1”でなければ(ステップS92でNO)、ステップS95において変数Yから1が減算され、ステップS83の処理に戻る。一方、変数Yが”1”であれば、当該単列のヒント数字作成処理が終了する。
【0115】
次に、上記ステップS69で示した連結列ヒント数字作成処理について図29を用いて説明する。まず、ステップS101において、連結する2つの列(以下、連結列と呼ぶ)の双方に正解マスがあるか否かが判定される。すなわち、連結列にかかる各マスの正解状態2547が読み出される。そして、正解マスが連結列のそれぞれに存在するか否かが判定される。当該判定の結果、正解マスが連結している列の双方にないときは(ステップS101でNO)、続くステップS102において、単列ヒント数字作成処理が実行される。つまり、連結列における左側の列について単列ヒント数字作成処理が実行される。当該処理は、図28を用いて上述したステップS66の処理と同様の処理である。従って、詳細な説明は省略する。
【0116】
次に、ステップS103において、変数Xに1が加算される。つまり、処理対象の列を1つ右の列に設定する。次に、ステップS104において、カレントX座標に1マス幅2809が加算される。つまり、作成対象となるヒント数字の位置を一つ右の列に移動する。
【0117】
次に、ステップS105において、単列ヒント数字作成処理が実行される。つまり、連結列における右側の列について、上述したような単列ヒント数字作成処理が実行される。当該処理についても、詳細な説明は省略する。
【0118】
次に、ステップS106において、変数Xから1が減算される。続くステップS107において、カレントX座標から1マス幅2809を減算する。つまり、連結列について処理するために、この時点で処理対象の列を右に2列分シフトしていたものを、右に1列分シフトしただけの状態に戻している。そして、当該連結列ヒント数字作成処理が終了する。
【0119】
一方、上記ステップS101の判定の結果、正解マスが連結列の双方にあるときは(ステップS101でYES)、続くステップS108において、連結列詳細処理が実行される。その後、当該連結列ヒント数字算出処理が終了する。
【0120】
図30〜図33は、上記ステップS108で示した連結列詳細処理の詳細を示すフローチャートである。図30において、まず、ステップS110において、連結カレント座標282のX軸の値(以下、連結カレントX座標と呼ぶ)の設定が行われる。具体的には、カレントX座標に1マス幅2809を加算した値が連結カレントX座標に設定される。ここで、連結カレント座標とは、連結列における右側の位置を示す座標である。換言すれば、作成対象となっている大型ヒント数字が表示される領域(2列分の幅を有する領域)における右側の列に相当する座標である。
【0121】
続くステップS111において、連結カレント座標282のY軸の値(以下、連結カレントY座標と呼ぶ)の設定が行われる。具体的には、カレントY座標の値が連結カレントY座標に設定される。
【0122】
次に、ステップS112において、変数Yに総行数2812bの値が設定される。
【0123】
次に、ステップS113において、連結列のY行目のマスのうち、少なくとも一方が正解マスであるか否かが判定される。その結果、両方とも正解マスではないと判定されたときは(ステップS113でNO)、処理が後述するステップS133へと進められる。
【0124】
一方、連結列のY行目のマスの片方、あるいは両方が正解マスであると判定されたときは(ステップS113でYES)、続くステップS114において、変数Zに”0”が設定される。
【0125】
次に、図31のステップS115において、右側フラグと左側フラグに”No”を設定する。このフラグは、連結列における右側と左側のマスのそれぞれについて、正解マスであるか否かを示すためのフラグである。
【0126】
次に、ステップS116において、連結列のY行目の正解マスの数を変数Zに設定(加算)する。次に、ステップS117において、(X列、Y行)のマス、つまり、現在処理対象の連結列における左側のマスが正解マスであるか否かが当該マスの正解状態2547に基づき判定される。そして、正解マスであるときは、左側フラグに”YES”が設定される。
【0127】
続くステップS118において、今度は、(X列+1、Y行)のマス、現在処理対象の連結列における右側のマスが正解マスであるか否かが判定され、正解マスであるときは、右側フラグに”YES”が設定される。
【0128】
次に、ステップS119において、変数Yが”1”か否かが判定される。変数Yが”1”のときは(ステップS119でNO)、処理は後述するステップS123へと進められる。一方、変数Yが”1”ではないときは(ステップS119でYES)、ステップS120において、(X列、Y行)のマスが正解マスであり、かつ、(X列、Y行−1))のマスが正解マスであるか否かが判定される。その結果、双方のマス共に正解マスであると判定されたときは(ステップS120でYES)、ステップS122において、変数Yから1が減算される。これにより、処理対象の行が一つ上の行に設定される。そして、上記ステップS116へ戻り、処理が繰り返される。
【0129】
一方、ステップS120の判定の結果、一方のマスのみが正解マス、あるいは、双方のマスが共に正解マスではないと判定されたときは(ステップS120でNO)、ステップS121において、(X列+1、Y行)のマスが正解マスであり、かつ、(X列+1、Y行−1))のマスが正解マスであるか否かが判定される。つまり、連結列における右側の列につき、Y軸方向(上方向)に黒マスが連続しているか否かを判定している。その結果、双方のマス共に正解マスであると判定されたときは(ステップS121でYES)、上記ステップS122において、変数Yから1が減算される。そして、上記ステップS116へ戻り、処理が繰り返される。
【0130】
一方、ステップS121の判定の結果、一方のマスのみが正解マス、あるいは、双方のマスが共に正解マスではないと判定されたときは(ステップS121でNO)、次に、図32のステップS123において、右側フラグと左側フラグが共に”YES”であるか否かが判定される。つまり、処理対象となっている連結列における2つのマスが共に正解マスであるか否かが判定される。当該判定の結果、両フラグ共に”YES”であるときは(ステップS123でYES)、ステップS125において、カレントY座標および連結カレントY座標のいずれか小さい方の値を、カレントY座標として設定する。
【0131】
次に、ステップS126において、作業領域281のヒント数字情報255に、大型ヒント数字を1つ追加するための処理が行われる。具体的には、CPUコア21は、大サイズ識別フラグ2553に”YES”を設定し、表示位置2554に、カレント座標282の値を設定し、ヒント数字値2552に変数Zを設定し、更に、ヒント数字番号2551を設定したヒント数字をヒント数字情報255に追加する。
【0132】
続くステップS127において、カレントY座標および連結カレントY座標のそれぞれから、大型ヒント数字高さ2804が減算される。これにより、次に作成対象となるヒント数字の表示位置が大型ヒント数字1つ分、上の位置に設定されることになる。その後、処理が後述のステップS132へと進められる。
【0133】
一方、上記ステップS123の判定の結果、右側フラグと左側フラグの双方が”YES”とはなっていないと判定されたときは(ステップS123でNO)、ステップS124において、左側フラグが”YES”であるか否かが判定される。つまり、処理対象となっている連結列における左側のマスだけが正解マスであるのか否かが判定される。その結果、左側フラグが”YES”であると判定されたときは(ステップS124でYES)、ステップS130において、作業領域281のヒント数字情報255に、処理対象となっている連結列における左側の列に対応する通常ヒント数字を1つ追加するための処理が行われる。具体的には、CPUコア21は、大サイズ識別フラグ2553に”NO”を設定し、表示位置2554に、カレント座標282の値を設定し、ヒント数字値2552に変数Zを設定し、更に、ヒント数字番号2551を設定したヒント数字をヒント数字情報255に追加する。
【0134】
続くステップS131において、カレントY座標から通常ヒント数字高さ2802が減算される。その後、処理が後述のステップS132へと進められる。
【0135】
一方、ステップS124の判定で、左側フラグが”YES”でないと判定されたときは(ステップS124でNO)、処理対象となっている連結列における右側のマスだけが正解マスであることになる。この場合は、ステップS128において、作業領域281のヒント数字情報255に、処理対象となっている連結列における右側の列に対応する通常ヒント数字を1つ追加するための処理が行われる。具体的には、CPUコア21は、大サイズ識別フラグ2553に”NO”を設定し、表示位置2554に、連結カレント座標283の値を設定し、ヒント数字値2552に変数Zを設定し、更に、ヒント数字番号2551を設定したヒント数字をヒント数字情報255に追加する。
【0136】
続くステップS129において、連結カレントY座標から通常ヒント数字高さ2802を減算する。その後、処理が後述のステップS132へと進められる。
【0137】
次に、ステップS132において、ヒント数字総数253に1が加算される。続くステップS133において、変数Yが”1”であるか否かが判定される。その結果、変数Yが”1”でなければ(ステップS133でNO)、ステップS134において変数Yから1が減算され、ステップS113の処理に戻って処理が繰り返される。一方、変数Yが”1”であれば(ステップS133でYES)、当該連結列のヒント数字作成処理が終了する。
【0138】
次に、上記図26のステップS52で示した行ヒント数字作成処理について説明する。本処理は、基本的には上述した列ヒント数字作成処理と同様のアルゴリズムを有する。但し、列単位ではなく、図25に示したように、行単位で処理を進める点が異なる。以下の説明では、列ヒント数字作成処理と異なる点を中心に説明する。
【0139】
図33は、上記ステップS52で示した行ヒント数字作成処理の詳細を示すフローチャートである。図33に示す処理の流れは、基本的には、図27を用いて上述した列ヒント数字作成処理と同じ流れであるが、変数Xの代わりに変数Yを用いられる点(ステップS152,S155、S157、S160、S162)と、カレントY座標とカレントX座標とが入れ替わる形で処理が行われる点(ステップS153、S154、S158、S161)とが異なっている。
【0140】
図34は、図33のステップS156で示される単行のヒント数字作成処理の詳細を示すフローチャートである。図34に示す処理の流れは、基本的には、図28を用いて上述した単列ヒント数字作成処理と同じ流れであるが、変数Xと変数Yとが入れ替わる形で処理が行われる点、ステップS172において、変数Xには総列数252aが設定される点、ステップS181において、カレントX座標から通常ヒント数字幅2801が減算される点が異なる。
【0141】
図35は、図33のステップS159で示される連結行ヒント数字作成処理の詳細を示すフローチャートである。図35に示す処理の流れは、ステップS203およびステップS206において変数Xの代わりに変数Yに対して処理が行われる点と、ステップS204においてカレントY座標に1マス高さ2810が加算される点と、ステップS207においてカレントY座標から1マス高さ2810が減算される点が、図29を用いて上述した連結列ヒント数字作成処理と異なっているが、それ以外は、同じ処理の流れとなっている。
【0142】
図36〜図38は、図35のステップS208で示される連結行詳細処理の詳細を示すフローチャートである。本処理の流れについても、基本的には、図30〜図33を用いて上述した連結列詳細処理と同じ処理の流れであるが、変数Xと変数Yとが入れ替わる形で処理が行われる点と、カレントX座標および連結カレントX座標がカレントY座標および連結カレントY座標と入れ替わる形で処理が行われる点が異なる。更に、通常ヒント数字高さ2802の代わりに通常ヒント数字幅2801が用いられる点(ステップS229、S231)、大型ヒント数字高さ2804の代わりに大型ヒント数字幅2803が用いられる点(ステップS227)が異なっている。更に、連結行における上側と下側のマスのそれぞれについて、正解マスであるか否かを示すための上側フラグと下側フラグとが用いられる点(ステップS215、S217、S218、S223、S224)が異なっている。以上で、行ヒント数字作成処理の説明を終了する。
【0143】
上述のように、第2の実施形態では、マス情報254に設定されている正解状態2547に基づいて、ヒント数字情報255をゲーム開始時に生成している。そのため、ヒント数字情報をメモリカード17内に記憶させておく必要が無く、パズルゲームのプログラム容量を削減することが可能となる。
【産業上の利用可能性】
【0144】
本発明にかかるパズルゲーム装置およびパズルゲームプログラムは、今までにない新規なパズルゲームを提供でき、据置型ゲーム装置や携帯型ゲーム装置、パーソナルコンピュータや携帯電話等に有用である。
【図面の簡単な説明】
【0145】
【図1】本発明の実施形態に係る携帯ゲーム装置10の外観図
【図2】本発明の実施形態に係る携帯ゲーム装置10の斜視図
【図3】本発明の実施形態に係る携帯ゲーム装置10のブロック図
【図4】本実施形態において想定するゲームの画面の一例
【図5】本実施形態において想定するゲームの画面の一例
【図6】本実施形態において想定するゲームの画面の一例
【図7】本実施形態において想定するゲームの画面の一例
【図8】本実施形態において想定するゲームの画面の一例
【図9】図3のRAM24のメモリ空間を図解的に示したメモリマップ
【図10】問題データ249aのデータ構成の一例を示す図
【図11】マス情報254aのデータ構造の一例を示した図
【図12】ヒント数字255aのデータ構造の一例を示した図
【図13】ゲーム装置10において実行されるゲーム処理の流れを示すフローチャート
【図14】図13のステップS2で示したマス表示処理の詳細を示すフローチャート
【図15】連結マスの一例を示す図
【図16】内側の枠線を消去した連結マスの一例を示す図
【図17】図13のステップS3で示したヒント数字表示処理の詳細を示すフローチャート
【図18】図13のステップS11で示した正解判定処理の詳細を示すフローチャート
【図19】連結マスの設定の一例を示す図
【図20】第2の実施形態におけるゲーム装置10のRAM24のメモリマップを示す図
【図21】第2の実施形態における問題データ249aのデータ構造の一例を示した図
【図22】表示関連データ280のデータ構造の一例を示した図
【図23】第2の実施形態にかかるパズルゲーム処理を示すフローチャート
【図24】ヒント数字作成処理の処理概要を説明するための図
【図25】ヒント数字作成処理の処理概要を説明するための図
【図26】図23のステップS50で示したヒント数字作成処理の詳細を示すフローチャート
【図27】図26のステップS51で示した列ヒント数字作成処理の詳細を示すフローチャート
【図28】図27のステップS66で示した単列ヒント数字作成処理の詳細を示すフローチャート
【図29】図27のステップS69で示した連結列ヒント数字作成処理の詳細を示すフローチャート
【図30】図29のステップS108で示した連結列詳細処理の詳細を示すフローチャート
【図31】図29のステップS108で示した連結列詳細処理の詳細を示すフローチャート
【図32】図29のステップS108で示した連結列詳細処理の詳細を示すフローチャート
【図33】図26のステップS52で示した行ヒント数字作成処理の詳細を示すフローチャート
【図34】図33のステップS156で示した単行ヒント数字作成処理の詳細を示すフローチャート
【図35】図33のステップS159で示される連結行ヒント数字作成処理の詳細を示すフローチャート
【図36】図25のステップS208で示される連結行詳細処理の詳細を示すフローチャート
【図37】図25のステップS208で示される連結行詳細処理の詳細を示すフローチャート
【図38】図25のステップS208で示される連結行詳細処理の詳細を示すフローチャート
【符号の説明】
【0146】
10 携帯型ゲーム装置
11 第1LCD
12 第2LCD
13 ハウジング
14 操作スイッチ部
15 タッチパネル
16 スタイラスペン
17 メモリカード
18 音抜き孔
20 電子回路基板
21 CPUコア
22 バス
23 コネクタ
24 RAM
25 インターフェース回路
26 第1GPU
27 第2GPU
28 第1VRAM
29 第2VRAM
31 LCDコントローラ
32 レジスタ
33 マイクロフォン孔
35 ワイヤレス通信部
36 マイクロフォン

【特許請求の範囲】
【請求項1】
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示手段と、
前記回答領域に表示される枡目のうち、複数の枡目を互いに関連づけて連結枡として設定するための連結枡設定手段と、
前記連結枡設定手段によって互いに関連づけられた枡目が前記連結枡であることを示すための表示を行う連結状態表示手段と、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示するヒント領域表示手段と、
前記マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を前記ヒント領域内の当該行あるいは列に対応する領域に表示する通常ヒント数字表示手段と、
前記マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字を前記ヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する大型ヒント数字表示手段と、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定手段と、
前記枡目特定手段によって特定された枡目をマークして表示するための枡目マーク手段と、
前記枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定手段とを備える、パズルゲーム装置。
【請求項2】
前記枡目マーク手段は、前記枡目特定手段で特定された枡目が前記連結枡であるときは、当該連結枡として関連づけられている枡目を全てマークする、請求項1に記載のパズルゲーム装置。
【請求項3】
前記連結状態表示手段は、前記連結枡として設定されている複数の枡目を結合して1つの枡目として前記回答領域に表示する、請求項1に記載のパズルゲーム装置。
【請求項4】
前記パズルゲーム装置は、
前記回答領域に表示される各枡目に関する情報であり、当該各枡目が前記連結枡として設定される枡目であるか否かを示す情報である枡目情報を記憶するための枡目情報記憶手段を更に備え、
前記連結枡設定手段は、前記枡目情報記憶手段から前記枡目情報を読み出し、当該読み出した枡目情報に基づいて複数の枡目を互いに関連づけて前記連結枡として設定する、請求項1に記載のパズルゲーム装置。
【請求項5】
前記パズルゲーム装置は、
前記回答領域に表示される枡目の正解のときのマーク状態を示す正解情報を記憶するための正解情報記憶手段と、
前記正解情報を読出し、当該正解情報に基づいて、前記通常ヒント数字および前記大型ヒント数字を作成するヒント数字作成手段とを更に備え、
前記通常ヒント数字表示手段は、前記ヒント数字作成手段が作成した通常ヒント数字を表示し、
前記大型ヒント数字表示手段は、前記ヒント数字作成手段が作成した大型ヒント数字を表示する、請求項1に記載のパズルゲーム装置。
【請求項6】
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示手段と、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示するヒント領域表示手段と、
前記マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、前記ヒント領域内の当該行あるいは列に対応する領域に表示する通常ヒント数字表示手段と、
前記マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字を前記ヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する大型ヒント数字表示手段と、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定手段と、
前記特定された枡目をマークして表示するための枡目マーク手段と、
前記枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定手段とを備える、パズルゲーム装置。
【請求項7】
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示手段と、
前記回答領域に表示される枡目のうち、複数の枡目を互いに関連づけて連結枡として設定するための連結枡設定手段と、
前記連結枡設定手段によって互いに関連づけられた枡目が前記連結枡であることを示すための表示を行う連結状態表示手段と、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示するヒント領域表示手段と、
前記マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示すヒント数字を前記ヒント領域内の当該行あるいは列に対応する領域に表示するヒント数字表示手段と、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定手段と、
前記特定された枡目をマークして表示するための枡目マーク手段と、
前記枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定手段とを備える、パズルゲーム装置。
【請求項8】
ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示ステップと、
前記回答領域に表示される枡目のうち、複数の枡目を互いに関連づけて連結枡として設定するための連結枡設定ステップと、
前記連結枡設定ステップによって互いに関連づけられた枡目が前記連結枡であることを示すための表示を行う連結状態表示ステップと、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示するヒント領域表示ステップと、
前記マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、前記ヒント領域内の当該行あるいは列に対応する領域に表示する通常ヒント数字表示ステップと、
前記マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字を前記ヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように、表示する大型ヒント数字表示ステップと、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定ステップと、
前記特定された枡目をマークして表示するための枡目マークステップと、
前記枡目マークステップによってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定ステップとを前記コンピュータに実行させる、パズルゲームプログラム。
【請求項9】
ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示ステップと、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を表示するための領域であるヒント領域を表示するヒント領域表示ステップと、
前記マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を前記ヒント領域内の当該行あるいは列に対応する領域に表示する通常ヒント数字表示ステップと、
前記マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字を前記ヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように、表示する大型ヒント数字表示ステップと、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定ステップと、
前記特定された枡目をマークして表示するための枡目マークステップと、
前記枡目マークステップによってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定ステップとを前記コンピュータに実行させる、パズルゲームプログラム。
【請求項10】
ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示ステップと、
前記回答領域に表示される枡目のうち、所定の複数の枡目を互いに関連づけて連結枡として設定するための連結枡設定ステップと、
前記連結枡設定ステップによって互いに関連づけられた枡目が前記連結枡であることを示すための表示を行う連結状態表示ステップと、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を表示するための領域であるヒント領域を表示するヒント領域表示ステップと、
前記マトリクスの各行および各列のいずれかに対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示すヒント数字を、前記ヒント領域内の当該行あるいは列に対応する領域に表示するヒント数字表示ステップと、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定ステップと、
前記特定された枡目をマークして表示するための枡目マークステップと、
前記枡目マークステップによってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定ステップとを前記コンピュータに実行させる、パズルゲームプログラム。

【図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

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate