(57)【特許請求の範囲】
【請求項１】
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示手段と、
前記回答領域に表示される枡目のうち、複数の枡目を互いに関連づけて連結枡として設定するための連結枡設定手段と、
前記連結枡設定手段によって互いに関連づけられた枡目が前記連結枡であることを示すための表示を行う連結状態表示手段と、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示するヒント領域表示手段と、
前記マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を前記ヒント領域内の当該行あるいは列に対応する領域に表示する通常ヒント数字表示手段と、
前記マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字を前記ヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する大型ヒント数字表示手段と、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定手段と、
前記枡目特定手段によって特定された枡目をマークして表示するための枡目マーク手段と、
前記枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定手段とを備える、パズルゲーム装置。
【請求項２】
前記枡目マーク手段は、前記枡目特定手段で特定された枡目が前記連結枡であるときは、当該連結枡として関連づけられている枡目を全てマークする、請求項１に記載のパズルゲーム装置。
【請求項３】
前記連結状態表示手段は、前記連結枡として設定されている複数の枡目を結合して１つの枡目として前記回答領域に表示する、請求項１に記載のパズルゲーム装置。
【請求項４】
前記パズルゲーム装置は、
前記回答領域に表示される各枡目に関する情報であり、当該各枡目が前記連結枡として設定される枡目であるか否かを示す情報である枡目情報を記憶するための枡目情報記憶手段を更に備え、
前記連結枡設定手段は、前記枡目情報記憶手段から前記枡目情報を読み出し、当該読み出した枡目情報に基づいて複数の枡目を互いに関連づけて前記連結枡として設定する、請求項１に記載のパズルゲーム装置。
【請求項５】
前記パズルゲーム装置は、
前記回答領域に表示される枡目の正解のときのマーク状態を示す正解情報を記憶するための正解情報記憶手段と、
前記正解情報を読出し、当該正解情報に基づいて、前記通常ヒント数字および前記大型ヒント数字を作成するヒント数字作成手段とを更に備え、
前記通常ヒント数字表示手段は、前記ヒント数字作成手段が作成した通常ヒント数字を表示し、
前記大型ヒント数字表示手段は、前記ヒント数字作成手段が作成した大型ヒント数字を表示する、請求項１に記載のパズルゲーム装置。
【請求項６】
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示手段と、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示するヒント領域表示手段と、
前記マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、前記ヒント領域内の当該行あるいは列に対応する領域に表示する通常ヒント数字表示手段と、
前記マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字を前記ヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する大型ヒント数字表示手段と、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定手段と、
前記特定された枡目をマークして表示するための枡目マーク手段と、
前記枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定手段とを備える、パズルゲーム装置。
【請求項７】
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示手段と、
前記回答領域に表示される枡目のうち、複数の枡目を互いに関連づけて連結枡として設定するための連結枡設定手段と、
前記連結枡設定手段によって互いに関連づけられた枡目が前記連結枡であることを示すための表示を行う連結状態表示手段と、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示するヒント領域表示手段と、
前記マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示すヒント数字を前記ヒント領域内の当該行あるいは列に対応する領域に表示するヒント数字表示手段と、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定手段と、
前記特定された枡目をマークして表示するための枡目マーク手段と、
前記枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定手段とを備える、パズルゲーム装置。
【請求項８】
ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示ステップと、
前記回答領域に表示される枡目のうち、複数の枡目を互いに関連づけて連結枡として設定するための連結枡設定ステップと、
前記連結枡設定ステップによって互いに関連づけられた枡目が前記連結枡であることを示すための表示を行う連結状態表示ステップと、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示するヒント領域表示ステップと、
前記マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、前記ヒント領域内の当該行あるいは列に対応する領域に表示する通常ヒント数字表示ステップと、
前記マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字を前記ヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように、表示する大型ヒント数字表示ステップと、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定ステップと、
前記特定された枡目をマークして表示するための枡目マークステップと、
前記枡目マークステップによってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定ステップとを前記コンピュータに実行させる、パズルゲームプログラム。
【請求項９】
ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示ステップと、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を表示するための領域であるヒント領域を表示するヒント領域表示ステップと、
前記マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を前記ヒント領域内の当該行あるいは列に対応する領域に表示する通常ヒント数字表示ステップと、
前記マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字を前記ヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように、表示する大型ヒント数字表示ステップと、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定ステップと、
前記特定された枡目をマークして表示するための枡目マークステップと、
前記枡目マークステップによってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定ステップとを前記コンピュータに実行させる、パズルゲームプログラム。
【請求項１０】
ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、
マトリクス状に配置された複数の枡目からなる回答領域を表示する回答領域表示ステップと、
前記回答領域に表示される枡目のうち、所定の複数の枡目を互いに関連づけて連結枡として設定するための連結枡設定ステップと、
前記連結枡設定ステップによって互いに関連づけられた枡目が前記連結枡であることを示すための表示を行う連結状態表示ステップと、
前記回答領域に表示される枡目のうち、マークする枡目の数を示す数字を表示するための領域であるヒント領域を表示するヒント領域表示ステップと、
前記マトリクスの各行および各列のいずれかに対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示すヒント数字を、前記ヒント領域内の当該行あるいは列に対応する領域に表示するヒント数字表示ステップと、
プレイヤの操作に応じて、前記回答領域内の枡目のうちマークする枡目を特定するための枡目特定ステップと、
前記特定された枡目をマークして表示するための枡目マークステップと、
前記枡目マークステップによってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する正解判定ステップとを前記コンピュータに実行させる、パズルゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パズルゲーム装置およびパズルゲームプログラムに関し、より特定的には、マトリクス状に配置された複数の枡目を所定のヒント数字に基づいて塗りつぶすパズルゲーム装置およびパズルゲームプログラムに関する。
【背景技術】
【０００２】
従来より、複数の行列からなるマス目に対して、各行列毎に表示される数字（ヒント数字）をヒントにして塗り潰すマス目を割り出し、そのとおりに塗り潰していくと、最終的に絵（または文字）が浮かび上がるタイプのパズルゲーム、いわゆる、ピクチャークロスワードパズルというパズルゲームが知られている。そして、このようなパズルゲームを電子ゲーム機上で動作可能としたゲームプログラムやゲーム機が知られている（例えば、非特許文献１）。このゲームプログラムでは、１５×１５のマス目、および、当該マス目の上部および左部にヒント数字が表示される。そして、プレイヤが塗りつぶしたいマス目に対応するヒント数字を拡大して表示する技術が開示されている。
【非特許文献１】"ピクロス２"、[online]、任天堂、[平成１８年９月１３日検索]、インターネット<ＵＲＬ：http://www.nintendo.co.jp/n02/dmg/ap2j/index.html>
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述したような上記非特許文献１に開示されたゲームプログラムにおいては、以下に示す問題点があった。上述のゲームプログラムでは、プレイヤに見やすいようにヒント数字を拡大表示しているが、各ヒント数字に対応する行列は常に１つであった。また、マス目の大きさも全て同じであった。そのため、ゲームが単調になり易く、長く遊んでいくとプレイヤに飽きられてしまうという問題があった。
【０００４】
それゆえに、本発明の目的は、新規なパズルゲーム装置およびパズルゲームプログラムを提供することである。
【課題を解決するための手段】
【０００５】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【０００６】
第１の発明は、回答領域表示手段（Ｓ２）と、連結枡設定手段（Ｓ２３，２４）と、連結状態表示手段（Ｓ２６）と、ヒント領域表示手段（Ｓ３）と、通常ヒント数字表示手段（Ｓ３５）と、大型ヒント数字表示手段（Ｓ３４）と、枡目特定手段（Ｓ５）と、枡目マーク手段（Ｓ７、Ｓ９）と、正解判定手段（Ｓ１１）とを備えるパズルゲーム装置である。回答領域表示手段は、マトリクス状に配置された複数の枡目からなる回答領域を表示する。連結枡設定手段は、回答領域に表示される枡目のうち、複数の枡目を互いに関連づけて連結枡として設定する。連結状態表示手段は、連結枡設定手段によって互いに関連づけられた枡目が連結枡であることを示すための表示を行う。ヒント領域表示手段は、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。通常ヒント数字表示手段は、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。大型ヒント数字表示手段は、マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字をヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する。枡目特定手段は、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マーク手段は、枡目特定手段によって特定された枡目をマークして画面に表示する。正解判定手段は、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【０００７】
第１の発明によれば、回答領域に連結枡を用い、また、ヒント数字として複数の行列にかかるマークする枡の数を表示することで、パズルゲームの興趣性を高めることができる。これにより、従来のピクチャークロスワードパズルでは満足できなかったプレイヤに対して、新しい楽しみ方を提供することができる。
【０００８】
第２の発明は、第１の発明において、枡目マーク手段は、枡目特定手段で特定された枡目が連結枡であるときは、当該連結枡として関連づけられている枡目を全てマークする。
【０００９】
第２の発明によれば、パズルゲームの操作性を高めることができる。
【００１０】
第３の発明は、第１の発明において、連結状態表示手段は、連結枡として設定されている複数の枡目を結合して１つの枡目として回答領域に表示する。
【００１１】
第３の発明によれば、回答領域内のどのマスが連結マスであるかをプレイヤにわかりやすく提示することができる。
【００１２】
第４の発明は、第１の発明において、パズルゲーム装置は、回答領域に表示される各枡目に関する情報であり、当該各枡目が連結枡として設定される枡目であるか否かを示す情報である枡目情報を記憶するための枡目情報記憶手段を更に備える。更に、連結枡設定手段は、枡目情報記憶手段から枡目情報を読み出し、当該読み出した枡目情報に基づいて複数の枡目を互いに関連づけて連結枡として設定する。
【００１３】
第４の発明によれば、第１の発明と同様の効果が得られる。
【００１４】
第５の発明は、第１の発明において、パズルゲーム装置は、正解情報記憶手段と、ヒント数字作成手段とを更に備える。正解情報記憶手段は、回答領域に表示される枡目の正解のときのマーク状態を示す正解情報を記憶する。ヒント数字作成手段は、正解情報を読出し、当該正解情報に基づいて、通常ヒント数字および前記大型ヒント数字を作成する。更に、通常ヒント数字表示手段は、ヒント数字作成手段が作成した通常ヒント数字を表示する。大型ヒント数字表示手段は、ヒント数字作成手段が作成した大型ヒント数字を表示する。
【００１５】
第５の発明によれば、ヒント数字に関する情報を予め用意してメモリカード等に記憶させておく必要がなくなり、パズルゲームにかかる記憶容量を軽減することが可能となる。
【００１６】
第６の発明は、回答領域表示手段（Ｓ２）と、ヒント領域表示手段（Ｓ３）と、通常ヒント数字表示手段（Ｓ３５）と、大型ヒント数字表示手段（Ｓ３４）と、枡目特定手段（Ｓ５）と、枡目マーク手段（Ｓ７、Ｓ９）と、正解判定手段（Ｓ１１）とを備えるパズルゲーム装置である。回答領域表示手段は、マトリクス状に配置された複数の枡目からなる回答領域を表示する。ヒント領域表示手段は、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。通常ヒント数字表示手段は、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。大型ヒント数字表示手段は、マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字をヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する。枡目特定手段は、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マーク手段は、枡目特定手段によって特定された枡目をマークする。正解判定手段は、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【００１７】
第６の発明によれば、ヒント数字として複数の行列にかかるマークする枡の数を表示することで、パズルゲームの興趣性を高めることができる。
【００１８】
第７の発明は、回答領域表示手段（Ｓ２）と、連結枡設定手段（Ｓ２３，２４）と、連結状態表示手段（Ｓ２６）と、ヒント領域表示手段（Ｓ３）と、ヒント数字表示手段（Ｓ３５）と、枡目特定手段（Ｓ５）と、枡目マーク手段（Ｓ７、Ｓ９）と、正解判定手段（Ｓ１１）とを備えるパズルゲーム装置である。回答領域表示手段は、マトリクス状に配置された複数の枡目からなる回答領域を表示する。連結枡設定手段は、回答領域に表示される枡目のうち、所定の複数の枡目を互いに関連づけて連結枡として設定する。連結状態表示手段は、連結枡設定手段によって互いに関連づけられた枡目が連結枡であることを示すための表示を行う。ヒント領域表示手段は、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。ヒント数字表示手段は、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。枡目特定手段は、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マーク手段は、枡目特定手段によって特定された枡目をマークする。正解判定手段は、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【００１９】
第７の発明によれば、回答領域に連結枡を用いることで、パズルゲームの興趣性を高めることができる。
【００２０】
第８の発明は、ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、回答領域表示ステップ（Ｓ２）と、連結枡設定ステップ（Ｓ２３，２４）と、連結状態表示ステップ（Ｓ２６）と、ヒント領域表示ステップ（Ｓ３）と、通常ヒント数字表示ステップ（Ｓ３５）と、大型ヒント数字表示ステップ（Ｓ３４）と、枡目特定ステップ（Ｓ５）と、枡目マークステップ（Ｓ７、Ｓ９）と、正解判定ステップ（Ｓ１１）とを備えるパズルゲームプログラムである。回答領域表示ステップは、マトリクス状に配置された複数の枡目からなる回答領域を表示する。連結枡設定ステップは、回答領域に表示される枡目のうち、所定の複数の枡目を互いに関連づけて連結枡として設定する。連結状態表示ステップは、連結枡設定ステップによって互いに関連づけられた枡目が連結枡であることを示すための表示を行う。ヒント領域表示ステップは、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。通常ヒント数字表示ステップは、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。大型ヒント数字表示ステップは、マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字をヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する。枡目特定ステップは、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マークステップは、枡目特定ステップによって特定された枡目をマークする。正解判定ステップは、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【００２１】
第８の発明によれば、第１の発明と同様の効果を得ることができる。
【００２２】
第９の発明は、ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、回答領域表示ステップ（Ｓ２）と、ヒント領域表示ステップ（Ｓ３）と、通常ヒント数字表示ステップ（Ｓ３５）と、大型ヒント数字表示ステップ（Ｓ３４）と、枡目特定ステップ（Ｓ５）と、枡目マークステップ（Ｓ７、Ｓ９）と、正解判定ステップ（Ｓ１１）とを備えるパズルゲームプログラムである。回答領域表示ステップは、マトリクス状に配置された複数の枡目からなる回答領域を表示する。ヒント領域表示ステップは、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。通常ヒント数字表示ステップは、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示す通常ヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。大型ヒント数字表示ステップは、マトリクスのうち、隣接しあう複数の行あるいは隣接しあう複数の列にかかって連続してマークする枡目の数を示す大型ヒント数字をヒント領域内の当該複数の行あるいは複数の列に対応する領域を跨るように表示する。枡目特定ステップは、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マークステップは、枡目特定ステップによって特定された枡目をマークする。正解判定ステップは、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【００２３】
第９の発明によれば、第６の発明と同様の効果を得ることができる。
【００２４】
第１０の発明は、ゲーム装置のコンピュータに実行させるパズルゲームプログラムであって、回答領域表示ステップ（Ｓ２）と、連結枡設定ステップ（Ｓ２３，２４）と、連結状態表示ステップ（Ｓ２６）と、ヒント領域表示ステップ（Ｓ３）と、ヒント数字表示ステップ（Ｓ３５）と、枡目特定ステップ（Ｓ５）と、枡目マークステップ（Ｓ７、Ｓ９）と、正解判定ステップ（Ｓ１１）とを備えるパズルゲームプログラムである。回答領域表示ステップは、マトリクス状に配置された複数の枡目からなる回答領域を表示する。連結枡設定ステップは、回答領域に表示される枡目のうち、所定の複数の枡目を互いに関連づけて連結枡として設定する。連結状態表示ステップは、連結枡設定ステップによって互いに関連づけられた枡目が連結枡であることを示すための表示を行う。ヒント領域表示ステップは、回答領域に表示される枡目のうち、マークする枡目の数を示す数字を複数表示するための領域であるヒント領域を表示する。ヒント数字表示ステップは、マトリクスの各行または各列に対応づけられており、当該対応づけられている行あるいは列においてマークする枡目の数を示すヒント数字を、ヒント領域内の当該行あるいは列に対応する領域に表示する。枡目特定ステップは、プレイヤの操作に応じて、回答領域内の枡目のうちマークする枡目を特定する。枡目マークステップは、枡目特定ステップによって特定された枡目をマークする。正解判定ステップは、枡目マーク手段によってマークされた枡目の集合が、予め設定されているパズルの解となる図形であるか否かを判定する。
【００２５】
第１０の発明によれば、第７の発明と同様の効果を得ることができる。
【発明の効果】
【００２６】
本発明によれば、新規なパズルゲームを提供することができ、プレイヤに、今までにない新しい楽しみを提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
【００２８】
まず、各実施形態の詳細を説明するに先立ち、各実施形態で共通して使用されるゲーム装置の構成について説明する。図１は、本発明の一実施形態に係るゲーム装置１０の外観図である。図２は、このゲーム装置１０の斜視図である。図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００２９】
上側ハウジング１３ａには、後述する１対のスピーカ（図３の３０ａ、３０ｂ）からの音を外部に放出するための音抜き孔１８ａ、１８ｂが形成されている。
【００３０】
上側ハウジング１３ａと下側ハウジング１３ｂとを開閉可能に接続するヒンジ部にはマイクロフォン用孔３３が設けられている。
【００３１】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、およびＹボタン１４ｇが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。下側ハウジング１３ｂには、電源スイッチ１９、メモリカード１７を収納するための挿入口、スタイラスペン１６を収納するための挿入口が設けられている。
【００３２】
タッチパネル１５は、抵抗膜方式のタッチパネルである。ただし、本発明は抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。タッチパネル１５は、スタイラスペン１６に限らず指で操作することも可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００３３】
メモリカード１７はゲームプログラムを記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００３４】
次に、図３を参照してゲーム装置１０の内部構成を説明する。
【００３５】
図３において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４、およびＬＣＤコントローラ３１、およびワイヤレス通信部３５が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラムはＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂ、図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４、およびマイクロフォン３６が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。マイクロフォン３６は、マイクロフォン用孔３３の内側に配置される。
【００３６】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されているゲーム画像を生成するためのデータに基づいて第１のゲーム画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２のゲーム画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００３７】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００３８】
ワイヤレス通信部３５は、他のゲーム装置のワイヤレス通信部との間で、ゲーム処理に利用されるデータやその他のデータをやりとりする機能を有している。
【００３９】
なお、本発明はゲーム装置に限らず、ハウジングで支持された押圧式のタッチパネルを備えた任意の装置に適用することができる。例えば、携帯ゲーム装置や、据え置き型ゲーム装置のコントローラや、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）に適用することができる。また、本発明はタッチパネルの下にディスプレイが設けられていないような入力装置にも適用することができる。
【００４０】
次に、図４〜図８を用いて、本実施形態で想定するゲームの概要について説明する。図４は、本実施形態で想定するゲームの画面の一例である。本実施形態で想定するゲームは、ヒント数字を手がかりにマス目を黒くしていき、出題者が用意した図柄を完成させる、いわゆるピクチャークロスワードパズル（イラストロジックとも呼ばれている）である。図４では、パズル全体が１画面に収まった状態でＬＣＤ１２に表示されている。図４において、パズルは回答領域１０１とヒント領域１０２とに分かれている。
【００４１】
図４において、回答領域１０１は、ｎ×ｍのマスで構成される方眼領域である。図４においては、１０×１０のマスを一例として表示している。ヒント領域１０２は、ヒント数字が表示される領域である。ヒント領域１０２は、列に対応するヒント数字を表示するヒント領域１０２ａと、行に対応するヒント数字を表示するヒント領域１０２ｂとで構成されている。ヒント数字とは、連続して黒く塗り潰すマス目（以下、黒マスと呼ぶ）の数である。例えば、「５」とあれば、５個の連続した黒マスがあることを示す。また、ヒント数字が同じ列内、あるいは行内に複数ある場合、それぞれが連続する黒マスの数を表し、間には必ず塗り潰さないマス（以下、白マスという）が少なくとも１つ入ることを示す。例えば、「２  １」とあれば、２個の連続した黒マスと１個の黒マスがその順番通りにあるということを示す。そして、プレイヤは、上部および左部に表示されてるヒント数字をヒントにして、あるマス目を黒マスとするかどうかを判断する。そして、プレイヤは、適宜、マス目を黒く塗る操作を行う。本実施形態では、プレイヤが所望のマス目をスタイラスペン１７や指でタッチする毎に、そのマス目の表示状態を、「黒マス」→「白マス」の順で切り替えることができる。
【００４２】
ここで、図４において、ヒント領域１０２に表示されるヒント数字には、通常ヒント数字１０５と大型ヒント数字１０６との２種類がある。通常ヒント数字１０５は、それぞれ回答領域１０１における１マス分の大きさの領域内に収まるように表示されている。一方、大型ヒント数字１０６は、それぞれ回答領域１０１における２マス以上の大きさを有する領域にかかって表示されている。通常ヒント数字１０５は、所定の１行あるいは１列における黒マスの数を表している。これに対し、大型ヒント数字１０６とは、その大型ヒント数字が表示されている２列あるいは２行にかかって連続している黒マスの数を示す数字である。
【００４３】
図５を用いて、通常ヒント数字１０５と大型ヒント数字１０６について更に説明する。図５では、Ａ行〜Ｄ行の４行がある場合を例とし、Ａ行およびＢ行については通常ヒント数字を用い、Ｃ行とＤ行については、大型ヒント数字を用いる場合を例に説明する。なお、説明の簡略化のため、ここでは「行」（横方向）についてのみ例示しているが、「列」（縦方向）に関しても考え方は同様である。
【００４４】
まず、図５に示すように、Ａ行にかかる黒マスのみについてヒント数字を表示する場合は、Ａ行における黒マスの数である”３”という値が、Ａ行の通常ヒント数字１０５ａとして表示される。同様に、Ｂ行における黒マスのみについてヒント数字を表示する場合も、通常ヒント数字１０５ｂとして表示される。図５では、Ｂ行においては、その間に白マスを挟んで黒マスが２つあるため、”１”と”１”という２つのヒント数字が通常ヒント数字１０５ｂとして表示されることになる。
【００４５】
一方、Ｃ行、Ｄ行では、３マスずつ２行にわたる形で黒マスが連続している。そして、この黒マスに対応するヒント数字を、大型ヒント数字１０６として、Ｃ行、Ｄ行を跨る形でヒント領域１０２に表示する場合は、Ｃ行Ｄ行の２行にかかって連続している黒マスの数である「６」という値がヒント数字となる。そして、この「６」という値が、ヒント領域１０２において、Ｃ行Ｄ行に跨るような位置で、かつ、通常ヒント数字１０５よりも大きなフォントサイズで表示される。
【００４６】
次に、本実施形態におけるゲーム画面の別の一例について説明する。図６は、本実施形態で想定するゲームの画面の別の一例である。図６で示す画面においても、図４で示した画面と同様に、回答領域１０１とヒント領域１０２とが表示されている。ここで、上記図４では、ヒント領域において、２種類のヒント数字が表示されていた。これに対し、図６のゲーム画面では、回答領域１０１に２種類のマスが表示される。すなわち、１マス分の大きさを有する通常マス１２１の他、複数のマスが連結して１つの大きなマスとなっている連結マス１２２の２種類のマスが表示される。
【００４７】
図６において、連結マス１２２は、出題者の指定した特定のマスから、決められた法則の範囲内で、任意の連続したマスを１つのマスとして扱ったマスである。ここで、当該法則は、本実施例においては、「連続するマスが所属する、いずれの行、列においても、当該連続するマスによって構成される領域が１つしか存在しないこと」であるとする。そして、連結マス１２２がタッチされると、当該連結マス１２２を構成する全てのマスが一度に黒く塗られる（図７参照）。また、既に黒く塗られている場合は、白マスに戻される。つまり、連結マスを構成するマスについては、「塗り」に関する処理が連動して行われる。
【００４８】
また、上述の説明では、説明の便宜上、大型ヒント数字と連結マスについて画面例を分けて説明したが、これらの大型ヒント数字および連結マスを１つのパズル問題の中で組み合わせて用いてもよいし、いずれか一方のみ用いても良い。また、図８に示すように、大型ヒント数字と通常ヒント数字とが同じ列あるいは行で混在するようにしてもよい。そして、このような大型ヒント数字や連結マスを用いてピクチャークロスワードパズルゲームを実行することで、従来のピクチャークロスワードパズルでは満足できなかったようなプレイヤに、新しい楽しみを提供することが可能となる。
【００４９】
（第１の実施形態）
次に、本発明の第１の実施形態に係るパズルゲーム処理について説明する。まず、パズルゲーム処理の際にＲＡＭ２４に記憶されるデータについて説明する。図９は、ゲーム装置１０のＲＡＭ２４のメモリマップを示す図である。図９において、ＲＡＭ２４は、ゲームプログラム記憶領域２４１およびデータ記憶領域２４８を含む。ゲームプログラム記憶領域２４１およびデータ記憶領域２４８のデータは、メモリカード１７に記憶され、ゲームプログラム実行時にはＲＡＭ２４に転送されて記憶される。
【００５０】
ゲームプログラム記憶領域２４１には、ＣＰＵコア２１によって実行されるゲームプログラムが記憶される。このゲームプログラムは、ゲームメイン処理プログラム２４２と、マス目表示プログラム２４３と、ヒント数字表示プログラム２４４と、正解判定処理プログラム２４５などによって構成される。
【００５１】
ゲームメイン処理プログラム２４２は、後述する図１３のフローチャートの処理に対応するプログラムである。マス目表示プログラム２４３は、上記図４や図７等で示した回答領域１０１に上記通常マス１２１や連結マス１２２を表示するための処理をＣＰＵコア２１に実行させるためのプログラムであり、ヒント数字表示プログラム２４４は、上記図４等で示したヒント領域１０２に通常ヒント数字１０５や大型ヒント数字１０６を表示するための処理をＣＰＵコア２１に実行させるためのプログラムである。また、正解判定処理プログラム２４５は、画面に表示されているパズル（問題）がクリアされたか否かを判定するための処理をＣＰＵコア２１に実行させるためのプログラムである。
【００５２】
データ記憶領域２４８には、問題データ２４９や画像データ２５０などのデータが記憶されるとともに、ゲーム処理において用いられる各種変数やフラグも記憶される。
【００５３】
問題データ２４９は、プレイヤに提示されるパズル問題のデータであり、１問ごとに分けられて記憶されている（問題１、問題２，問題３・・・）。図１０は、１問分の問題データ（例として、問題データ２４９ａ）のデータ構成の一例を示す図である。図１０において、問題データ２４９ａは、問題番号２５１とマス総数２５２とヒント数字総数２５３とマス情報２５４とヒント数字情報２５５との集合で構成される。問題番号２５１は、その問題を一意に識別するための番号である。本実施形態では、問題番号２５１には、”１”から順に連番が振られていくものとする。また、例えば問題番号２５１が”１”の問題は、以下では、単に「問題１」のように称する。マス総数２５２は、その問題を構成するマスの数を示す。上述した図４を例に取ると、回答領域１０１は１０列×１０＝１００マスあるため、マス総数２５２は”１００”と設定される。ヒント数字総数２５３は、その問題を構成するヒント数字の数を示す。図４を例に取ると、ヒント数字は３２個あるため、ヒント数字総数２５３は”３２”と設定される。
【００５４】
マス情報２５４は、回答領域１０１に表示される各マスについての情報であり、１マス毎の情報に分けて格納されている。図１１は、１マス分のマス情報２５４ａのデータ構造の一例を示した図である。マス情報２５４ａは、マス番号２５４１とマス座標２５４２と連結フラグ２５４３とグループ番号２５４５と塗り状態２５４６と正解状態２５４７との集合から構成される。
【００５５】
マス番号２５４１は、そのマスを一意に識別するための番号である。なお、本実施形態では、マス番号２５４１には、”１”から順に連番が振られていくものとする。また、例えばマス番号２５４１が”１”のマスは、以下では、単に「マス１」のように称する。マス座標２５４２は、そのマスが表示される画面上の位置を示すための情報である。連結フラグ２５４３は、そのマスが、上述したような連結マスであるか否かを示すためのフラグである。オンに設定されていれば他のマスと連結している連結マスであることを示し、オフに設定されていれば、通常マスであることを示す。
【００５６】
グループ番号２５４５は、例えば回答領域１０１内に連結マスが複数ある場合に、各連結マスを識別するための番号である。そのため、１つの連結マスを構成する各マスには、同じグループ番号２５４５が割り振られている。
【００５７】
塗り状態２５４６は、そのマスが塗られているか否かを示す情報である。本実施形態では、黒く塗りつぶされている状態である「黒マス」という状態と、塗りつぶされていない状態である「白マス」という状態の、２つの状態のいずれかが設定される。
【００５８】
正解状態２５４７は、そのマスがどのような塗り状態であれば正解であるかを示す情報である。正解状態２５４７が「黒マス」と設定されていれば、そのマスについては、黒く塗りつぶされている状態が正解である。また、正解状態２５４７が「白マス」と設定されていれば、そのマスについては、黒く塗りつぶされていない状態が正解である。
【００５９】
図１０に戻り、ヒント数字情報２５５は、ヒント領域１０２に表示されるヒント数字についての情報であり、各ヒント数字毎に区分けされて格納されている。図１２は、１つ分のヒント数字２５５ａのデータ構造の一例を示した図である。図１２において、ヒント数字２５５ａは、ヒント数字番号２５５１とヒント数字値２５５２と大サイズ識別フラグ２５５３と表示位置２５５４との集合から構成される。
【００６０】
ヒント数字番号２５５１は、各ヒント数字を一意に識別するための番号である。本実施形態では、ヒント数字番号２５５１には、”１”から順に連番が振られていくものとする。また、例えばヒント数字番号２５５１が”１”のヒント数字は、以下では、単に「ヒント数字１」のように称する。
【００６１】
ヒント数字値２５５２は、そのヒント数字で示す具体的な数値である。大サイズ識別フラグ２５５３は、そのヒント数字が大型ヒント数字であるか通常ヒント数字であるかを識別するためのフラグである。大サイズ識別フラグ２５５３がオンに設定されていれば、そのヒント数字は大型ヒント数字であることを示し、オフに設定されていれば、通常ヒント数字であることを示す。表示位置２５５４は、そのヒント数字が表示される画面上の位置を示す情報である。
【００６２】
次に、ゲーム装置１０において実行されるゲーム処理の流れを図１３〜図１８を用いて説明する。図１３は、ゲーム装置１０において実行されるゲーム処理の流れを示すフローチャートである。ゲーム装置１０の電源が投入されると、ゲーム装置１０のＣＰＵコア２１は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、ＲＡＭ２４等の各ユニットが初期化される。そして、メモリカード１７に格納されたゲームプログラムがＲＡＭ２４に読み込まれ、当該ゲームプログラムの実行が開始される。その結果、第２ＧＰＵ２７を介して第２ＬＣＤ１２にゲーム画像が表示されることによって、ゲームが開始される。図１３におけるフローチャートは、１問分の問題の表示〜クリアまでにおけるゲーム処理を示す。また、図１３に示すステップＳ４〜ステップＳ１２の処理ループは、１フレーム毎に繰り返し実行される。
【００６３】
まず、ステップＳ１において、以降の処理において用いられるデータの初期化処理が実行される。具体的には、ＣＰＵコア２１は、問題データ２４９から、出題する問題を１問ランダムに選択する。更に、ＣＰＵコア２１は、各種フラグ等の初期化を行う。
【００６４】
次に、ステップＳ２において、回答領域１０１にマスを表示するためのマス表示処理が行われる。図１４は、上記ステップＳ２で示したマス表示処理の詳細を示すフローチャートである。図１４において、まず、ステップＳ２１において、上記ステップＳ１で選択された問題についてのマス情報２５４がＲＡＭ２４から読出される。
【００６５】
次に、ステップＳ２２において、マス番号２５４１を示すための変数ｉに１が設定される。続くステップＳ２３において、マス情報２５４からマスｉのデータが読み出される。そして、連結フラグ２５４３の値がオンであるか否か、つまり、マスｉが連結マスであるか否かがＣＰＵコア２１により判定される。
【００６６】
ステップＳ２３における判定の結果、マスｉが連結マスであると判定されたときは（ステップＳ２３でＹＥＳ）、ステップＳ２４において、当該マスｉと連結しているマスが検索される。このステップＳ２４の処理をより具体的に説明すると、まず、ＣＰＵコア２１は、マスｉのグループ番号２５４５を読み出す。続いて、ＣＰＵコア２１は、当該読み出したグループ番号２５４５と同じ値のグループ番号２５４５を有するマスのデータをマス情報２５４から検索する。そして、ＣＰＵコア２１は、検索されたマスのそれぞれのマス番号２５４１を一旦、ＲＡＭ２４に記憶する。
【００６７】
次に、ステップＳ２６において、１つの連結マスとして設定されているマス、つまり、ステップＳ２４で検索されたマスと現在の処理ループで処理対象となっているマスｉとを１つのマスとして表示するための処理が行われる。これらのマスが連結していることをプレイヤに示すためである。具体的には、まず、連結している各マスについて、上記ＲＡＭ２４に記憶したマス番号２５４１に基づいて各マスのマス座標２５４２を検索して取得する。次に、それぞれのマス座標２５４２で示される回答領域内の位置に各マスを配置した画像データが、第２ＶＲＡＭ２９の一部に形成されるフレームバッファに生成される。続いて、これらのマスを仕切る枠線を消去する処理が行われる。例えば、図１５に示すように、２×２の４マスが連結マスとして設定されている場合は、図１６に示すように、内側の枠線を消去して、外枠だけ表示されるような画像データが生成される。つまり、４つのマスが結合して１つのマスとして表示されるような画像データが生成される。その後、後述のステップＳ２７の処理へと進む。
【００６８】
一方、上記ステップＳ２３の判定において、マスｉが連結マスではないと判定されたときは（ステップＳ２３でＮＯ）、ステップＳ２５において、マスｉを通常マスとして表示するための処理が行われる。具体的には、マスｉのマス座標２５４２で示される回答領域内の位置にマスｉが配置された画像データが上記フレームバッファに生成される。そして、次のステップＳ２７の処理へと進む。
【００６９】
次に、ステップＳ２７において、変数ｉに１を加算する処理が実行される。続くステップＳ２８において、変数ｉの値がステップＳ１で選択された問題のマス総数２５２の値より大きいか否かが判定される。つまり、その問題を構成する全てのマスについて処理したか否かが判定される。変数ｉの値がマス総数２５２の値より大きくないときは（ステップＳ２８でＮＯ）、まだ処理すべきマスが残っていることになるため、上記ステップＳ２３に戻り、処理が繰り返される。変数ｉの値がマス総数２５２の値より大きいと判定されたときは（ステップＳ２８でＹＥＳ）、全てのマスを表示するための処理が終わったことになるため、マス表示処理が終了する。
【００７０】
図１３に戻り、ステップＳ２のマス表示処理の次に、ステップＳ３において、ヒント数字表示処理が実行される。この処理では、ヒント領域１０２にヒント数字を配置した画像データを上記フレームバッファに生成する。図１７は、上記ステップＳ３で示したヒント数字表示処理の詳細を示すフローチャートである。図１７において、まず、ステップＳ３１において、上記ステップＳ１で選択された問題についてのヒント数字情報２５５がＲＡＭ２４から読出される。
【００７１】
次に、ステップＳ３２において、ヒント数字番号２５５１を示すための変数ｊに１が設定される。続くステップＳ３３において、ヒント数字情報２５５からヒント数字ｊのデータが読み出される。そして、読み出されたヒント数字ｊの大サイズ識別フラグ２５５３の値がオンであるか否か、つまり、ヒント数字ｊが大型ヒント数字であるか否かが判定される。
【００７２】
ステップＳ３３の判定の結果、ヒント数字ｊが大型ヒント数字であると判定されたときは（ステップＳ３３でＹＥＳ）、ステップＳ３４において、ヒント数字のフォントサイズが所定の大きさに拡大される。そして、表示位置２５５４で示されるヒント領域１０２内の表示位置に当該拡大したヒント数字を配置した画像データが、上記フレームバッファに生成される。そして、処理が後述のステップＳ３６へと進められる。
【００７３】
一方、上記ステップＳ３３の判定において、ヒント数字ｊが大型ヒント数字ではないと判定されたときは（ステップＳ３３でＮＯ）、ステップＳ３５において、ヒント数字ｊを通常ヒント数字として表示するための処理が行われる。具体的には、ヒント数字ｊの表示位置２５５４で示されるヒント領域１０２内の位置にヒント数字ｊを配置した画像データが、上記フレームバッファに生成される。また、ヒント数字のフォントサイズは、予め設定されている初期値のままで、変更は行わない。そして、処理が次のステップＳ３６の処理へと進められる。
【００７４】
次に、ステップ３６において、変数ｊに１を加算する処理が実行される。続くステップＳ３７において、変数ｊの値がステップＳ１で選択された問題のヒント数字総数２５３の値より大きいか否かが判定される。つまり、その問題で用いられる全てのヒント数字について表示するための処理が済んだか否かが判定される。変数ｊの値がヒント数字総数２５３の値より大きくないときは（ステップＳ３７でＮＯ）、表示処理すべきヒント数字がまだ残っていることになるため、上記ステップＳ３３に戻り、処理が繰り返される。変数ｊの値がヒント数字総数２５３の値より大きいと判定されたときは（ステップＳ３７でＹＥＳ）、全てのヒント数字を表示するための処理が終わったことになるため、続くステップＳ３８において、フレームバッファの画像データに基づくゲーム画像を画面に表示する処理が行われる。以上で、ヒント数字表示処理は終了する。
【００７５】
図１３に戻り、ステップＳ３の処理の次に、ステップＳ４において、プレイヤによるタッチ入力の有無が判定される。プレイヤからのタッチ入力が検出されなければ（ステップＳ４でＮＯ）、処理は後述のステップＳ１０に進められる。タッチ入力が検出されたときは（ステップＳ４でＹＥＳ）、続くステップＳ５において、タッチ入力された入力座標の検出が行われる。
【００７６】
続いて、ステップＳ６において、検出された入力座標、すなわち、プレイヤによって指示された画面上の位置が通常マスの表示されている位置であるか否かが判定される。具体的には、ＣＰＵコア２１は、マス情報２５４から、連結フラグがオフのマス情報、つまり、通常マスのデータのみを抽出する。次に、ＣＰＵコア２１は、ステップＳ６で検出された入力座標と上記抽出された通常マスのそれぞれのマス座標２５４２とに基づいて、通常マスの表示位置がタッチされたか否かを判定する。タッチされたと判定されれば、ステップＳ７において、タッチされた通常マスの塗り状態２５４６が更新される。具体的には、ＣＰＵコア２１は、塗り状態２５４６が「白マス」のときは「黒マス」に更新し、「黒マス」のときは「白マス」に更新する。併せて、フレームバッファの画像データについて、対応するマスを黒、または白にした画像データに更新する。
【００７７】
一方、ステップＳ６の判定の結果、通常マスがタッチされていないと判定されたときは（ステップＳ６でＮＯ）、ステップＳ８において、プレイヤによって指示された画面上の位置（タッチされた位置）が連結マスの表示位置であるか否かが判定される。具体的には、ＣＰＵコア２１は、マス情報２５４から、連結フラグがオンのマス情報、つまり、連結マスのデータのみを抽出する。次に、ＣＰＵコア２１は、検出された入力座標と当該抽出された連結マスの各マス情報のマス座標２５４２とに基づいて、連結マスを構成するマスのいずれかがタッチされているか否かを判定する。その結果、連結マスを構成するマスのいずれかがタッチされたと判定されれば、ステップＳ９において、タッチされた連結マスを構成する各マスの塗り状態２５４６を更新する。具体的には、タッチされたマスのグループ番号２５４５を取得する。次に、これに基づいてタッチされたマスが属する連結マスを構成する他のマス情報を検索して抽出する。そして、それぞれのマスの塗り状態２５４６を一律に更新する。例えば、塗り状態２５４６が「白マス」のときは連結マスを構成するすべてのマスの塗り状態２５４６を「黒マス」に更新する。同様に、塗り状態２５４６が「黒マス」のときは連結マスを構成するマスの全てについて「白マス」に更新する。併せて、フレームバッファの画像データについて、対応する連結マスを黒、または白にした画像データに更新する。
【００７８】
次に、ステップＳ１０において、画面の表示処理が行われる。すなわち、フレームバッファの画像データに基づいたゲーム画像をＬＣＤ１２に表示する処理が行われる。
【００７９】
次に、ステップＳ１１において、出題された問題が解かれたか否かを判定するための、正解判定処理が行われる。図１８は、上記ステップＳ１１で示した正解判定処理の詳細を示すフローチャートである。図１８において、まず、ステップＳ４１において、出題されている問題をクリアしたことを示すためのフラグであるクリアフラグがオフに設定される。次に、ステップＳ４２において、変数ｉに１が設定される。続くステップＳ４３において、マスｉの塗り状態２５４６、および、正解状態２５４７が取得される。
【００８０】
次に、ステップＳ４４において、ステップＳ４３で取得された正解状態２５４７と塗り状態２５４６とが一致するか否かが判定される。つまり、マスｉの塗り状態が正解か否かの判定が行われる。当該判定の結果、正解状態２５４７と塗り状態２５４６とが一致しないときは（ステップＳ４４でＮＯ）、マスｉについては不正解の状態であることになる。この場合は、そのまま正解判定処理を終了する。つまり、１つでも不正解のマスが見つかれば、その時点で正解判定処理が終了することになる。
【００８１】
一方、上記ステップＳ４４の判定の結果、正解状態２５４７と塗り状態２５４６とが一致していれば（ステップＳ４４でＹＥＳ）、マスｉについては正解であることになる。この場合は、次のステップＳ４５において、変数ｉに”１”が加算される。つまり、次のマスを調べるための準備が行われることになる。
【００８２】
次に、ステップＳ４６において、変数ｉがマス総数２５２より大きいか否かが判定される。大きいと判定されたときは（ステップＳ４６でＹＥＳ）、不正解となるマスが見つからないまま、全てのマスをチェックしたことになるため、その問題はクリアしたと考えられる。そのため、ステップＳ４７でクリアフラグをオンに設定して、正解判定処理を終了する。
【００８３】
図１３に戻り、ステップＳ１１の次に、ステップＳ１２において、クリアフラグがオンか否かを判定する。つまり、出題中の問題がクリアされたか否かが判定される。その結果、まだクリアされていないと判定されたときは、ステップＳ４に戻って、ゲーム処理を繰り返す。一方、クリアされていると判定されたときは、ステップＳ１３において、クリア処理が実行される。具体的には、クリア画像の表示や点数の加算処理等が実行される。以上で、第１の実施形態に係るゲーム処理が終了する。
【００８４】
このように、本実施形態では、２行または２列にかかって連続する黒マスの数を大型ヒント数字としてヒント領域１０２に表示する。これにより、ピクチャークロスワードパズルゲームの難度を高め、従来のピクチャークロスワードパズルゲームに飽きてきたプレイヤに新たな楽しみを提供することができる。また、回答領域についても、複数のマスを連結して扱う連結マスを用いている。これにより、ゲームの難度を高めたり低めたりすることができる。そして、難度を高めることで、従来のピクチャークロスワードパズルゲームに飽きてきたプレイヤに新しい楽しみを提供できる。また、難度を下げることで、従来のピクチャークロスワードパズルでも難しいと感じていたようなプレイヤに対して、新しい楽しみ方を提供できる。
【００８５】
なお、上記連結マスに関して、マスが連結していることを示す表示であれば、上記のような内枠を消して表示することに限らない。例えば、連結している各マスの枠を所定の色（例えば赤色）で表示する等でもよい。更には、上記実施形態では、隣接しあうマスを連結マスとして設定していたが、例えば、図１９に示すように、離れた位置にあるマス１３１およびマス１３２を連結マスとして設定するようにしてもよい。この場合、マス１３１およびマス１３２のいずれか一方を黒く塗れば、他方も連動して黒く塗られることになる。黒マスから白マスに戻す場合も、同様に、一方が白マスに戻されると、他方も連動して白マスに戻る。
【００８６】
また、上述した実施形態では、マスの状態（塗る色）としては、「黒マス」、すなわち黒色に塗る場合と、「白マス」、すなわち白色に塗る場合のピクチャークロスワードパズルを例としていたが、マスを塗る色の種類が更に多いようなピクチャークロスワードパズル（一般に、カラーロジックと呼ばれている）について本発明を適用してもよい。また、上述した実施形態では、タッチされたマスをマーク（チェック）する方法として、当該マスを塗りつぶす（塗り状態を更新）ようにしたが、これに限らなくてもよい。例えば、タッチされたマスをマークする方法として、当該マスに○を付ける（または消す）ようにしてもよいし、他の記号等の文字をつけるようにしてもよい。
【００８７】
（第２の実施形態）
次に、図２０から図３８を参照して、本発明の第２の実施形態について説明する。上述の第１の実施形態では、ヒント数字については、予め設定され、メモリカード１７に格納されていたデータが読み出された（ＲＡＭ２４にコピーされた）ものであった。これに対して、第２の実施形態では、マス情報に含まれる正解の情報に基づいてヒント数字を作成して表示する。
【００８８】
次に、本発明の第２の実施形態にかかるゲーム装置について説明する。このゲーム装置のハードウェア構成を示すブロック図は、第１の実施形態と同様である（図１〜図３参照）。しかし、本実施形態では、ＲＡＭ２４には第１の実施形態とは部分的に異なるプログラムが格納され、ＣＰＵコア２１はそのプログラムを実行することにより、第１の実施形態とは異なる機能をも実現する。
【００８９】
次に、第２の実施形態にかかるゲーム処理の際にＲＡＭ２４に記憶されるデータについて説明する。図２０は、第２の実施形態におけるゲーム装置１０のＲＡＭ２４のメモリマップを示す図である。当該実施形態においては、ゲームプログラム記憶領域２４１は、上述した第１の実施形態で図９を用いて説明した各プログラムにヒント数字作成プログラム２４６を加えたものに相当する。また、データ記憶領域２４８は、第１の実施形態で説明した各データに表示関連データ２８０を加えたものに相当する。更に、ＲＡＭ２４には、作業領域２８１が設けられている。当該領域には、ヒント数字総数２５３とヒント数字情報２５５とカレント座標２８２と連結カレント座標２８３とが記憶される。ここで、第１の実施形態では、ヒント数字総数２５３およびヒント数字情報２５５は、メモリカード１７に予め記憶されたものが、パズルゲーム処理に際してＲＡＭ２４のデータ領域にコピーされていた。これに対し、第２の実施形態では、ヒント数字総数２５３およびヒント数字情報２５５は、メモリカード１７に記憶されておらず、上記ヒント数字作成プログラム２４６によって、パズルゲーム処理の一環として適宜作業領域２８１上に生成される。
【００９０】
作業領域２８１に記憶されるカレント座標２８２および連結カレント座標２８３は、後述するヒント数字作成処理において、作成対象となるヒント数字の位置を示すためのデータである。換言すれば、ヒント領域１０２ａや１０２ｂの、どの位置に表示するヒント数字を作成するのかを示すためのデータである。カレント座標２８２および連結カレント座標２８３の具体的なデータ内容としては、画面座標系での座標（Ｘ軸、Ｙ軸）が設定される。
【００９１】
更に、第２の実施形態においては、問題データ２４９の構造が第１の実施形態とは異なっている。図２１は、第２の実施形態における問題データ２４９ａのデータ構造の一例を示した図である。第２の実施形態における問題データ２４９ａは、第１の実施形態における問題データの構造からヒント数字情報２５５が除かれ、列連結フラグ２５７と行連結フラグ２５８を加えたものに相当する。また、マス総数２５２については、列の総数を示す総列数２５２ａと、行の総数を示す総行数２５２ｂとを含んでいる。例えば、その問題の回答領域１０１が１０列×１０行で構成される場合は、総列数２５２ａ、総行数２５２ｂともに”１０”という値が設定されている。
【００９２】
列連結フラグ２５７は、その問題の回答領域１０１を構成する各列毎に設定されているフラグであり、大型ヒント数字を少なくとも１つは表示する必要のある列であるか否かを示すためのフラグである。換言すれば、その列に対応するヒント領域内の列が、左右何れかの列と連結するか否かを示すフラグである。本実施形態では、説明の簡略化のため、連結する列あるいは行は、２列または２行であるものとし、３列あるいは３行以上連結することはないものとする。また、本実施形態では、列連結フラグ２５７の値として、連結していない列であることを”０”で示し、連結している列であることを”１”で示す。そして、列が１０列ある問題の場合は、１桁を１列に対応させ、１０桁の数字で、例えば「００１１００１１００」のように示す。この例では、列連結フラグ２５７の値の１桁目が１列目を示し、１列目は連結していないことを示す。また、３桁目は３列目を示し、連結していること、すなわち、３列目は大型ヒント数字が表示される列であることを示す。
【００９３】
行連結フラグ２５８は、その問題の回答領域１０１を構成する各行毎について設定されているフラグであり、その行が、大型ヒント数字を少なくとも１つは表示する必要のある行であるか否かを示すためのフラグである。その構成は、上記列連結フラグ２５７と同様であり、行が１０行ある問題の場合は、１０桁の数字で示される。
【００９４】
図２２は、図２０の表示関連データ２８０のデータ構造の一例を示した図である。表示関連データ２８０は、通常ヒント数字幅２８０１と通常ヒント数字高さ２８０２と大型ヒント数字幅２８０３と大型ヒント数字高さ２８０４と最左下の列ヒント数字座標２８０５と最右上の行ヒント数字座標２８０６と列ヒント数字オフセット値２８０７と行ヒント数字オフセット値２８０８と１マス幅２８０９と１マス高さ２８１０との集合から成る。
【００９５】
図２２において、通常ヒント数字幅２８０１は、上記通常ヒント数字１つ分の画面上における幅を示すデータである。通常ヒント数字高さ２８０２は、上記通常ヒント数字１つ分の画面上における高さを示すデータである。大型ヒント数字幅２８０３は、上記大型ヒント数字１つ分の画面上における幅を示すデータである。大型ヒント数字高さ２８０４は、上記大型ヒント数字１つ分の画面上における高さを示すデータである。これらのデータは、例えば、ピクセル単位で示される。
【００９６】
最左下の列ヒント数字座標２８０５は、列についてのヒント数字のうち、最も左下に表示されるヒント数字の画面上の座標を示す。つまり、ヒント領域１０２ａ（図４参照）において最も左下に表示されるヒント数字の位置を示すデータである。最右上の行ヒント数字座標２８０６は、行についてのヒント数字のうち、最も右上に表示されるヒント数字の画面上の座標を示す。つまり、ヒント領域１０２ｂにおいて最も右上に表示されるヒント数字の位置を示すデータである。
【００９７】
列ヒント数字オフセット値２８０７は、ヒント領域１０２ａにおいて大型ヒント数字をセンタリングして表示するための値である。つまり、連結する列の中央に大型ヒント数字が表示されるように、その表示位置を右側にずらす値を示す。同様に、行ヒント数字オフセット値２８０８は、ヒント領域１０２ｂにおいて、連結する行の中央に大型ヒント数字が表示されるように、大型ヒント数字の表示位置を下側にずらす値を示す。１マス幅２８０９は、通常マス１つ分の画面上における幅を示す。１マス高さ２８１０は、通常マス１つ分の画面上における高さを示す。
【００９８】
次に、図２３〜図３８を用いて、本発明の第２の実施形態にかかるパズルゲーム処理を説明する。図２３は、第２の実施形態にかかるパズルゲーム処理を示すフローチャートである。なお、このフローチャートのうちステップＳ１〜Ｓ１３は、図１３に示したフローチャートと同一であり、両フローチャートにおいて同一のステップには同一の符号が付されている。以下では、本実施形態におけるステップＳ５０の処理を中心に説明する。図２３においては、ステップＳ２の処理で回答領域が表示された後、ステップＳ５０においてヒント数字作成処理が実行され、作業領域２８１にヒント数字総数２５３およびヒント数字情報２５５が生成される。そして、ステップＳ３におけるヒント数字表示処理で、当該作業領域２８１に生成されたヒント数字総数２５３およびヒント数字情報２５５を読み込み、これに基づいてヒント領域１０２にヒント数字を表示する処理が行われる。
【００９９】
ここで、図２４および図２５を用いて、上記ステップＳ５０で示したヒント数字作成処理の処理概要を説明する。ここで、図２４および図２５では、回答領域１０１の一例として、５列×５行の領域を例に挙げている。そして、列の番号、および行の番号は１から数め、（列、行）の形式でマスを特定する。例えば、左上のマス、すなわち１列目１行目のマスを（１、１）、一番右下のマス、つまり、５列目５行目のマスを（５、５）というように特定する。
【０１００】
本処理では、まず、各列に対応するヒント数字、すなわち、図４のヒント領域１０２ａに表示するためのヒント数字（以下、列ヒント数字と呼ぶ）が作成され、その後、各行に対応するヒント数字、すなわち、ヒント領域１０２ｂに表示するためのヒント数字（以下、行ヒント数字と呼ぶ）が作成される。列ヒント数字は、各マスを図２４の点線矢印に示すような順番で、一つずつ正解であるか否かを判定していき、正解であるマスの数をカウントしていくことで生成される。図２４においては、回答領域１０１の各マスは、（１，５）のマスから判定が開始され、（１，４）→（１，３）・・・（１，１）の順で判定されていく。そして、（１，１）のマスの判定が終われば、一つ右の列の判定に移り、（２，５）のマスから（２，１）のマスへと判定がなされていく。そして、各マスの判定結果に応じて、列ヒント数字が、左下から右上に向かう流れで適宜作成される。
【０１０１】
一方、行ヒント数字は、図２５の点線矢印に示すような順番で、各マスについて判定が行われる。すなわち、（５、１）のマスから判定を開始し、（１，１）に向けて判定が行われる。（１，１）のマスの判定が終われば、次の行に移り、（５，２）から（１，２）のマスが順番に判定されていく。そして、各マスの判定結果に応じて、行ヒント数字が、右上から左下に向かう流れで適宜作成される。
【０１０２】
次に、ヒント数字作成処理の詳細を説明する。図２６は、上記ステップＳ５０で示したヒント数字作成処理の詳細を示すフローチャートである。図２６において、まず、ステップＳ５１において、各列に対応するヒント数字、すなわち、ヒント領域１０２ａに表示するためのヒント数字を作成するための列ヒント数字作成処理が実行される。次に、ステップＳ５２において、各行に対応するヒント数字、すなわち、ヒント領域１０２ｂに表示するためのヒント数字を作成するための行ヒント数字作成処理が実行される。
【０１０３】
図２７は、上記ステップＳ５１で示した列ヒント数字作成処理の詳細を示すフローチャートである。図２７において、まず、ステップＳ６１において、作業領域２８１に記憶されているヒント数字総数２５３に”０”が設定される。次に、ステップＳ６２において、列番号を示す変数Ｘに”１”が設定される。
【０１０４】
次に、ステップＳ６３において、最初に作成するヒント数字の画面上における座標（表示位置）を設定する。具体的には、表示関連データ２８０から最左下の列ヒント数字座標２８０５が読み出され、当該座標のＸ軸の値が、カレント座標２８２のＸ軸の値（以下、カレントＸ座標と呼ぶ）として設定される。
【０１０５】
続くステップＳ６４において、カレント座標２８２のＹ軸の値（以下、カレントＹ座標と呼ぶ）として設定される。具体的には、表示関連データ２８０から最左下の列ヒント数字座標２８０５が読み出され、当該座標のＹ軸の値が、カレントＹ座標に設定される。これにより、最初に作成対象となるヒント数字が、ヒント領域１０２ａの一番左下に表示されるヒント数字であることが特定される。
【０１０６】
次に、ステップＳ６５において、変数Ｘで示される列（以下、Ｘ列と呼ぶ）が連結している列であるか否かが判定される。具体的には、ＣＰＵコア２１は、ＲＡＭ２４から列連結フラグ２５７を読み出し、Ｘ桁目の値が”０”であるか”１”であるかを判定する。その結果、”０”であれば、その列は連結しない列であることを示すため（ステップＳ６５でＮＯ）、ステップＳ６６において、後述する単列のヒント数字生成処理が実行されて、Ｘ列についてのヒント数字が生成される。続いて、ステップＳ６７において、変数Ｘに１が加算される。つまり、処理対象列が次の列に設定されることになる。続いて、ステップＳ６８において、カレントＸ座標に、１マス幅２５８９の値を加算する。つまり、作成対象となるヒント数字の位置を右に１列移動させる処理が行われる。次に、ステップＳ７２において、変数Ｘが総列数２５２ａ以上であるか否かが判定される。つまり、全ての列について処理を済ませたか否かが判定される。その結果、変数Ｘが総列数２５２ａ以上ではない場合は、上記ステップＳ６４に戻って処理が繰り返される。一方、総列数２５２ａ以上の場合は、当該列ヒント数字作成処理は終了する。
【０１０７】
一方、上記ステップＳ６５の判定の結果、列連結フラグ２５７のＸ桁目の値が”１”であれば（ステップＳ６５でＹＥＳ）、ステップＳ６９において、連結列のヒント数字作成処理が実行される。続いて、ステップＳ７０において、Ｘに２が加算される。つまり、処理対象列が２列分先の列に設定されることになる。続いて、ステップＳ７１において、カレントＸ座標に、１マス幅２５８９を２倍した値を加算する。つまり、作成対象となるヒント数字の位置を右に２列分移動する処理が行われる。次に、上記ステップＳ７２の処理に進み、全ての列について処理を済ませたか否かが判定される。その結果、変数Ｘが総列数２５２ａ以上でない場合は、上記ステップＳ６４に戻って処理が繰り返される。一方、総列数２５２ａ以上の場合は、当該列ヒント数字作成処理は終了する。
【０１０８】
次に、上記ステップＳ６６で示した単列ヒント数字作成処理について図２８を用いて説明する。図２８において、まず、ステップＳ８１において、正解状態が黒マスであるマスがＸ列目にあるか否かが判定される。以下、正解状態が黒マスであるマスのことを、「正解マス」と呼ぶ。具体的には、ＣＰＵコア２１は、Ｘ列目にかかる各マスの正解状態２５４７を読み出す。そして、正解状態２５４７が「黒マス」であるマスが１つでもあるか否かを判定する。当該判定の結果、「黒マス」であるマスが１つ以上あるときは（ステップＳ８１でＹＥＳ）、続くステップＳ８２において、行番号を示す変数Ｙの設定が行われる。具体的には、ＲＡＭ２４から総行数２５２ｂが読み出され、その値が変数Ｙに設定される。
【０１０９】
次に、ステップＳ８３において、（変数Ｘ、変数Ｙ）で示されるマス、つまり、（Ｘ列、Ｙ行）のマスが正解マスであるか否かが判定される。すなわち、当該マスの正解状態２５４７が「黒マス」であるか否かが判定される。その結果、正解マスでないと判定されたときは（ステップＳ８３でＮＯ）、ステップＳ８５において、変数Ｙが”１”であるか否かが判定される。つまり、処理対象となっている列の全てのマスを調べ終わったか否かが判定される。その結果、変数Ｙが”１”でなければ（ステップＳ８５でＮＯ）、ステップＳ８６において変数Ｙから１が減算され、ステップＳ８３の処理に戻る。一方、変数Ｙが”１”であれば、当該単列のヒント数字作成処理が終了する。
【０１１０】
一方、ステップＳ８３の判定の結果、正解マスと判定されたときは（ステップＳ８３でＹＥＳ）、後にヒント数字として設定される変数である変数Ｚに”１”が設定される。つまり、正解のマスが検出される毎に、当該変数Ｚの値が増加することになる。
【０１１１】
次に、ステップＳ８７において、現在処理対象となっているマスの上隣のマスが正解マスであるか否かが判定される。具体的には、Ｙが”１”ではない値であって、かつ、（変数Ｘ、変数Ｙ−１）のマスの正解状態２５４７が「黒マス」であるか否かが判定される。その結果、正解であるときは（ステップＳ８７でＹＥＳ）、変数Ｚに１が加算される。また、変数Ｙから１が減算される。つまり、正解マスの数を１増やして、処理対象を更に上隣のマスに設定する処理が行われる。そして、上記ステップＳ８７の処理に戻り、処理が繰り返される。
【０１１２】
一方、ステップＳ８７の判定の結果、現在処理対象となっているマスの上隣のマスが正解マスではないと判定されたときは（ステップＳ８７でＮＯ）、ステップＳ８９において、作業領域２８１のヒント数字情報２５５に、ヒント数字を１つ追加するための処理が行われる。具体的には、ＣＰＵコア２１は、大サイズ識別フラグ２５５３に”ＮＯ”を設定し、表示位置２５５４に、変数”カレント座標”の値を設定し、ヒント数字値２５５２に変数Ｚを設定し、更に、所定のヒント数字番号２５５１（本実施形態では、作成する順に１から連番を割り振るものとする）を設定したヒント数字をヒント数字情報２５５に追加する。
【０１１３】
次に、ステップＳ９０において、ヒント数字総数２５３に１が加算される。続くステップＳ９１において、カレントＹ座標から通常ヒント数字高さ２８０２が減算される。つまり、次に作成対象となるヒント数字の表示位置を通常ヒント数字１つ分、上の位置に設定する処理が行われる。
【０１１４】
次に、ステップＳ９２において、変数Ｙが”１”であるか否か、つまり、処理対象となっている列の全てのマスを調べ終わったか否かが判定される。その結果、変数Ｙが”１”でなければ（ステップＳ９２でＮＯ）、ステップＳ９５において変数Ｙから１が減算され、ステップＳ８３の処理に戻る。一方、変数Ｙが”１”であれば、当該単列のヒント数字作成処理が終了する。
【０１１５】
次に、上記ステップＳ６９で示した連結列ヒント数字作成処理について図２９を用いて説明する。まず、ステップＳ１０１において、連結する２つの列（以下、連結列と呼ぶ）の双方に正解マスがあるか否かが判定される。すなわち、連結列にかかる各マスの正解状態２５４７が読み出される。そして、正解マスが連結列のそれぞれに存在するか否かが判定される。当該判定の結果、正解マスが連結している列の双方にないときは（ステップＳ１０１でＮＯ）、続くステップＳ１０２において、単列ヒント数字作成処理が実行される。つまり、連結列における左側の列について単列ヒント数字作成処理が実行される。当該処理は、図２８を用いて上述したステップＳ６６の処理と同様の処理である。従って、詳細な説明は省略する。
【０１１６】
次に、ステップＳ１０３において、変数Ｘに１が加算される。つまり、処理対象の列を１つ右の列に設定する。次に、ステップＳ１０４において、カレントＸ座標に１マス幅２８０９が加算される。つまり、作成対象となるヒント数字の位置を一つ右の列に移動する。
【０１１７】
次に、ステップＳ１０５において、単列ヒント数字作成処理が実行される。つまり、連結列における右側の列について、上述したような単列ヒント数字作成処理が実行される。当該処理についても、詳細な説明は省略する。
【０１１８】
次に、ステップＳ１０６において、変数Ｘから１が減算される。続くステップＳ１０７において、カレントＸ座標から１マス幅２８０９を減算する。つまり、連結列について処理するために、この時点で処理対象の列を右に２列分シフトしていたものを、右に１列分シフトしただけの状態に戻している。そして、当該連結列ヒント数字作成処理が終了する。
【０１１９】
一方、上記ステップＳ１０１の判定の結果、正解マスが連結列の双方にあるときは（ステップＳ１０１でＹＥＳ）、続くステップＳ１０８において、連結列詳細処理が実行される。その後、当該連結列ヒント数字算出処理が終了する。
【０１２０】
図３０〜図３３は、上記ステップＳ１０８で示した連結列詳細処理の詳細を示すフローチャートである。図３０において、まず、ステップＳ１１０において、連結カレント座標２８２のＸ軸の値（以下、連結カレントＸ座標と呼ぶ）の設定が行われる。具体的には、カレントＸ座標に１マス幅２８０９を加算した値が連結カレントＸ座標に設定される。ここで、連結カレント座標とは、連結列における右側の位置を示す座標である。換言すれば、作成対象となっている大型ヒント数字が表示される領域（２列分の幅を有する領域）における右側の列に相当する座標である。
【０１２１】
続くステップＳ１１１において、連結カレント座標２８２のＹ軸の値（以下、連結カレントＹ座標と呼ぶ）の設定が行われる。具体的には、カレントＹ座標の値が連結カレントＹ座標に設定される。
【０１２２】
次に、ステップＳ１１２において、変数Ｙに総行数２８１２ｂの値が設定される。
【０１２３】
次に、ステップＳ１１３において、連結列のＹ行目のマスのうち、少なくとも一方が正解マスであるか否かが判定される。その結果、両方とも正解マスではないと判定されたときは（ステップＳ１１３でＮＯ）、処理が後述するステップＳ１３３へと進められる。
【０１２４】
一方、連結列のＹ行目のマスの片方、あるいは両方が正解マスであると判定されたときは（ステップＳ１１３でＹＥＳ）、続くステップＳ１１４において、変数Ｚに”０”が設定される。
【０１２５】
次に、図３１のステップＳ１１５において、右側フラグと左側フラグに”Ｎｏ”を設定する。このフラグは、連結列における右側と左側のマスのそれぞれについて、正解マスであるか否かを示すためのフラグである。
【０１２６】
次に、ステップＳ１１６において、連結列のＹ行目の正解マスの数を変数Ｚに設定（加算）する。次に、ステップＳ１１７において、（Ｘ列、Ｙ行）のマス、つまり、現在処理対象の連結列における左側のマスが正解マスであるか否かが当該マスの正解状態２５４７に基づき判定される。そして、正解マスであるときは、左側フラグに”ＹＥＳ”が設定される。
【０１２７】
続くステップＳ１１８において、今度は、（Ｘ列＋１、Ｙ行）のマス、現在処理対象の連結列における右側のマスが正解マスであるか否かが判定され、正解マスであるときは、右側フラグに”ＹＥＳ”が設定される。
【０１２８】
次に、ステップＳ１１９において、変数Ｙが”１”か否かが判定される。変数Ｙが”１”のときは（ステップＳ１１９でＮＯ）、処理は後述するステップＳ１２３へと進められる。一方、変数Ｙが”１”ではないときは（ステップＳ１１９でＹＥＳ）、ステップＳ１２０において、（Ｘ列、Ｙ行）のマスが正解マスであり、かつ、（Ｘ列、Ｙ行−１））のマスが正解マスであるか否かが判定される。その結果、双方のマス共に正解マスであると判定されたときは（ステップＳ１２０でＹＥＳ）、ステップＳ１２２において、変数Ｙから１が減算される。これにより、処理対象の行が一つ上の行に設定される。そして、上記ステップＳ１１６へ戻り、処理が繰り返される。
【０１２９】
一方、ステップＳ１２０の判定の結果、一方のマスのみが正解マス、あるいは、双方のマスが共に正解マスではないと判定されたときは（ステップＳ１２０でＮＯ）、ステップＳ１２１において、（Ｘ列＋１、Ｙ行）のマスが正解マスであり、かつ、（Ｘ列＋１、Ｙ行−１））のマスが正解マスであるか否かが判定される。つまり、連結列における右側の列につき、Ｙ軸方向（上方向）に黒マスが連続しているか否かを判定している。その結果、双方のマス共に正解マスであると判定されたときは（ステップＳ１２１でＹＥＳ）、上記ステップＳ１２２において、変数Ｙから１が減算される。そして、上記ステップＳ１１６へ戻り、処理が繰り返される。
【０１３０】
一方、ステップＳ１２１の判定の結果、一方のマスのみが正解マス、あるいは、双方のマスが共に正解マスではないと判定されたときは（ステップＳ１２１でＮＯ）、次に、図３２のステップＳ１２３において、右側フラグと左側フラグが共に”ＹＥＳ”であるか否かが判定される。つまり、処理対象となっている連結列における２つのマスが共に正解マスであるか否かが判定される。当該判定の結果、両フラグ共に”ＹＥＳ”であるときは（ステップＳ１２３でＹＥＳ）、ステップＳ１２５において、カレントＹ座標および連結カレントＹ座標のいずれか小さい方の値を、カレントＹ座標として設定する。
【０１３１】
次に、ステップＳ１２６において、作業領域２８１のヒント数字情報２５５に、大型ヒント数字を１つ追加するための処理が行われる。具体的には、ＣＰＵコア２１は、大サイズ識別フラグ２５５３に”ＹＥＳ”を設定し、表示位置２５５４に、カレント座標２８２の値を設定し、ヒント数字値２５５２に変数Ｚを設定し、更に、ヒント数字番号２５５１を設定したヒント数字をヒント数字情報２５５に追加する。
【０１３２】
続くステップＳ１２７において、カレントＹ座標および連結カレントＹ座標のそれぞれから、大型ヒント数字高さ２８０４が減算される。これにより、次に作成対象となるヒント数字の表示位置が大型ヒント数字１つ分、上の位置に設定されることになる。その後、処理が後述のステップＳ１３２へと進められる。
【０１３３】
一方、上記ステップＳ１２３の判定の結果、右側フラグと左側フラグの双方が”ＹＥＳ”とはなっていないと判定されたときは（ステップＳ１２３でＮＯ）、ステップＳ１２４において、左側フラグが”ＹＥＳ”であるか否かが判定される。つまり、処理対象となっている連結列における左側のマスだけが正解マスであるのか否かが判定される。その結果、左側フラグが”ＹＥＳ”であると判定されたときは（ステップＳ１２４でＹＥＳ）、ステップＳ１３０において、作業領域２８１のヒント数字情報２５５に、処理対象となっている連結列における左側の列に対応する通常ヒント数字を１つ追加するための処理が行われる。具体的には、ＣＰＵコア２１は、大サイズ識別フラグ２５５３に”ＮＯ”を設定し、表示位置２５５４に、カレント座標２８２の値を設定し、ヒント数字値２５５２に変数Ｚを設定し、更に、ヒント数字番号２５５１を設定したヒント数字をヒント数字情報２５５に追加する。
【０１３４】
続くステップＳ１３１において、カレントＹ座標から通常ヒント数字高さ２８０２が減算される。その後、処理が後述のステップＳ１３２へと進められる。
【０１３５】
一方、ステップＳ１２４の判定で、左側フラグが”ＹＥＳ”でないと判定されたときは（ステップＳ１２４でＮＯ）、処理対象となっている連結列における右側のマスだけが正解マスであることになる。この場合は、ステップＳ１２８において、作業領域２８１のヒント数字情報２５５に、処理対象となっている連結列における右側の列に対応する通常ヒント数字を１つ追加するための処理が行われる。具体的には、ＣＰＵコア２１は、大サイズ識別フラグ２５５３に”ＮＯ”を設定し、表示位置２５５４に、連結カレント座標２８３の値を設定し、ヒント数字値２５５２に変数Ｚを設定し、更に、ヒント数字番号２５５１を設定したヒント数字をヒント数字情報２５５に追加する。
【０１３６】
続くステップＳ１２９において、連結カレントＹ座標から通常ヒント数字高さ２８０２を減算する。その後、処理が後述のステップＳ１３２へと進められる。
【０１３７】
次に、ステップＳ１３２において、ヒント数字総数２５３に１が加算される。続くステップＳ１３３において、変数Ｙが”１”であるか否かが判定される。その結果、変数Ｙが”１”でなければ（ステップＳ１３３でＮＯ）、ステップＳ１３４において変数Ｙから１が減算され、ステップＳ１１３の処理に戻って処理が繰り返される。一方、変数Ｙが”１”であれば（ステップＳ１３３でＹＥＳ）、当該連結列のヒント数字作成処理が終了する。
【０１３８】
次に、上記図２６のステップＳ５２で示した行ヒント数字作成処理について説明する。本処理は、基本的には上述した列ヒント数字作成処理と同様のアルゴリズムを有する。但し、列単位ではなく、図２５に示したように、行単位で処理を進める点が異なる。以下の説明では、列ヒント数字作成処理と異なる点を中心に説明する。
【０１３９】
図３３は、上記ステップＳ５２で示した行ヒント数字作成処理の詳細を示すフローチャートである。図３３に示す処理の流れは、基本的には、図２７を用いて上述した列ヒント数字作成処理と同じ流れであるが、変数Ｘの代わりに変数Ｙを用いられる点（ステップＳ１５２，Ｓ１５５、Ｓ１５７、Ｓ１６０、Ｓ１６２）と、カレントＹ座標とカレントＸ座標とが入れ替わる形で処理が行われる点（ステップＳ１５３、Ｓ１５４、Ｓ１５８、Ｓ１６１）とが異なっている。
【０１４０】
図３４は、図３３のステップＳ１５６で示される単行のヒント数字作成処理の詳細を示すフローチャートである。図３４に示す処理の流れは、基本的には、図２８を用いて上述した単列ヒント数字作成処理と同じ流れであるが、変数Ｘと変数Ｙとが入れ替わる形で処理が行われる点、ステップＳ１７２において、変数Ｘには総列数２５２ａが設定される点、ステップＳ１８１において、カレントＸ座標から通常ヒント数字幅２８０１が減算される点が異なる。
【０１４１】
図３５は、図３３のステップＳ１５９で示される連結行ヒント数字作成処理の詳細を示すフローチャートである。図３５に示す処理の流れは、ステップＳ２０３およびステップＳ２０６において変数Ｘの代わりに変数Ｙに対して処理が行われる点と、ステップＳ２０４においてカレントＹ座標に１マス高さ２８１０が加算される点と、ステップＳ２０７においてカレントＹ座標から１マス高さ２８１０が減算される点が、図２９を用いて上述した連結列ヒント数字作成処理と異なっているが、それ以外は、同じ処理の流れとなっている。
【０１４２】
図３６〜図３８は、図３５のステップＳ２０８で示される連結行詳細処理の詳細を示すフローチャートである。本処理の流れについても、基本的には、図３０〜図３３を用いて上述した連結列詳細処理と同じ処理の流れであるが、変数Ｘと変数Ｙとが入れ替わる形で処理が行われる点と、カレントＸ座標および連結カレントＸ座標がカレントＹ座標および連結カレントＹ座標と入れ替わる形で処理が行われる点が異なる。更に、通常ヒント数字高さ２８０２の代わりに通常ヒント数字幅２８０１が用いられる点（ステップＳ２２９、Ｓ２３１）、大型ヒント数字高さ２８０４の代わりに大型ヒント数字幅２８０３が用いられる点（ステップＳ２２７）が異なっている。更に、連結行における上側と下側のマスのそれぞれについて、正解マスであるか否かを示すための上側フラグと下側フラグとが用いられる点（ステップＳ２１５、Ｓ２１７、Ｓ２１８、Ｓ２２３、Ｓ２２４）が異なっている。以上で、行ヒント数字作成処理の説明を終了する。
【０１４３】
上述のように、第２の実施形態では、マス情報２５４に設定されている正解状態２５４７に基づいて、ヒント数字情報２５５をゲーム開始時に生成している。そのため、ヒント数字情報をメモリカード１７内に記憶させておく必要が無く、パズルゲームのプログラム容量を削減することが可能となる。
【産業上の利用可能性】
【０１４４】
本発明にかかるパズルゲーム装置およびパズルゲームプログラムは、今までにない新規なパズルゲームを提供でき、据置型ゲーム装置や携帯型ゲーム装置、パーソナルコンピュータや携帯電話等に有用である。
【図面の簡単な説明】
【０１４５】
【図１】本発明の実施形態に係る携帯ゲーム装置１０の外観図
【図２】本発明の実施形態に係る携帯ゲーム装置１０の斜視図
【図３】本発明の実施形態に係る携帯ゲーム装置１０のブロック図
【図４】本実施形態において想定するゲームの画面の一例
【図５】本実施形態において想定するゲームの画面の一例
【図６】本実施形態において想定するゲームの画面の一例
【図７】本実施形態において想定するゲームの画面の一例
【図８】本実施形態において想定するゲームの画面の一例
【図９】図３のＲＡＭ２４のメモリ空間を図解的に示したメモリマップ
【図１０】問題データ２４９ａのデータ構成の一例を示す図
【図１１】マス情報２５４ａのデータ構造の一例を示した図
【図１２】ヒント数字２５５ａのデータ構造の一例を示した図
【図１３】ゲーム装置１０において実行されるゲーム処理の流れを示すフローチャート
【図１４】図１３のステップＳ２で示したマス表示処理の詳細を示すフローチャート
【図１５】連結マスの一例を示す図
【図１６】内側の枠線を消去した連結マスの一例を示す図
【図１７】図１３のステップＳ３で示したヒント数字表示処理の詳細を示すフローチャート
【図１８】図１３のステップＳ１１で示した正解判定処理の詳細を示すフローチャート
【図１９】連結マスの設定の一例を示す図
【図２０】第２の実施形態におけるゲーム装置１０のＲＡＭ２４のメモリマップを示す図
【図２１】第２の実施形態における問題データ２４９ａのデータ構造の一例を示した図
【図２２】表示関連データ２８０のデータ構造の一例を示した図
【図２３】第２の実施形態にかかるパズルゲーム処理を示すフローチャート
【図２４】ヒント数字作成処理の処理概要を説明するための図
【図２５】ヒント数字作成処理の処理概要を説明するための図
【図２６】図２３のステップＳ５０で示したヒント数字作成処理の詳細を示すフローチャート
【図２７】図２６のステップＳ５１で示した列ヒント数字作成処理の詳細を示すフローチャート
【図２８】図２７のステップＳ６６で示した単列ヒント数字作成処理の詳細を示すフローチャート
【図２９】図２７のステップＳ６９で示した連結列ヒント数字作成処理の詳細を示すフローチャート
【図３０】図２９のステップＳ１０８で示した連結列詳細処理の詳細を示すフローチャート
【図３１】図２９のステップＳ１０８で示した連結列詳細処理の詳細を示すフローチャート
【図３２】図２９のステップＳ１０８で示した連結列詳細処理の詳細を示すフローチャート
【図３３】図２６のステップＳ５２で示した行ヒント数字作成処理の詳細を示すフローチャート
【図３４】図３３のステップＳ１５６で示した単行ヒント数字作成処理の詳細を示すフローチャート
【図３５】図３３のステップＳ１５９で示される連結行ヒント数字作成処理の詳細を示すフローチャート
【図３６】図２５のステップＳ２０８で示される連結行詳細処理の詳細を示すフローチャート
【図３７】図２５のステップＳ２０８で示される連結行詳細処理の詳細を示すフローチャート
【図３８】図２５のステップＳ２０８で示される連結行詳細処理の詳細を示すフローチャート
【符号の説明】
【０１４６】
１０  携帯型ゲーム装置
１１  第１ＬＣＤ
１２  第２ＬＣＤ
１３  ハウジング
１４  操作スイッチ部
１５  タッチパネル
１６  スタイラスペン
１７  メモリカード
１８  音抜き孔
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  インターフェース回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３１  ＬＣＤコントローラ
３２  レジスタ
３３  マイクロフォン孔
３５  ワイヤレス通信部
３６  マイクロフォン
【図１】
0005133017.tif 000002
【図２】
0005133017.tif 000003
【図３】
0005133017.tif 000004
【図４】
0005133017.tif 000005
【図５】
0005133017.tif 000006
【図６】
0005133017.tif 000007
【図７】
0005133017.tif 000008
【図８】
0005133017.tif 000009
【図９】
0005133017.tif 000010
【図１０】
0005133017.tif 000011
【図１１】
0005133017.tif 000012
【図１２】
0005133017.tif 000013
【図１３】
0005133017.tif 000014
【図１４】
0005133017.tif 000015
【図１５】
0005133017.tif 000016
【図１６】
0005133017.tif 000017
【図１７】
0005133017.tif 000018
【図１８】
0005133017.tif 000019
【図１９】
0005133017.tif 000020
【図２０】
0005133017.tif 000021
【図２１】
0005133017.tif 000022
【図２２】
0005133017.tif 000023
【図２３】
0005133017.tif 000024
【図２４】
0005133017.tif 000025
【図２５】
0005133017.tif 000026
【図２６】
0005133017.tif 000027
【図２７】
0005133017.tif 000028
【図２８】
0005133017.tif 000029
【図２９】
0005133017.tif 000030
【図３０】
0005133017.tif 000031
【図３１】
0005133017.tif 000032
【図３２】
0005133017.tif 000033
【図３３】
0005133017.tif 000034
【図３４】
0005133017.tif 000035
【図３５】
0005133017.tif 000036
【図３６】
0005133017.tif 000037
【図３７】
0005133017.tif 000038
【図３８】
0005133017.tif 000039