(57)【特許請求の範囲】
【請求項１】
画像を表示する表示手段と入力手段とを備える画像処理装置のコンピュータにおいて実行される画像処理プログラムであって、
前記画像を複数の領域に分割し、当該領域毎にそれぞれ複数の画像データから表示すべき画像データと当該画像データの表示順位を設定する画像データ設定ステップと、
前記入力手段によって入力された画面上の指示位置を検出する位置検出ステップと、
前記指示位置に基づいて指示された領域を指示領域として特定する領域特定ステップと、
前記領域特定ステップによって特定された指示領域に設定されている表示順位と当該特定された指示領域に隣接する領域に設定されている表示順位とを比較する画像順位比較ステップと、
前記画像順位比較ステップの比較結果に基づいて、処理対象とすべき領域を対象領域として特定する処理対象特定ステップと、
前記処理対象特定ステップによって特定された対象領域について前記画像データおよび前記表示順位を更新する画像データ更新ステップとを前記コンピュータに実行させる、画像処理プログラム。
【請求項２】
前記処理対象特定ステップは、前記表示順位が最も高い領域を、対象領域として特定する、請求項１記載の画像処理プログラム。
【請求項３】
前記処理対象特定ステップは、前記領域特定ステップによって特定された指示領域と、当該指示領域の表示順位よりも高い表示順位の領域とを、対象領域として特定する、請求項１記載の画像処理プログラム。
【請求項４】
各々の前記領域には、当該領域の表示を変化させるか否かを判断するための判断値が設定されており、
前記特定された対象領域の画像データが更新される毎に、当該対象領域の判断値を更新する判断値更新ステップを、前記コンピュータにさらに実行させ、
前記画像データ更新ステップは、前記判断値更新ステップによって更新された判断値が所定の条件を満たすとき、当該判断値に対応する前記対象領域についての画像データおよび表示順位を更新する、請求項１ないし３のいずれかに記載の画像処理プログラム。
【請求項５】
前記対象領域の判断値に基づいて、当該対象領域についての前記画像データおよび前記表示順位の更新の程度を変化させる更新量変化ステップを、前記コンピュータにさらに実行させる、請求項４記載の画像処理プログラム。
【請求項６】
前記処理対象特定ステップは、前記画像順位比較ステップの比較結果に基づいて、次に処理するべき対象領域を特定する、請求項１ないし５のいずれかに記載の画像処理プログラム。
【請求項７】
所定の表示順位が設定された領域の数が所定数以上になったとき、所定の処理を実行する実行ステップを、前記コンピュータにさらに実行させる、請求項１ないし６のいずれかに記載の画像処理プログラム。
【請求項８】
画像を表示する表示手段と入力手段とを備える画像処理装置であって、
前記画像を複数の領域に分割し、当該領域毎にそれぞれ複数の画像データから表示すべき画像データと当該画像データの表示順位を設定する画像データ設定手段と、
前記入力手段によって入力された画面上の指示位置を検出する位置検出手段と、
前記指示位置に基づいて指示された領域を指示領域として特定する領域特定手段と、
前記領域特定手段によって特定された指示領域に設定されている表示順位と当該特定された指示領域に隣接する領域に設定されている表示順位とを比較する画像順位比較手段と、
前記画像順位比較手段の比較結果に基づいて、処理対象とすべき領域を対象領域として特定する処理対象特定手段と、
前記処理対象特定手段によって特定された対象領域について前記画像データおよび前記表示順位を更新する画像データ更新手段とを備える、画像処理装置。
【請求項９】
画像を表示する表示手段と入力手段とを備える画像処理システムであって、
前記画像を複数の領域に分割し、当該領域毎にそれぞれ複数の画像データから表示すべき画像データと当該画像データの表示順位を設定する画像データ設定手段と、
前記入力手段によって入力された画面上の指示位置を検出する位置検出手段と、
前記指示位置に基づいて指示された領域を指示領域として特定する領域特定手段と、
前記領域特定手段によって特定された指示領域に設定されている表示順位と当該特定された指示領域に隣接する領域に設定されている表示順位とを比較する画像順位比較手段と、
前記画像順位比較手段の比較結果に基づいて、処理対象とすべき領域を対象領域として特定する処理対象特定手段と、
前記処理対象特定手段によって特定された対象領域について前記画像データおよび前記表示順位を更新する画像データ更新手段とを備える、画像処理システム。
【請求項１０】
画像を表示する表示手段と入力手段とを備える画像処理システムの画像処理方法であって、
前記画像処理システムのコンピュータは、
（ａ）前記画像を複数の領域に分割し、当該領域毎にそれぞれ複数の画像データから表示すべき画像データと当該画像データの表示順位を設定し、
（ｂ）前記入力手段によって入力された画面上の指示位置を検出し、
（ｃ）前記指示位置に基づいて指示された領域を指示領域として特定し、
（ｄ）前記ステップ（ｃ）によって特定された指示領域に設定されている表示順位と当該特定された指示領域に隣接する領域に設定されている表示順位とを比較し、
（ｅ）前記ステップ（ｄ）の比較結果に基づいて、処理対象とすべき領域を対象領域として特定し、そして
（ｆ）前記ステップ（ｅ）によって特定された対象領域について前記画像データおよび前記表示順位を更新する、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像処理プログラム、画像処理装置、画像処理システムおよび画像処理方法に関し、特にたとえば、複数の層に描画された画像を表示するための、画像処理プログラム、画像処理装置、画像処理システムおよび画像処理方法に関する。
【背景技術】
【０００２】
従来、電子ゲームの分野において、プレイヤの操作に応じて画面に表示されている地層等を削っていき、化石や宝物を発掘するゲームが知られている。
【０００３】
たとえば、非特許文献１には、画面に表示されている土の画像をタッチペンでこすることによって削り、土の中に隠されている化石を発掘するゲームが開示されている。このとき、強くこすり過ぎると化石が壊れることがある。
【０００４】
また、非特許文献２には、画面に表示されている壁の画像をタッチしていくことによって壁を掘っていき、壁の中に隠されている宝物を発掘するゲームが開示されている。この非特許文献２には、壁を掘るための道具として、ハンマとピッケルとの２種類があり、ハンマを使うと広範囲を掘ることができ、ピッケルを使うと狭い範囲を掘ることができることが開示されている。また、壁の厚さが場所によって違っており、厚さに応じて地表に到達するまでにタッチすべき回数が異なっている。
【非特許文献１】週刊ファミ通２００７年３月３０日号，株式会社エンターブレイン発行，Ｐ．８６
【非特許文献２】ポケットモンスターダイヤモンド・パールぼうけんマップ  任天堂ガイドブック，小学館発行，Ｐ．７１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、非特許文献１に開示された技術では、単純にタッチペンで指示された位置の土を削るだけなので、土を削る処理が単調でリアリティに欠けていた。
【０００６】
また、非特許文献２に開示された技術では、使用する道具によって掘ることができる範囲は変化するが、壁の厚さ（層の違い）に応じて掘ることができる範囲が変化するものではないので、リアリティに欠けていた。
【０００７】
それゆえに、この発明の主たる目的は、新規な、画像処理プログラム、画像処理装置、画像処理システムおよび画像処理方法を提供することである。
【０００８】
また、この発明の他の目的は、より複雑で細かい画像処理を実行できる、画像処理プログラム、画像処理装置、画像処理システムおよび画像処理方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【００１０】
第１の発明は、画像を表示する表示手段と入力手段とを備える画像処理装置のコンピュータにおいて実行される画像処理プログラムであって、この画像処理プログラムは、コンピュータに、画像データ設定ステップと、位置検出ステップと、領域特定ステップと、画像順位比較ステップと、処理対象特定ステップと、画像データ更新ステップとを実行させる。画像データ設定ステップは、画像を複数の領域に分割し、当該領域毎にそれぞれ複数の画像データから表示すべき画像データと当該画像データの表示順位を設定する。位置検出ステップは、入力手段によって入力された画面上の指示位置を検出する。領域特定ステップは、指示位置に基づいて指示された領域を指示領域として特定する。画像順位比較ステップは、領域特定ステップによって特定された指示領域に設定されている表示順位と当該特定された指示領域に隣接する領域に設定されている表示順位とを比較する。処理対象特定ステップは、画像順位比較ステップの比較結果に基づいて、処理対象とすべき領域を対象領域として特定する。画像データ更新ステップは、処理対象特定ステップによって特定された対象領域について画像データおよび表示順位を更新する。
【００１１】
第１の発明では、画像処理プログラムは、画像を表示する表示手段（１２，１４）と入力手段（２２，２４）とを備える画像処理装置（１０）のコンピュータにおいて実行される。画像データ設定ステップ（３４，Ｓ１）は、画像を複数の領域に分割し、当該領域毎にそれぞれ複数の画像データから表示すべき画像データと当該画像データの表示順位を設定する。位置検出ステップ（３４，Ｓ５）は、入力手段によって入力された画面上の指示位置を検出する。領域特定ステップ（３４，Ｓ５７，Ｓ９１）は、指示位置に基づいて指示された領域を指示領域として特定する。画像順位比較ステップ（３４，Ｓ９７，Ｓ１２９）は、領域特定ステップによって特定された指示領域に設定されている表示順位と当該特定された指示領域に隣接する領域に設定されている表示順位とを比較する。処理対象特定ステップ（３４，Ｓ９７，Ｓ１３１）は、画像順位比較ステップの比較結果に基づいて、処理対象とすべき領域を対象領域として特定する。画像データ更新ステップ（３４，Ｓ１０３，Ｓ１０５，Ｓ１４１，Ｓ１４７）は、処理対象特定ステップによって特定された対象領域について画像データおよび表示順位を更新する。
【００１２】
第１の発明によれば、画像を複数の領域に分割し、指示領域とそれに隣接する領域の表示順位を比較し、その比較結果に基づいて画像処理をすべき対象領域を特定するので、より複雑で細かい画像処理を実行することができる。
【００１３】
第２の発明は、第１の発明に従属し、処理対象特定ステップは、表示順位が最も高い領域を、対象領域として特定する。
【００１４】
第２の発明では、処理対象特定ステップは、表示順位が最も高い領域を、対象領域として特定する。表示順位が最も高い領域が複数有る場合には、それらすべてが対象領域として特定される。
【００１５】
第２の発明によれば、表示順位に従って対象領域を特定するので、簡単に対象領域を特定することができる。
【００１６】
第３の発明は、第１の発明に従属し、処理対象特定ステップは、領域特定ステップによって特定された指示領域と、当該指示領域の表示順位よりも高い表示順位の領域とを、対象領域として特定する。
【００１７】
第３の発明では、指示領域と、この指示領域の表示順位よりも高い表示順位の領域とが対象領域として特定される。
【００１８】
第３の発明によれば、指示領域以外の領域を表示順位に従って対象領域として特定するので、対象領域と簡単に特定することができる。
【００１９】
第４の発明は、第１ないし第３の発明に従属し、各々の領域には、当該領域の表示を変化させるか否かを判断するための判断値が設定されており、特定された対象領域の画像データが更新される毎に、当該対象領域の判断値を更新する判断値更新ステップを、コンピュータにさらに実行させ、画像データ更新ステップは、判断値更新ステップによって更新された判断値が所定の条件を満たすとき、当該判断値に対応する対象領域についての画像データおよび表示順位を更新する。
【００２０】
第４の発明では、画像処理プログラムは、判断値更新ステップ（３４，Ｓ９９）をコンピュータにさらに実行させる。各領域には、判断値が設定されている。この判断値は、対応する領域の表示を変化させるか否かを判断するための閾値である。判断値更新ステップは、対象領域の画像データが更新される毎に、当該対象領域の判断値を更新する。したがって、画像データ更新ステップは、判断値更新ステップによって更新された判断値が所定の条件を満たすとき（Ｓ１０１で“ＹＥＳ”）、当該判断値に対応する対象領域についての画像データおよび表示順位を更新する。
【００２１】
第４の発明によれば、領域毎に判断値を設定し、これに基づいて対応する領域の表示を変化させるか否かを判断するので、複雑で細かい画像処理を実行することができる。
【００２２】
第５の発明は、第４の発明に従属し、対象領域の判断値に基づいて、当該対象領域についての画像データおよび表示順位の更新の程度を変化させる更新量変化ステップを、コンピュータにさらに実行させる。
【００２３】
第５の発明では、画像処理プログラムは、コンピュータに、更新量変化ステップ（３４，Ｓ６３，Ｓ１３９）をさらに実行させる。たとえば、対象領域に設定される判断値が小さい場合には、画像データおよび表示順位を大幅に更新し、逆に、判断値が大きい場合には、画像データおよび表示順位を比較的少なく更新する。
【００２４】
第５の発明によれば、判断値の設定の仕方によって画像データおよび表示順位の更新の程度を変化させることができるので、より複雑で細かい画像処理を実行することができる。
【００２５】
第６の発明は、第１ないし第５の発明のいずれかに従属し、処理対象特定ステップは、画像順位比較ステップの比較結果に基づいて、次に処理するべき対象領域を特定する。
【００２６】
第６の発明では、処理対象特定ステップは、画像順位比較ステップの比較結果に基づいて（Ｓ１２９で“ＹＥＳ”）、次に処理するべき対象領域を特定する（Ｓ１３１）。
【００２７】
第６の発明によれば、次に処理するべき対象領域を表示順位に基づいて特定することができる。
【００２８】
第７の発明は、第１ないし第６の発明に従属し、所定の表示順位が設定された領域の数が所定数以上になったとき、所定の処理を実行する実行ステップを、コンピュータにさらに実行させる。
【００２９】
第７の発明では、画像処理プログラムは、コンピュータに、実行ステップ（３４，Ｓ３１，Ｓ３７）をさらに実行させる。実行ステップは、所定の表示順位が設定された領域の数が所定数以上になったとき（Ｓ２９で“ＹＥＳ”またはＳ３５で“ＹＥＳ”）、所定の処理を実行する。
【００３０】
第７の発明では、所定の表示順位が設定された領域の数に応じた処理を実行することができる。
【００３１】
第８の発明は、画像を表示する表示手段と入力手段とを備える画像処理装置であって、画像データ設定手段と、位置検出手段と、領域特定手段と、画像順位比較手段と、処理対象特定手段と、画像データ更新手段とを備える、画像処理装置である。画像データ設定手段は、画像を複数の領域に分割し、当該領域毎にそれぞれ複数の画像データから表示すべき画像データと当該画像データの表示順位を設定する。位置検出手段は、入力手段によって入力された画面上の指示位置を検出する。領域特定手段は、指示位置に基づいて指示された領域を指示領域として特定する。画像順位比較手段は、領域特定手段によって特定された指示領域に設定されている表示順位と当該特定された指示領域に隣接する領域に設定されている表示順位とを比較する。処理対象特定手段は、画像順位比較手段の比較結果に基づいて、処理対象とすべき領域を対象領域として特定する。画像データ更新手段は、処理対象特定手段によって特定された対象領域について画像データおよび表示順位を更新する。
第９の発明は、画像を表示する表示手段と入力手段とを備える画像処理システムであって、画像データ設定手段と、位置検出手段と、領域特定手段と、画像順位比較手段と、処理対象特定手段と、画像データ更新手段とを備える、画像処理システムである。画像データ設定手段は、画像を複数の領域に分割し、当該領域毎にそれぞれ複数の画像データから表示すべき画像データと当該画像データの表示順位を設定する。位置検出手段は、入力手段によって入力された画面上の指示位置を検出する。領域特定手段は、指示位置に基づいて指示された領域を指示領域として特定する。画像順位比較手段は、領域特定手段によって特定された指示領域に設定されている表示順位と当該特定された指示領域に隣接する領域に設定されている表示順位とを比較する。処理対象特定手段は、画像順位比較手段の比較結果に基づいて、処理対象とすべき領域を対象領域として特定する。画像データ更新手段は、処理対象特定手段によって特定された対象領域について画像データおよび表示順位を更新する。
第１０の発明は、画像を表示する表示手段と入力手段とを備える画像処理システムの画像処理方法であって、画像処理システムのコンピュータは、（ａ）画像を複数の領域に分割し、当該領域毎にそれぞれ複数の画像データから表示すべき画像データと当該画像データの表示順位を設定し、（ｂ）入力手段によって入力された画面上の指示位置を検出し、（ｃ）指示位置に基づいて指示された領域を指示領域として特定し、（ｄ）ステップ（ｃ）によって特定された指示領域に設定されている表示順位と当該特定された指示領域に隣接する領域に設定されている表示順位とを比較し、（ｅ）ステップ（ｄ）の比較結果に基づいて、処理対象とすべき領域を対象領域として特定し、そして（ｆ）ステップ（ｅ）によって特定された対象領域について画像データおよび表示順位を更新する。
【００３２】
第８−１０の発明においても、第１の発明と同様に、より複雑で細かい画像処理を実行することができる。
【発明の効果】
【００３３】
この発明によれば、画像を複数の領域に分割し、指示領域とそれに隣接する領域の表示順位を比較し、その比較結果に基づいて画像処理をすべき対象領域を特定するので、より複雑で細かい画像処理を実行することができる。
【００３４】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００３５】
図１を参照して、この発明の実施例であるゲーム装置１０は、後述するように、画像処理プログラムを記憶することにより、画像処理装置としても機能する。このゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。ＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング1６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００３６】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【００３７】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａと略同じであり、その略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。下側ハウジング１６ｂのＬＣＤ１４の左方には電源スイッチ１８が設けられる。
【００３８】
また、上側ハウジング１６ａには、ＬＣＤ１２を挟んで左右に、スピーカ３６ａおよび３６ｂ（図２）のための音抜き孔２０ａおよび２０ｂが形成される。そして、下側ハウジング１６ｂには、マイク（図示せず）のためのマイク孔２０ｃが形成されるとともに、操作スイッチ２２（２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２Ｌおよび２２Ｒ）が設けられる。
【００３９】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００４０】
操作スイッチ２２は、方向指示スイッチ（十字スイッチ）２２ａ，スタートスイッチ２２ｂ、セレクトスイッチ２２ｃ、動作スイッチ（Ａボタン）２２ｄ、動作スイッチ（Ｂボタン）２２ｅ、動作スイッチ（Ｘボタン）２２ｆ、動作スイッチ（Ｙボタン）２２ｇ、動作スイッチ（Ｌボタン）２２Ｌおよび動作スイッチ（Ｒボタン）２２Ｒを含む。スイッチ２２ａは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の左側に配置される。その他のスイッチ２２ｂ−２２ｇは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の右側に配置される。さらに、スイッチ２２Ｌおよびスイッチ２２Ｒは、それぞれ、上側ハウジング１６ａとの連結部を挟む下側ハウジング１６ｂの上側面の左右角部に配置される。
【００４１】
方向指示スイッチ２２ａは、ディジタルジョイスティックとして機能し、４つの押圧部の１つを操作することによって、ユーザないしプレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。また、各押圧部には、特定の役割を割り当てることができ、４つの押圧部の１つを操作することによって、割り当てられた役割を指示（指定）することができる。
【００４２】
スタートスイッチ２２ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止(Pause)したりする等に用いられる。また、セレクトスイッチ２２ｃは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【００４３】
動作スイッチ２２ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(ＲＰＧ)やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ２２ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ２２ｃで選択したゲームモードの変更やＡボタン２２ｄで決定したアクションの取り消し等のために用いられる。
【００４４】
動作スイッチ２２ｆすなわちＸボタン、および動作スイッチ２２ｇすなわちＹボタンは、プッシュボタンで構成され、Ａボタン２２ｄとＢボタン２２ｅだけでは、ゲーム進行ができないときに、補助的な操作に用いられる。ただし、Ｘボタン２２ｆおよびＹボタン２２ｇは、Ａボタン２２ｄおよびＢボタン２２ｅと同様の操作に用いることも可能である。もちろん、ゲームプレイにおいてＸボタン２２ｆとＹボタン２２ｇとを必ずしも使用しなくてよい。
【００４５】
動作スイッチ２２Ｌ（左押しボタン）および動作スイッチ２２Ｒ（右押しボタン）は、プッシュボタンで構成され、左押しボタン（Ｌボタン）２２Ｌおよび右押しボタン（Ｒボタン）２２Ｒは、Ａボタン２２ｄおよびＢボタン２２ｅと同様の操作に用いることができ、また、Ａボタン２２ｄおよびＢボタン２２ｅの補助的な操作に用いることができる。さらに、Ｌボタン２２ＬおよびＲボタン２２Ｒは、方向スイッチ２２ａ、Ａボタン２２ｄ，Ｂボタン２２ｅ，Ｘボタン２２ｆ，Ｙボタン２２ｇに割り当てられた役割を、他の役割に変更することができる。
【００４６】
また、ＬＣＤ１４の上面には、タッチパネル２４が装着される。タッチパネル２４としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２４は、その上面をスティック２６ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２６等」という場合がある。）で、押圧したり、撫でたり、触れたりすることにより操作（タッチ操作）すると、スティック２６等の操作位置の座標を検出して、検出した座標（検出座標）に対応する座標データを出力する。
【００４７】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル２４の検出精度も表示画面に対応して２５６ｄｏｔ×１９２ｄｏｔとしてあるが、タッチパネル２４の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【００４８】
ＬＣＤ１２およびＬＣＤ１４には異なるゲーム画面が表示されてもよい。たとえば、レースゲームでは一方のＬＣＤに運転席からの視点による画面を表示し、他方のＬＣＤにレース（コース）全体の画面を表示することができる。また、ＲＰＧでは、一方のＬＣＤにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のＬＣＤにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のＬＣＤ（この実施例では、ＬＣＤ１４）にゲームの操作画面（ゲーム画面）を表示し、他方のＬＣＤ（この実施例では、ＬＣＤ１２）に当該ゲームに関する情報（得点やレベルなど）を含む他のゲーム画面を表示することができる。さらには、２つのＬＣＤ１２およびＬＣＤ１４を合わせて１つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物（敵キャラクタ）を表示することもできる。
【００４９】
したがって、プレイヤはスティック２６等でタッチパネル２４を操作することにより、ＬＣＤ１４の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、操作オブジェクトなどの画像を指示（操作）したり、コマンドを選択（入力）したりすることができる。また、３次元ゲーム空間に設けられる仮想カメラ（視点）の方向（視線の向き）を変化させたり、ゲーム画面（マップ）のスクロール(徐々に移動表示)方向を指示したりすることもできる。
【００５０】
なお、ゲームの種類によっては、タッチパネル２４を用いることにより、その他の入力指示も可能である。たとえば、座標入力指示を入力したり、ＬＣＤ１４において文字，数字，記号等を手書き入力したりすることができる。
【００５１】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の上面にタッチパネル２４が設けられるので、２画面（１２，１４）と２系統の操作部（２２，２４）とを有する構成になっている。
【００５２】
また、この実施例では、スティック２６は、たとえば下側ハウジング１６ｂに設けられる収納部（図１では点線で示す）に収納することができ、必要に応じて取り出される。ただし、スティック２６を設けない場合には、その収納部も設ける必要はない。
【００５３】
さらに、ゲーム装置１０はメモリカード（またはカートリッジ）２８を含み、このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの裏面ないしは下端（底面）に設けられる挿入部３０（図１では点線で示す）に挿入される。図１では省略するが、挿入部３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ３２（図２参照）が設けられており、したがって、メモリカード２８が挿入部３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア３４（図２参照）がメモリカード２８にアクセス可能となる。
【００５４】
なお、図１では表現できないが、上側ハウジング１６ａの音抜き孔２０ａおよび２０ｂと対応する位置であり、この上側ハウジング１６ａの内部にはスピーカ３６ａおよび３６ｂ（図２参照）が設けられる。
【００５５】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【００５６】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板３８を含み、この電子回路基板３８には上述のＣＰＵコア３４等の回路コンポーネントが実装される。ＣＰＵコア３４は、バス４０を介して前述のコネクタ３２に接続されるとともに、ＲＡＭ４２、第１のグラフィック処理ユニット（ＧＰＵ）４４、第２のＧＰＵ４６、入出カインターフエース回路（以下、「Ｉ／Ｆ回路」という。）４８およびＬＣＤコントローラ５０が接続される。
【００５７】
コネクタ３２には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、互いにバスで接続され、さらに、コネクタ３２と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア３４は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができるのである。
【００５８】
ＲＯＭ２８ａは、ゲーム装置１０で実行すべきゲームのためのゲームプログラム、画像データ（文字やオブジェクトの画像、背景画像、アイテム画像、アイコン（ボタン）画像、メッセージ画像など）およびゲームに必要な音（音楽）のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）２８ｂは、そのゲームの途中データやゲームの結果データなどを記憶（セーブ）する。
【００５９】
ＲＡＭ４２は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア３４は、メモリカード２８のＲＯＭ２８ａに記憶されたゲームプログラム、画像データおよび音データ等をＲＡＭ４２にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア３４は、ゲームの進行に応じて一時的に発生するデータ（ゲームデータやフラグデータ）をＲＡＭ４２に記憶しつつゲーム処理を実行する。
【００６０】
なお、ゲームプログラム、画像データおよび音データ等は、ＲＯＭ２８ａから一度に全部、または部分的かつ順次的に読み出され、ＲＡＭ４２に記憶（ロード）される。
【００６１】
ただし、メモリカード２８のＲＯＭ２８ａには、ゲーム以外の他のアプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データが記憶される。また、必要に応じて、音（音楽）データが記憶されてもよい。かかる場合には、ゲーム装置１０では、当該アプリケーションが実行される。
【００６２】
ＧＰＵ４４およびＧＰＵ４６は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア３４からのグラフィックスコマンド（作画命令）を受け、そのグラフィックスコマンドに従って画像データを生成する。ただし、ＣＰＵコア３４は、グラフィックスコマンドに加えて、画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ４４およびＧＰＵ４６のそれぞれに与える。
【００６３】
また、ＧＰＵ４４には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５２が接続され、ＧＰＵ４６には、第２のＶＲＡＭ５４が接続される。ＧＰＵ４４およびＧＰＵ４６が作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンやテクスチャ等のデータ）は、ＧＰＵ４４およびＧＰＵ４６が、それぞれ、第１のＶＲＡＭ５２および第２のＶＲＡＭ５４にアクセスして取得する。
【００６４】
なお、ＣＰＵコア３４は、描画に必要な画像データをＧＰＵ４４およびＧＰＵ４６を介して第１のＶＲＡＭ５２および第２のＶＲＡＭ５４に書き込む。ＧＰＵ４４はＶＲＡＭ５２にアクセスして描画のための画像データを作成し、ＧＰＵ４６はＶＲＡＭ５４にアクセスして描画のための画像データを作成する。
【００６５】
ＶＲＡＭ５２およびＶＲＡＭ５４は、ＬＣＤコントローラ５０に接続される。ＬＣＤコントローラ５０はレジスタ５６を含み、レジスタ５６はたとえば１ビットで構成され、ＣＰＵコア３４の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ５０は、レジスタ５６のデータ値が「０」である場合には、ＧＰＵ４４によって作成された画像データをＬＣＤ１２に出力し、ＧＰＵ４６によって作成された画像データをＬＣＤ１４に出力する。また、ＬＣＤコントローラ５０は、レジスタ５６のデータ値が「１」である場合には、ＧＰＵ４４によって作成された画像データをＬＣＤ１４に出力し、ＧＰＵ４６によって作成された画像データをＬＣＤ１２に出力する。
【００６６】
なお、ＬＣＤコントローラ５０は、ＶＲＡＭ５２およびＶＲＡＭ５４から直接画像データを読み出したり、ＧＰＵ４４およびＧＰＵ４６を介してＶＲＡＭ５２およびＶＲＡＭ５４から画像データを読み出したりする。
【００６７】
Ｉ／Ｆ回路４８には、操作スイッチ２２，タッチパネル２４およびスピーカ３６ａ，３６ｂが接続される。ここで、操作スイッチ２２は、上述したスイッチ２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｇ，２２Ｌおよび２２Ｒであり、操作スイッチ２２が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。また、タッチパネル２４からの座標データがＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。さらに、ＣＰＵコア３４は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４２から読み出し、Ｉ／Ｆ回路４８を介してスピーカ３６ａ，３６ｂから出力する。
【００６８】
図３は、図１および図２に示すゲーム装置１０を用いて、この実施例の仮想ゲームをプレイする場合に、図示は省略するが、或るシーンのゲーム画面（化石のクリーニング画面）をＬＣＤ１４に表示するために、ＶＲＡＭ５４（またはＶＲＡＭ５２）に描画される画像データのレイヤ構造を示す。この実施例では、図３からも分かるように、化石のクリーニング画面（画像）は、６つのレイヤ１００，１０２，１０４，１０６，１０８，１１０によって構成される。レイヤ１００，１０２，１０４，１０６，１０８，１１０は、ＸＹ平面に平行であり、その順番で、視点（仮想カメラ）からＺ軸方向に遠ざかるように所定の間隔で配置される。
【００６９】
レイヤ１００には、岩石の１層目の画像が描画される。レイヤ１０２には、岩石の２層目の画像が描画される。レイヤ１０４には、岩石の３層目の画像が描画される。レイヤ１０６には、化石の表層の画像が描画される。レイヤ１０８には、化石の内層の画像が描画される。そして、レイヤ１１０には、化石のクリーニングのための作業台の画像が描画される。
【００７０】
クリーニング画像は複数の領域に分割され、領域単位で管理される。各領域は、平面形状（ＸＹ平面上における形状）は同じであり、この実施例では、正六角形に設定される。具体的には、図４（Ａ）に示すように、視点側からレイヤ１００を見ると、各領域（以下、「ヘクス」と呼ぶことにする。）は正六角形の形状に分割される。これは、画像の表示変化により、化石のクリーニング作業を現実的に表現するためである。
【００７１】
この実施例では、上述したように、クリーング画像はヘクス単位で管理される。各へクスは、同一のレイヤ１００−１１０内では、固定的に付された番号で識別され、ＸＹ平面内の位置が同じであれば、異なるレイヤ１００−１１０であっても（Ｚ軸方向にずれても）同じ番号で識別される。つまり、各ヘクスは層構造となっているのである。具体的には、図４（Ｂ）にレイヤ１００−１１０の一部を示すと、同一のレイヤ１００、１０２、１０４内では、ヘクス１，２，３のように区別される。ただし、ヘクス１，２，３は、レイヤ１００，１０２，１０４が異なってもＸＹ平面内の位置が同じであれば、同じ番号で管理される。したがって、各ヘクスには、レイヤ１００−１１０の各々に対応して、画像（最大で６種類の画像）が設定され、また岩石や化石が削られるか否かを判別するための耐久力値（最大で６種類の耐久力値）が設定されている。
【００７２】
後述するように、プレイヤがハンマやドリルを用いて削り操作をすると、削り対象のヘクスが特定され、この削り対象のヘクスにおいて、現在画像が表示されているレイヤ１００−１１０（以下、「画像表示レイヤ」という）に設定されている耐久力値が検出される。そして、画像表示レイヤに設定されている耐久力値からハンマやドリルによる破壊力の値（破壊力値）が減算される。ここで、耐久力値が０以下になると、当該画像表示レイヤは削除される。つまり、削り対象のヘクスの画像表示レイヤに設定された画像が消去され、その下のレイヤに設定された画像が表示されることになる。すなわち、当該削り対象のヘクスにおいて、画像表示レイヤが更新されるのである。このように、ヘクス単位で画像表示レイヤを更新することにより、ハンマやドリルを用いて岩石や化石を削る様子が画面表示されるのである。
【００７３】
なお、各ヘクスのレイヤ１００−１１０毎に設定される耐久力値の初期値を、各ヘクス間や各レイヤ１００−１１０間で異なる値に設定することにより、岩石や化石の硬い所や軟らかい所を表現することができる。また、レイヤ１１０には、作業台の色彩ないし模様の画像（テクスチャ）が一面に貼り付けられる。
【００７４】
図示は省略するが、仮想ゲームにおいてクリーニング作業を実行する場合には、プレイヤは所望の道具やその種類を選択することができる。図示は省略するが、クリーニング作業のための道具としては、ハンマとドリルとを選択することができ、たとえば、ハンマまたはドリルを選択するためのアイコン画像がＬＣＤ１４に表示される。したがって、プレイヤは、所望のアイコン画像をタッチするなどして道具を選択する。さらに、道具を選択すると、その種類を選択するためのアイコン画像が表示される。たとえば、ハンマやドリルは３種類ずつ設けられる。ハンマはそのサイズが３種類（大、中、小）用意されている。この実施例では、使用するハンマの種類に応じて破壊力が異なる。また、ドリルはその径のサイズが３種類（大、中、小）用意されている。この実施例では、使用するドリルの種類に応じて削る範囲と破壊力とが異なる。
【００７５】
なお、道具の選択方法は単なる一例であり、これに限定される必要はない。たとえば、セレクトスイッチ２２ｃを押すことにより、道具およびその種類を選択可能な選択画面（メニュー画面）を表示し、方向指示スイッチ２２ａを用いて道具およびその種類を選択し、Ａボタン２２ｄを押すことにより、選択した道具およびその種類を決定することができる。
【００７６】
図５ないし図１０を用いて、クリーニング作業において、ハンマやドリルを使用して岩石や化石を削る場合の画像処理および削った後の画像処理について説明する。図５ないし図７は、ハンマを用いる場合の破壊力の伝播の仕方および岩石や化石を削る場合の画像処理を説明するための図解図である。
【００７７】
まず、図５を用いて、ハンマで岩石や化石を削る場合の破壊力の伝播の仕方について説明する。図５では、レイヤ１００−１１０の一部を水平方向（横方向）から見た場合の断面図を示す。ただし、図面の都合上、断面を表わすハッチングは省略してある。また、ハンマによる破壊力が直接的に加えられる（タッチ位置を含む）ヘクスの最上層（ここではレイヤ１００）すなわち画像表示レイヤを太線枠で示してある。さらに、図５では、破壊力の大きさの一例を白抜きの矢印の大きさで対比可能に示してある。
【００７８】
図５に示すように、破壊力はレイヤ１００−１１０の上層から下層に向けて（Ｚ軸方向に）伝播するとともに、同一のレイヤ１００−１１０内の水平方向（ＸＹ方向）に伝播する。つまり、図５の一点鎖線で示すように、ハンマの破壊力が伝播する範囲は、ハンマで叩いた位置を中心とする円弧の形状となる。これは、図５の横方向（９０度回転した方向）から見た場合のように、Ｚ軸周りの他の方向から見た場合も同じであり、したがって、衝撃力は岩石や化石に対してすり鉢状に伝播される。
【００７９】
この実施例では、上述したように、各ヘクスでは、レイヤ１００−１１０毎に、耐久力値が設定されており、各ヘクスのレイヤ１００−１１０毎に岩石や化石が削られたかどうかを判断するようにしてある。具体的には、プレイヤがスティック２６を用いてタッチパネル２４を指示（タッチ）すると、タッチ位置のヘクス（以下、「指示ヘクス」という。）にハンマによる破壊力が加えられる。つまり、ハンマで叩いた中心のヘクスすなわち指示ヘクスの画像表示レイヤに、直接的にハンマの破壊力が加えられる。この破壊力は、図５に示したように、指示ヘクスを通して、垂直方向および水平方向に伝播する。以下、垂直方向への破壊力の伝播と、水平方向への破壊力の伝播とを分けて説明する。
【００８０】
垂直方向への破壊力の伝播は、まず、指示ヘクスの画像表示レイヤに設定されている耐久力値から、破壊力値を減算する。ここで、耐久力値が０以下になり、破壊力値が残っている場合には、その画像表示レイヤの下のレイヤに設定されている耐久力値から、残っている破壊力値が減算される。破壊力値が無くなる（０になる）まで、このような処理が繰り返される。このようにして、垂直方向において、削除するレイヤが決定され、画面更新時に削除される。
【００８１】
次に、図６および図７を用いて、水平方向（ＸＹ平面内）への破壊力の伝播の仕方について詳細に説明する。ただし、図６に示す場合では、簡単のため、各ヘクスの画像表示レイヤは同一のレイヤ１００−１１０であると仮定して説明する。
【００８２】
上述したように、プレイヤがスティック２６を用いてタッチパネル２４を指示（タッチ）すると、図６（Ａ）に示すように、そのタッチ位置のヘクス（指示ヘクス）がハンマによって叩かれた中心のヘクスとして特定される。なお、タッチパネル２４がタッチされたとき（ハンマによって叩かれたとき）を、第ｎフレームとする。
【００８３】
指示ヘクスには、上述したように、ハンマによる破壊力が直接的に加えられる。ハンマからの破壊力が指示ヘクスに加えられると、当該指示ヘクスの画像表示レイヤの耐久力値から破壊力値が減算される。ここで、画像表示レイヤの耐久力値が０以下である場合には、当該画像表示レイヤは次のフレーム（第ｎ＋１フレーム）で削除される。つまり、画像表示レイヤに設定されている画像が消去される。
【００８４】
なお、上述したように、ハンマによる破壊力は、ハンマの種類によって予め決定されている。
【００８５】
第ｎフレームにおいて、画像表示レイヤの耐久力値から破壊力値を減算したときに、破壊力値が残っている場合には、図６（Ｂ）に示すように、次のフレーム（第ｎ＋１フレーム）で、その破壊力値が指示ヘクスに隣接するヘクスに伝播する。つまり、破壊力が、指示ヘクスに隣接するヘクスの画像表示レイヤに伝播するのである。したがって、ハンマによる破壊力は、ＸＹ平面内において、ハンマで叩いた位置（指示ヘクス）を中心に、放射状に伝播する。この実施例では、残っている破壊力値が、隣接するヘクスのそれぞれに伝播する。すると、指示ヘクスに隣接する各ヘクスでは、画像表示レイヤに設定された耐久力値から残っている破壊力値が減算される。このようにして、破壊力値が０になるまで、フレーム毎に、破壊力の伝播処理が実行される。
【００８６】
したがって、図６（Ｂ）に示す第ｎ＋１フレームの状態において、耐久力値が０以下になった画像表示レイヤを有するヘクスでは、その画像表示レイヤが次のフレーム（第ｎ＋２フレーム）で削除される。このとき、破壊力値が０になっていない場合には、第ｎ＋２フレームで削除されるべき画像表示レイヤを有するヘクスに隣接するヘクスに、残っている破壊力が与えられる。
【００８７】
ただし、隣接するヘクスは、指示ヘクスを中心にして、放射状に離れる側のヘクスのみを意味する。
【００８８】
また、図５に示したように、指示ヘクスの周囲のヘクスについても水平方向のみならず、垂直方向に破壊力は伝播する。つまり、指示ヘクスの周囲のヘクスに破壊力が伝播すると、その周囲のヘクスでは、垂直方向にも破壊力は伝播する。垂直方向における破壊力の伝播については、上述したとおりである。
【００８９】
ここで、図６（Ａ）−図６（Ｃ）では、各ヘクスの画像表示レイヤが同じレイヤ１００−１１０である場合について説明した。しかし、実際には、画像表示レイヤは、各ヘクス間で異なること多い。したがって、たとえば、既に穴が形成されているような箇所をハンマで叩いた場合には、水平方向に破壊力が伝播すると、当該破壊力が伝播するレイヤ１０２−１１０よりも、画像表示レイヤが高い（Ｚ値が小さい）場合がある。かかる場合には、実際のクリーニング作業等を考慮して、上のレイヤ１００−１０８の画像表示レイヤにも破壊力は伝播するようにしてある。かかる場合にも、上述した垂直方向への破壊力の伝播方法と同様にして、破壊力が伝播される。
【００９０】
しかし、水平方向において、岩石や化石の一部に穴や段差が形成されている場合には、つまり破壊力が伝播されるレイヤ１００−１１０よりも画像表示レイヤの方が低い（Ｚ値が大きい）場合には、その穴や段差の手前のヘクスで破壊力の水平方向への伝播は途絶える。たとえば、図７（Ａ）に示すように、第ｎフレームにおいて、指示ヘクスの画像表示レイヤと白色のヘクスの画像表示レイヤとが同じレイヤ（１００−１０６）であり、右斜め下方向への斜線を付した４つのヘクスの画像表示レイヤがそのレイヤ（１００−１０６）よりも２つ以上下のレイヤ（１０４−１１０）である場合には、少なくとも第ｎ＋２フレーム目までは、ハンマによる破壊力はその４つのヘクスに伝播されることはない。したがって、図７（Ｂ）に示すように、ハンマによる破壊力が与えられた指示ヘクスの画像表示レイヤと同じ画像表示レイヤを有するヘクス（太線枠で囲む３つのヘクス）であっても、それよりも下の画像表示レイヤを有するヘクスを間に挟んでいる場合には、破壊力は伝播されない。
【００９１】
次に、図８を用いて、ドリルを用いる場合の破壊力が加えられる範囲、削り対象のヘクスの決定方法および岩石や化石を削る場合の画像処理について説明する。プレイヤがスティック２６を用いてタッチパネル２４をタッチすると、図８（Ａ）に示すように、タッチ位置のヘクスがドリルによって削られる（掘られる）中心のヘクス（指示ヘクス）として特定される。なお、ドリルによって岩石や化石を削り始めたときを、第ｎフレームとする。
【００９２】
ドリルはその種類によって、破壊力が加えられる（削る）範囲が予め決定されている。最も径小のドリルを用いる場合には、指示ヘクスおよびそれに隣接するヘクスの範囲を削ることができる（図８（Ａ）〜図８（Ｃ）参照）。つまり、指示ヘクスを中心とし、その周辺１マス分を含む範囲が削る範囲である。径中のドリルを用いる場合には、指示ヘクスを中心とし、その周辺２マス分を含む範囲が削る範囲である。さらに、径大のドリルを用いる場合には、指示ヘクスを中心とし、その周辺３マス分を含む範囲が削る範囲である。詳細な説明は省略するが、上述したように、ドリルによる破壊力もまた、その種類によって予め決定されている。
【００９３】
通常、ドリルが岩石や化石を削ることができるのは、ドリルが岩石や化石に当っている（接している）部分のみである。したがって、この実施例では、削る範囲が決定されると、ドリルが岩石や化石を削る対象として、指示ヘクスおよび指示ヘクスを中心として削る範囲に含まれるヘクスのうち、最も画像表示レイヤが高い（Ｚ値が小さい）ヘクスを特定する。
【００９４】
図８（Ａ）〜図８（Ｃ）を参照して、削る範囲および削る対象のヘクスの特定について説明することにする。ただし、図８（Ａ）−図８（Ｃ）に示す例では、径小のドリルが使用されている場合について示してある。図８（Ａ）では、左斜め下向きの斜線が付されたヘクスの画像表示レイヤが最上位であり、斑点模様が付されたヘクスの画像表示レイヤは斜線が付されたヘクスの画像表示レイヤよりも下のレイヤであり、さらに、網掛け模様が付されたヘクスの画像表示レイヤは斑点模様が付された画像表示レイヤよりも下のレイヤである。ただし、同じ斜線や模様が付されたヘクスの画像表示レイヤ同じレイヤである。
【００９５】
したがって、図８（Ａ）に示すように、第ｎフレームでは、ドリルは左斜め下向きの斜線が付されたヘクスにのみ、ドリルによる破壊力が与えられる。上述したように、各ヘクスでは、レイヤ１００−１１０に対応して耐久力値が設定されていて、その耐久力値から破壊力値を減算して、削り範囲に存在するヘクスの画像表示レイヤを削除するか否かを決定する。これは上述のハンマを用いる場合と同様である。したがって、重複した説明は省略する。ただし、実際には、ドリルが削り範囲に含まれるヘクスであって、最上位の画像表示レイヤがすべて削除されない限り、削り範囲に含まれる次のレイヤを削ることはできない。また、図８（Ａ）−図８（Ｃ）では、簡単のため、ドリルによる削り操作は継続して行われているものと仮定するとともに、削り対象となるヘクスの画像表示レイヤの画像が１フレーム毎に消去されるものと仮定する。
【００９６】
第ｎ＋１フレームでは、指示ヘクスに隣接するヘクスであって、指示ヘクスの画像表示レイヤと同じ画像表示レイヤを有するヘクスが削り対象として特定される。図８（Ｂ）に示す例において、斑点模様が付されたヘクスが削り対象となる。この第ｎ＋１フレームにおいて、削り対象のヘクスが削除される。すると、第ｎ＋２フレームにおいて、削り範囲に存在する指示ヘクスに隣接するヘクスであって、指示ヘクスの画像表示レイヤと同じ画像表示レイヤを有するヘクスが削り対象として特定される。具体的には、図８（Ｃ）に示すように、網掛け模様が付されたヘクスが削りの対象となる。したがって、この第ｎ＋２フレームにおいて、削り対象のヘクスが削除される。このような処理は、スティック２６等によって、タッチパネル２４をオンし続けている間、または、削り対象のすべてのヘクスについてのすべての画像表示レイヤが最下位（最下層：レイヤ１１０）になるまで繰り返される。
【００９７】
なお、ドリルによって岩石や化石を削る場合には、上述したように、ドリルが当っている部分が削られるため、たとえば、ドリルの外形（円形）と同じ形状の穴が形成される。
【００９８】
また、ドリルを用いる場合に、プレイヤがスティック２６をスライドさせてタッチ位置を移動させ（スライド操作して）、連続したフレームで離れた座標へのタッチが検出されると、離れた２点間をラインアルゴリズムで走査し、その間に存在するヘクスも削り対象とする。したがって、たとえば、図９（Ａ）に示すように、第ｎフレームのタッチ位置と、第ｎ＋１フレームのタッチ位置とが連続的に検出されたとき、その第ｎフレームの指示ヘクスと第ｎ＋１フレームの指示ヘクスとが削除対象となるとともに、図９（Ｂ）に示すように、第ｎフレームの指示ヘクスと第ｎ＋１フレームの指示ヘクスとの間に在るヘクスもまた削除対象となる。
【００９９】
ただし、第ｎフレームのタッチ位置を含むヘクス（説明の便宜上、「第１ヘクス」という。）の画像表示レイヤと、第ｎ＋１フレームのタッチ位置を含むヘクス（説明の便宜上、「第２ヘクス」という。）の画像表示レイヤとが異なるレイヤである場合には、第１ヘクスから第２ヘクスに向かう途中で画像表示レイヤのレイヤ１００−１１０が変化する場合がある。たとえば、第１ヘクスの画像表示レイヤよりも第２ヘクスの画像表示レイヤの方が下位（下層）である場合には、その画像表示レイヤのレイヤの高さ（Ｚ値）が変化する場合には、レイヤの高さが変化してから第２ヘクスまでのヘクスは削り対象にならない。ただし、変化した画像表示レイヤが第１ヘクスの画像表示レイヤよりも上位（上層）である場合には、第１レイヤから第２レイヤまでのすべてが削除対象となる。
【０１００】
また、第１ヘクスと第２ヘクスとが同じレイヤ上であっても、第１ヘクスから第２ヘクスに向かう途中に存在するヘクスの画像表示レイヤが、第１ヘクスおよび第２ヘクスの画像表示レイヤよりも下層である場合には、その下層に存在するヘクスは削除対象とならない。一方、変化したレイヤが第１ヘクスおよび第２ヘクスよりも上層である場合には、第１レイヤから第２レイヤまでのすべてが削り対象となる。
【０１０１】
次に、図１０（Ａ）−図１０（Ｄ）を用いて、ハンマやドリルを用いて岩石や化石を削ったことにより、穴が形成された場合の画面表示の方法を説明する。つまり、岩石や化石を削ることより形成された穴の淵の部分（レイヤの異なる隣のヘクスとの段差（断面））が画面上で表現される。図１０（Ａ）は白色のヘクスと斑点模様が付されたヘクスとが存在し、斑点模様が付されたヘクスが白色のヘクスよりも下層である。つまり、斑点模が付されたヘクスが配置される部分が穴に相当する。
【０１０２】
図１０（Ｂ）には、断面部分を表示するためのテンプレートが示される。このようなテンプレートを削除されたヘクスとそれに隣接するヘクスとの間に設けることにより、穴が形成されていることを表現することができる。テンプレートは、１または２以上の組み合わせにより使用される。ただし、簡単のため、図１０（Ｂ）では、いずれか２つを組み合わせて使用する場合のテンプレートのみを示してある。図１０（Ａ）に示す穴の部分と同じ形状になるように、図１０（Ｂ）に示す６つのテンプレートから２つのテンプレートが選択される。したがって、図１０（Ｃ）に示すように、２つのテンプレートが合成ないし接合されたテンプレート（合成テンプレート）が生成される。そして、図１０（Ｄ）に示すように、合成テンプレートが図１０（Ａ）に示した穴の部分に貼り付けられる。したがって、穴が形成された様子が現実的に表現される。
【０１０３】
図１１は図２に示したＲＡＭ４２のメモリマップ７０を示す図解図である。ＲＡＭ４２は、プログラム記憶領域７２およびデータ記憶領域７４を含む。プログラム記憶領域７２には、画像処理プログラムが記憶され、この画像処理プログラムは、入力座標検出プログラム７２ａ、道具選択処理プログラム７２ｂ、ハンマ破壊処理プログラム７２ｃ、ドリル破壊処理プログラム７２ｄ、画像表示プログラム７２ｅおよびクリーニング判定プログラム７２ｆなどによって構成される。
【０１０４】
入力座標検出プログラム７２ａは、プレイヤのタッチ操作によってタッチパネル２４から入力される座標データを取得し、取得した座標データからタッチ位置の座標（タッチ座標）を検出して、タッチ座標の座標データをＲＡＭ７４に記憶するためのプログラムである。道具選択処理プログラム７２ｂは、ハンマまたはドリルを選択するとともに、ハンマの種類またはドリルの種類を選択するためのプログラムである。
【０１０５】
ハンマ破壊処理プログラム７２ｃは、ハンマを用いて岩石や化石を削る場合に、その破壊力の伝播処理および耐久力値が０以下の画像表示レイヤの削除を行うためのプログラムである。ドリル破壊処理プログラム７２ｄは、ドリルを用いて岩石や化石を削る場合に、その破壊力がおよぶ範囲の決定したり、破壊力を伝播するべき削り対象のヘクスを特定したり、削り対象のヘクスのうち耐久力値が０以下となる画像表示レイヤの削除を行うためのプログラムである。
【０１０６】
画像表示プログラム７２ｅは、後述する画像データを用いて、ＬＣＤ１２およびＬＣＤ１４に表示する画面データを生成し、ＬＣＤ１２およびＬＣＤ１４に画面を表示し、その表示をフレーム毎に更新するためのプログラムである。クリーニング判定プログラム７２ｆは、化石のクリーニングが成功したか否かを判定するためのプログラムである。この実施例では、画像表示レイヤがレイヤ１０６であるヘクスの総数が所定数以上である場合に、つまり化石の表層が或る一定範囲以上現れている場合に、クリーニングが成功であると判断する。一方、画像表示レイヤがレイヤ１０８またはレイヤ１１０であるヘクスの総数が所定数以上である場合に、つまり化石の内層や作業台が現れ、化石の表層が一定範囲以上欠落している（壊れている）場合に、クリーングが失敗であると判定する。
【０１０７】
図示は省略するが、画像処理プログラムには、音出力プログラムやバックアッププログラムなども含まれる。音出力プログラムは、音データを用いて、キャラクタの音声や擬声音、音楽（ＢＧＭ）、効果音のような音を生成し、出力するためのプログラムである。バックアッププログラムは、プレイヤの指示やイベントの発生により、ゲームデータ（途中データや結果データ）をＲＡＭ２８ｂに記憶（セーブ）するためのプログラムである。
【０１０８】
図１２は、図１１に示したデータ記憶領域７４の具体的な内容の例を示す図解図である。図１２に示すように、データ記憶領域７４には、ヘクスデータ７４ａ、道具データ７４ｂ、タッチ座標データ７４ｃ、ハンマ選択フラグデータ７４ｄ、ドリル選択フラグデータ７４ｅおよび破壊伝播処理フラグデータ７４ｆなどのデータが記憶される。
【０１０９】
ヘクスデータ７４ａは、各ヘクスｎ（ｎ＝１，２，…，Ｎ）についてのデータ、すなわちヘクス１データ８０、ヘクス２データ８２、…を含む。各ヘクスｎデータの構成は同じであるため、ここではヘクス１データ８０について詳細に説明し、他のヘクス２データ８２、…、ヘクスＮデータについての説明は省略する。
【０１１０】
ヘクス１データ８０は、画像データ８０ａ、耐久力値データ８０ｂ、位置座標データ８０ｃ、レイヤ番号データ８０ｄ、状態データ８０ｅおよび伝播フラグデータ８０ｆによって構成される。画像データ８０ａは、ヘクス１に描画される画像についてのデータ（ポリゴンデータやテクスチャデータなど）であり、レイヤ１００−１１０毎に用意される。たとえば、テクス１が岩石および化石を含む部分である場合には、画像データ８０ａはレイヤ１００に対応する岩石の１層目の画像データ、レイヤ１０２に対応する岩石の２層目の画像データ、レイヤ１０４に対応する岩石の３層目の画像データ、レイヤ１０６に対応する化石の表層の画像データ、レイヤ１０８に対応する化石の内層の画像データおよびレイヤ１１０に対応する作業台の画像データによって構成される。また、たとえば、テクス１が岩石のみであり化石を含まない部分である場合には、画像データ８０ａは、レイヤ１００に対応する岩石の１層目の画像データ、レイヤ１０２に対応する岩石の２層目の画像データ、レイヤ１０４に対応する岩石の３層目の画像データ、レイヤ１０６に対応する画像データなし（ｎｕｌｌデータ）、レイヤ１０８に対応するｎｕｌｌデータおよびレイヤ１１０に対応する作業台の画像データを含む。
【０１１１】
耐久力値データ８０ｂは、岩石や化石が削られるか否かを判断するための耐久力値（閾値）についての数値データである。この実施例では、レイヤ１００−１１０の各々に対応して耐久力値が設定される。ただし、岩石や化石が存在しないレイヤ１００−１１０に対してはｎｕｌｌデータが記述される。つまり、画像（画像データ）が設定されていないレイヤ１００−１１０については、耐久力値が設定されない。位置座標データ８０ｃは、ヘクス１が配置される位置座標（ＸＹ座標）のデータである。なお、図示は省略するが、レイヤ１００−１１０のＺ座標（Ｚ値）は予め設定され、データ記憶領域７４の他の領域に記憶されている。レイヤ番号データ８０ｄは、ヘクス１において現在表示されている画像についての画像データが描画されているレイヤ１００，１０２，１０４，１０６，１０８，１１０すなわち画像表示レイヤを識別するための識別番号を示す数値データである。たとえば、この実施例では、レイヤ１００−１１０には、画像の表示順位を示すレイヤ番号が付されている。図３からも分かるように、視点に近い側のレイヤの画像が優先的に表示されるため、表示順位を示すレイヤ番号は次のように設定してある。具体的に言うと、レイヤ１００のレイヤ番号は「１」であり、レイヤ１０２のレイヤ番号は「２」であり、レイヤ１０４のレイヤ番号は「３」であり、レイヤ１０６のレイヤ番号は「４」であり、レイヤ１０８のレイヤ番号は「５」であり、そして、レイヤ１１０のレイヤ番号は「６」である。このレイヤ番号データ８０ｄが示す番号は、岩石や化石が削られ、対応するヘクスの画像表示レイヤが削除されると、更新（インクリメント）される。
【０１１２】
状態データ８０ｅは、ヘクス１の状態を示すデータである。この実施例では、ヘクス１の状態は、「ＲＯＣＫ（破壊力を受けていない状態）」，「ＳＨＯＣＫ（削り対象として特定された状態）」および「ＥＭＰＴＹ（削られた状態）」のいずれかであり、たとえば、２ビットのレジスタを用いて表わされる。具体的には、レジスタの値が“１０”である場合には「ＲＯＣＫ」の状態を示し、レジスタの値が“０１”である場合には「ＳＨＯＣＫ」の状態を示し、そして、レジスタの値が“００”である場合には「ＥＭＰＴＹ」の状態を示す。伝播フラグデータ８０ｆは、ヘクス１に水平方向に隣接するヘクスに破壊力を伝播させるか否かを判断するためのフラグデータである。この伝播フラグデータ８０ｆは、１ビットのレジスタで構成される。隣接するヘクスに破壊力を伝播させる場合には、伝播フラグはオン（成立）され、レジスタにデータ値「１」が設定される。一方、隣接するヘクスに破壊力を伝播させない場合には、伝播フラグはオフ（不成立）され、レジスタにデータ値「０」が設定される。
【０１１３】
道具データ７４ｂは、ハンマの画像データ９０およびドリルの画像データ９２を含む。画像データ９０は、道具を選択する場合に、ハンマのアイコンを表示するための種類（大，中，小）毎の画像データである。画像データ９２は、道具を選択する場合に、ドリルのアイコンを表示するための種類（大，中，小）毎の画像データである。
【０１１４】
タッチ座標データ７４ｃは、タッチパネル２４から入力された座標データに基づいて検出されたタッチ座標の座標データである。たとえば、タッチ座標データ７４ｃは、１フレーム毎に更新され、画像処理を実行している間に検出される座標データを時系列に従って並べたデータである。したがって、たとえば、タッチ座標データ７４ｃは、画像処理の開始時にリセット（消去）される。
【０１１５】
ハンマ選択フラグデータ７４ｄは、ハンマが選択されているかどうかを判断するためのフラグデータであり、１ビットのレジスタで構成される。ハンマが選択されている場合には、ハンマ選択フラグはオンされ、レジスタにデータ値「１」が設定される。ただし、道具が選択されていない場合やドリルが選択されている場合には、ハンマ選択フラグはオフされ、レジスタにデータ値「０」が設定される。
【０１１６】
ドリル選択フラグデータ７４ｅは、ドリルが選択されているかどうかを判断するためのフラグデータであり、１ビットのレジスタで構成される。ドリルが選択されている場合には、ドリル選択フラグはオンされ、レジスタにデータ値「１」が設定される。ただし、道具が選択されていない場合やハンマが選択されている場合には、ドリル選択フラグはオフされ、レジスタにデータ値「０」が設定される。
【０１１７】
破壊伝播処理フラグデータ７４ｆは、破壊伝播処理を実行するか否かを判断するためのフラグデータであり、１ビットのレジスタによって構成される。破壊伝播処理を実行する場合には、破壊伝播処理フラグがオンされ、レジスタにデータ値「１」が設定される。一方、破壊伝播処理を実行しない場合には、破壊伝播処理フラグがオフされ、レジスタにデータ値「０」が設定される。
【０１１８】
図示は省略するが、データ記憶領域７４には、他のデータ、フラグデータやカウンタも設けられる。
【０１１９】
具体的には、図２に示したＣＰＵコア３４が図１３および図１４に示すフロー図に従って画像処理を実行する。図１３に示すように、ＣＰＵコア３４は、画像処理を開始すると、ステップＳ１で、初期設定（画像データの設定）を実行する。図示および詳細な説明は省略するが、プレイヤは、クリーニング対象の複数の岩石から１の岩石を選択して、選択した１の岩石を用いて化石をクリーニングするため、選択された岩石についての画像データを設定するようにしてある。つまり、ＣＰＵコア３４は、選択された岩石についてのヘクスデータ７４ａをＲＯＭ２８ａから読み出し、ＲＡＭ４２のデータ記憶領域７４に展開する（書き込む）のである。続くステップＳ３ではタッチ入力が有るかどうかを判断する。つまり、ＣＰＵコア３４は、タッチパネル２４から座標データが入力されているかどうかを判断する。
【０１２０】
ステップＳ３で“ＮＯ”であれば、つまりタッチ入力が無ければ、そのまま図１４に示すステップＳ２１に進む。一方、ステップＳ３で“ＹＥＳ”であれば、つまりタッチ入力が有れば、ステップＳ５で、タッチ入力が示すタッチ座標を検出する。つまり、ＣＰＵコア３４は、タッチパネル２４から入力される座標データに基づいて、ＬＣＤ１４上のタッチ座標を検出する。
【０１２１】
なお、上述したように、この実施例では、ＬＣＤ１４の解像度とタッチパネル２４の検出精度とは同じに設定してあるため、ＬＣＤ１４およびタッチパネル２４の座標系を同じにしておけば、タッチパネル２４からの座標データが示す座標をタッチ座標として検出することができる。
【０１２２】
続くステップＳ７では、いずれかのヘクスを選択しているかどうかを判断する。つまり、ＣＰＵコア３４は、ステップＳ５で検出したタッチ座標が岩石、化石または作業台の描画領域に含まれるかどうかを判断する。ステップＳ７で“ＮＯ”であれば、つまりいずれのヘクスも選択していない場合には、ステップＳ９で道具選択かどうかを判断する。ステップＳ９で“ＮＯ”であれば、つまり道具選択でもなければ、何ら指示が無いと判断して、そのままステップＳ２１に進む。一方、ステップＳ９で“ＹＥＳ”であれば、つまり道具選択であれば、ステップＳ１１で、上述したような道具選択処理を実行してから、ステップＳ２１に進む。詳細な説明は省略するが、上述したように、道具選択処理によって、ハンマまたはドリルが選択されるとともに、その種類（大、中、小）も選択される。
【０１２３】
また、ステップＳ７で“ＹＥＳ”であれば、いずれかのヘクスを選択している場合には、ステップＳ１３で、選択されている道具がハンマであるかどうかを判断する。つまり、ＣＰＵコア３４は、ハンマ選択フラグデータ７４ｄを参照して、ハンマ選択フラグがオンであるかどうかを判断する。ステップＳ１３で“ＹＥＳ”であれば、つまりハンマ選択フラグがオンであれば、選択されている道具がハンマであると判断して、ステップＳ１５で、後述するハンマ破壊処理（図１５および図１６参照）を実行して、ステップＳ２１に進む。
【０１２４】
しかし、ステップＳ１３で“ＮＯ”であれば、つまりハンマ選択フラグがオフであれば、ハンマが選択されていないと判断して、ステップＳ１７で、選択された道具がドリルであるかどうかを判断する。つまり、ＣＰＵコア３４は、ドリル選択フラグデータ７４ｅを参照して、ドリル選択フラグがオンであるかどうかを判断する。ステップＳ１７で“ＮＯ”であれば、つまりドリル選択フラグがオフであれば、道具が選択されていないと判断して、そのままステップＳ２１に進む。一方、ステップＳ１７で“ＹＥＳ”であれば、つまりドリル選択フラグがオンであれば、選択された道具がドリルであると判断して、ステップＳ１９で、後述するドリル破壊処理（図１７参照）を実行して、ステップＳ２１に進む。
【０１２５】
図１４に示すように、ステップＳ２１では、画像表示を更新する。ここでは、たとえば、岩石をクリーニングしている場合には、１フレーム毎に、ハンマやドリルによって削られた後の画面が表示される。続くステップＳ２３では、破壊伝播処理フラグがオンであるかどうかを判断する。具体的には、ＣＰＵコア３４は、破壊伝播処理フラグデータ７４ｆを参照して、破壊伝播処理フラグがオンであるかどうかを判断する。
【０１２６】
ステップＳ２３で“ＹＥＳ”であれば、つまり破壊伝播フラグがオンであれば、破壊伝播処理を実行すると判断して、ステップＳ２５で、後述する破壊伝播処理（図１８および図１９参照）を実行して、図１３に示したステップＳ３に戻る。一方、ステップＳ２３で“ＮＯ”であれば、つまり破壊伝播フラグがオフであれば、破壊伝播処理を実行しないと判断して、ステップＳ２７で、レイヤ番号が「４」のヘクスの総数ａを算出する。つまり、ＣＰＵコア３４は、ヘクスデータ７４ａを参照して、レイヤ番号データ（８０ｄ等）が示す数値が「４」であるヘクスｎデータの個数を検出する。
【０１２７】
続くステップＳ２９では、総数ａが所定数ｋ１以上であるかどうかを判断する。ここで、所定数ｋ１は、たとえば、化石の表層の画像が設定されたヘクスの総数の８０−９０％程度の数に決定される。ただし、岩石に含まれる化石は、岩石毎に異なるため、岩石に応じて所定数ｋ１は決定される。ステップＳ２９で“ＹＥＳ”であれば、つまり総数ａが所定数ｋ１以上であれば、ステップＳ３１で、クリーニング成功処理を実行して、画像処理を終了する。図示は省略するが、たとえば、クリーニング成功処理は、破損していない化石の画像を含み、化石のクリーニングに成功した様子を画面表示したり、効果音を出力したり、または、それらの両方を実行したりする処理である。
【０１２８】
また、ステップＳ２９で“ＮＯ”であれば、つまり総数ａが所定数ｋ１未満であれば、ステップＳ３３で、レイヤ番号が「５」または「６」のヘクスの総数ｂを算出する。つまり、ＣＰＵコア３４は、ヘクスデータ７４ａを参照して、レイヤ番号データ（８０ｄ等）が示す数値が「５」または「６」であるヘクスｎデータの個数を検出する。そして、ステップＳ３５で、総数ｂが所定数ｋ２以上であるかどうかを判断する。つまり、化石が壊れている程度を判断するのである。所定数ｋ２は、たとえば、次のように決定される。まず、作業台が描画されたヘクスの総数から化石の内層の画像が設定されたヘクスの総数を減算して、クリーニング作業の当初から化石の画像が設定されておらず、作業台の画像が設定されているヘクスの数（以下、「作業台の純ヘクス数」という。）を算出する。この作業台の純ヘクス数を超えて作業台の画像が表示されたヘクスが検出された場合（化石の内層をも削り作業台が表示されている場合）や化石の内層の画像が表示されたヘクスが存在する場合に、化石が壊れてしまっている部分が存在すると言える。したがって、所定数ｋ２は、化石の内層の画像が設定されたヘクスの総数の２０−３０％程度の数に決定される。ただし、上述したように、岩石に含まれる化石は、岩石毎に異なるため、岩石に応じて所定数ｋ２は決定される。
【０１２９】
ステップＳ３５で“ＮＯ”であれば、つまり総数ｂが所定数ｋ２未満であれば、化石に傷を付けたり、壊してしまっている程度が低いと判断して、クリーニング処理を続行すべく、そのままステップＳ３に戻る。一方、ステップＳ３５で“ＹＥＳ”であれば、つまり総数ｂが所定数ｋ２以上であれば、化石に傷を付けたり、壊してしまっている程度が高いと判断して、ステップＳ３７で、クリーニング失敗処理を実行し、画像処理を終了する。図示は省略するが、たとえば、クリーニング失敗処理は、壊れた化石の画像を含み、クリーニングに失敗した様子を画面表示したり、失敗したことを示すような効果音を出力したり、またはそれら両方を実行したりする処理である。
【０１３０】
図１５および図１６は、図１３のステップＳ１５に示したハンマ破壊処理のフロー図である。図１５に示すように、ＣＰＵコア３４は、ハンマ破壊処理を開始すると、ステップＳ５１で、前フレームのタッチ入力が有るかどうかを判断する。つまり、ＣＰＵコア３４は、タッチ座標データ７４ｃを参照して、前フレームのタッチ座標の座標データが記憶されているかを判断することにより、ハンマを用いて岩石や化石を既に叩いているかどうかを判断する。
【０１３１】
ステップＳ５１で“ＹＥＳ”であれば、つまり前フレームのタッチ入力が有れば、図１６に示すように、そのままハンマ破壊処理をリターンする。一方、ステップＳ５１で“ＮＯ”であれば、つまり前フレームのタッチ入力が無ければ、ステップＳ５３で、破壊力値Ｐを設定する。この実施例では、選択されたハンマの種類（大，中，小）に応じて破壊力値Ｐが設定される。ただし、プレイヤ（またはプレイヤキャラクタ）のレベルやゲームの進行状況に応じて、破壊力値Ｐを決定したり、ハンマの種類に応じて設定されている破壊力値Ｐを補正したりしてもよい。
【０１３２】
続くステップＳ５５では、各ヘクスの状態を設定する。つまり、ＣＰＵコア３４は、ヘクスｎデータ（８０，８２，…）の状態データ（８０ｅ等）を設定する。具体的には、レイヤ番号データ（８０ｄ等）が示すレイヤ番号が「１」−「５」であるヘクスｎデータについては、状態データを“１０”に設定し、レイヤ番号が「６」であるヘクスｎデータについては、状態データを“００”に設定する。次にステップＳ５７では、検出されたタッチ座標に基づいて選択されたヘクスを特定する。つまり、ＣＰＵコア３４は、タッチ座標データ７４ｃを参照して、現フレームのタッチ座標を検出する。次に、ＣＰＵコア３４は、ヘクスｎデータの位置座標データ（８０ｃ）を参照して、当該位置座標データが示す位置座標のうち、現在のタッチ座標と最も距離が小さい位置座標を有するヘクスを、選択されたヘクスすなわち指示ヘクスとして特定する。
【０１３３】
続いて、図１６に示すステップＳ５９では、ステップＳ５７で特定されたヘクス（指示ヘクス）の状態が「ＲＯＣＫ」であるかどうかを判断する。つまり、ＣＰＵコア３４は、指示ヘクスのヘクスｎデータに含まれる状態データが“１０”であるかどうかを判断する。ステップＳ５９で“ＮＯ”であれば、つまり指示ヘクスの状態が「ＲＯＣＫ」でなければ、そのまま後述するステップＳ７５に進む。ステップＳ５９で“ＹＥＳ”であれば、つまり指示ヘクスの状態が「ＲＯＣＫ」であれば、ステップＳ６１で、当該特定されたヘクス（指示ヘクス）の状態を「ＳＨＯＣＫ」に変更する。つまり、ＣＰＵコア３４は、指示ヘクスのヘクスｎデータに含まれる状態データを“０１”に更新する。
【０１３４】
続くステップＳ６３では、当該特定されたヘクス（指示ヘクス）の耐久力値と、破壊力値Ｐとに基づいて破壊すべきレイヤ数を算出する。つまり、Ｚ軸方向に伝播する破壊力によって削られるレイヤ数が求められる。上述したように、指示ヘクスの画像表示レイヤに設定された耐久力値から破壊力値Ｐを減算し、破壊力値Ｐが残っている場合に、その画像表示レイヤの下のレイヤに設定された耐久力値から残っている破壊力値Ｐを減算する。このような処理を、破壊力値Ｐが０になるまで繰り返す。ここでは、耐久力値が０以下となった破壊（削除）すべきレイヤの数を算出しているのである。
【０１３５】
次のステップＳ６５では、特定されたヘクス（指示ヘクス）の破壊処理を実行する。つまり、ＣＰＵコア３４は、ステップＳ６３で破壊すべきであると判断された（耐久力値が０以下になった）レイヤに設定された画像（画像データ）を消去する。そして、ステップＳ６７では、特定されたヘクス（指示ヘクス）の伝播フラグをオンする。つまり、ＣＰＵコア３４は、指示ヘクスに対応するヘクスｎデータの伝播フラグデータを示すレジスタにデータ値「１」を設定する。
【０１３６】
続いて、ステップＳ６９では、特定されたヘクス（指示ヘクス）の状態を「ＥＭＰＴＹ」に変更する。つまり、ＣＰＵコア３４は、指示ヘクスに対応するヘクスｎデータの状態データを“００”に設定する。次いで、ステップＳ７１では、特定されたヘクスのレイヤ番号を算出されたレイヤ数だけインクリメントする。つまり、ＣＰＵコア３４は、指示ヘクスに対応するヘクスｎデータに含まれるレイヤ番号データが示すレイヤ番号を、ステップＳ６３で算出されたレイヤ数だけ加算し、レイヤ番号データを更新する。ただし、算出後のレイヤ番号が示すレイヤに画像が設定されていない（ｎｕｌｌデータが記憶されている）場合には、さらにレイヤ番号が加算（インクリメント）される。さらに、ステップＳ７３で、破壊力値Ｐを所定数減算する。この実施例では、指示ヘクスにおいて、ハンマで叩いたときに画像表示レイヤとして設定されていたレイヤ１００−１１０に設定された耐久力値が破壊力値Ｐから減算される。
【０１３７】
そして、ステップＳ７５では、破壊力値Ｐが０以下であるかどうかを判断する。ステップＳ７５で“ＮＯ”であれば、つまり破壊力値Ｐが０以下でなければ、ステップＳ７７で、破壊伝播処理フラグをオンして、図１３および図１４に示した画像処理にリターンする。つまり、ステップＳ７７では、ＣＰＵコア３４は、破壊伝播処理フラグデータ７４ｆを示すレジスタにデータ値「１」を設定する。一方、ステップＳ７５で“ＹＥＳ”であれば、つまり破壊力値Ｐが０以下であれば、そのまま画像処理にリターンする。
【０１３８】
図１７は、図１３のステップＳ１９に示したドリル破壊処理のフロー図である。ここでは、径小のドリルが選択された場合の破壊処理について説明するが、径の大きさによって、レイヤ番号を検出する（Ｓ９３）ヘクスの範囲が異なる以外は、径中、径大のドリルが選択された場合も同様である。
【０１３９】
図１７に示すように、ＣＰＵコア３４は、ドリル破壊処理を開始すると、ステップＳ９１で、検出されたタッチ座標に基づいて選択されたヘクスを特定する。つまり、タッチ位置のヘクスが指示ヘクスとして特定される。この特定方法は、上述のステップＳ５７の場合と同様である。続くステップＳ９３では、特定されたヘクス（指示ヘクス）とその周辺のヘクスのレイヤ番号を検出する。つまり、ＣＰＵコア３４は、指示ヘクスおよびその指示ヘクスの周囲に存在（隣接）する６つのヘクスについてのヘクスｎデータに含まれるレイヤ番号データを参照する。
【０１４０】
そして、ステップＳ９５では、検出したレイヤ番号がすべて「６」であるかどうかを判断する。つまり、指示ヘクスおよびその指示ヘクスの周囲のヘクスが現在表示する画像がすべて作業台であるかどうかを判断するのである。ステップＳ９５で“ＹＥＳ”であれば、つまり検出したレイヤ番号がすべて「６」である場合には、当該部分をドリルによって削ることができないと判断して、そのまま図１３および図１４に示した画像処理にリターンする。一方、ステップＳ９５で“ＮＯ”であれば、つまり検出したレイヤ番号がいずれか１つでも「６」でない場合には、ステップＳ９７で、ステップＳ９３で検出したヘクスのレイヤ番号を比較する。そして、ステップＳ９９では、最もレイヤ番号の小さいヘクスを選択し、選択したヘクス画像表示レイヤに設定されている耐久力値から破壊力値を減算する。ただし、最もレイヤ番号の小さいヘクスが複数有る場合には、ＣＰＵコア３４は、それらすべてのヘクスの画像表示レイヤに設定されている耐久力値から破壊力値を減算する。
【０１４１】
続くステップＳ１０１では、耐久力値が０以下であるかどうかを判断する。ここでは、ステップＳ９９において減算処理を実行したヘクスの画像表示レイヤに設定されている耐久力値が０以下であるかどうかを判断するのである。ステップＳ１０１で“ＮＯ”であれば、つまり耐久力値が０よりも大きければ、そのまま画像処理にリターンする。一方、ステップＳ１０１で“ＹＥＳ”であれば、つまり耐久力値が０以下であれば、ステップＳ１０３で、当該ヘクスの破壊処理を実行する。つまり、耐久力値が０になった画像表示レイヤに設定されている画像（画像データ）を消去する。そして、ステップＳ１０５で、ステップＳ１０３において破壊処理されたヘクスのレイヤ番号を１インクリメントして、画像処理にリターンする。ただし、ステップＳ１０５では、上述したステップＳ７１と同様に、インクリメントした後のレイヤ番号が示すレイヤに画像が設定されていない場合には、さらにレイヤ番号が１インクリメントされる。
【０１４２】
なお、ステップＳ９７において、最もレイヤ番号が小さいヘクスが複数有る場合には、ステップＳ９９〜Ｓ１０３の処理は、それらすべてについて個別に実行される。
【０１４３】
図１８および図１９は、図１４に示したステップＳ２５の破壊伝播処理のフロー図である。ただし、この破壊伝播処理は、ハンマを用いる場合の処理であり、指示ヘクスと水平方向に隣接するヘクス等、指示ヘクスの周囲のヘクスに破壊力を伝播させるとともに、当該周囲のヘクスから垂直方向（Ｚ軸方向）に破壊力を伝播させ、ヘクスｎにおいて耐久力値が０以下のレイヤを削除するための処理である。
【０１４４】
図１８に示すように、ＣＰＵコア３４は、破壊伝播処理を開始すると、ステップＳ１２１で、変数ｎを初期化する（ｎ＝１）。ここで、変数ｎはヘクスｎをカウントするために利用される。続くステップＳ１２３では、ヘクスｎの伝播フラグがオンであるかどうかを判断する。ここでは、ヘクスｎに対応するヘクスｎデータに含まれる伝播フラグデータを示すレジスタにデータ値「１」が設定されているかどうかを判断する。
【０１４５】
ステップＳ１２３で“ＹＥＳ”であれば、つまりヘクスｎの伝播フラグがオンであれば、そのまま後述するステップＳ１３３に進む。一方、ステップＳ１２３で“ＮＯ”であれば、つまりヘクスｎの伝播フラグがオフであれば、ステップＳ１２５で、ヘクスｎの状態が「ＲＯＣＫ」であるかどうかを判断する。
【０１４６】
ステップＳ１２５で“ＮＯ”であれば、つまりヘクスｎの状態が「ＲＯＣＫ」でなければ、そのままステップＳ１３３に進む。一方、ステップＳ１２５で“ＹＥＳ”であれば、つまりヘクスｎの状態が「ＲＯＣＫ」であれば、ステップＳ１２７で、ヘクスｎに隣接するヘクスの伝播フラグがオンであるかどうかを判断する。ステップＳ１２７で“ＮＯ”であれば、つまりヘクスｎに隣接するヘクスの伝播フラグがオフであれば、そのままステップＳ１３３に進む。ただし、厳密には、複数のヘクスがヘクスｎに隣接する場合には、ヘクスｎに隣接するすべてのヘクスの伝播フラグがオフである場合にのみ、ステップＳ１２７で“ＮＯ”となる。
【０１４７】
また、ステップＳ１２７で“ＹＥＳ”であれば、つまりヘクスｎに隣接するヘクスの伝播フラグがオンであれば、ステップＳ１２９で、ヘクスｎに隣接するヘクスのレイヤ番号がヘクスｎのレイヤ番号以上かどうかを判断する。つまり、ヘクスｎに隣接するヘクスとヘクスｎのレイヤが同じか、またはヘクスｎに隣接するヘクスの方がヘクスｎよりもレイヤが低いかどうかを判断しているのである。
【０１４８】
ステップＳ１２９で“ＮＯ”であれば、つまりヘクスｎに隣接するヘクスのレイヤ番号がヘクスｎのレイヤ番号よりも小さい場合には、そのままステップＳ１３３に進む。これは、ヘクスｎに隣接するヘクスの画像表示レイヤがヘクスｎの画像表示レイヤよりも下である場合には、水平方向に破壊力が伝播しないからである。一方、ステップＳ１２９で“ＹＥＳ”であれば、つまりヘクスｎに隣接するヘクスのレイヤ番号がヘクスｎのレイヤ番号以上である場合には、ステップＳ１３１で、ヘクスｎの状態を「ＳＨＯＣＫ」に変更して、ステップＳ１３３に進む。ただし、ステップＳ１２９の処理は、ヘクスｎに隣接するヘクスのうち、伝播フラグがオンであるヘクスの各々について個別に実行される。
【０１４９】
ステップＳ１３３では、変数ｎをインクリメントする（ｎ＝ｎ＋１）。そして、ステップＳ１３５では、変数ｎが最大値ｍａｘであるかどうかを判断する。ここで、最大値ｍａｘは、ヘクスの総数（Ｎ）であり、予め決定されている。ステップＳ１３５で“ＮＯ”であれば、つまり変数ｎが最大値ｍａｘでなければ、ステップＳ１２３に戻る。一方、ステップＳ１３５で“ＹＥＳ”であれば、つまり変数ｎが最大値ｍａｘであれば、図１９に示すステップＳ１３７で、状態が「ＳＨＯＣＫ」であるヘクスが有るかどうかを判断する。ここでは、ＣＰＵコア３４は、ヘクスデータ７４ａのすべてのヘクスｎデータを参照して、状態データが“０１”を示すヘクスｎデータが有るかどうかを検出するのである。
【０１５０】
ステップＳ１３７で“ＮＯ”であれば、つまり状態が「ＳＨＯＣＫ」であるヘクスが無ければ、そのままステップＳ１５１に進む。一方、ステップＳ１３７で“ＹＥＳ”であれば、つまり状態が「ＳＨＯＣＫ」であるヘクスが有れば、ステップＳ１３９で、状態が「ＳＨＯＣＫ」であるヘクスの耐久力値と、破壊力値Ｐとに基づいて破壊すべきレイヤ数を算出する。このステップＳ１３９の処理は、上述したステップＳ６３の処理と同じである。続くステップＳ１４１では、状態が「ＳＨＯＣＫ」のヘクスの破壊処理を実行する。ここでは、状態が「ＳＨＯＣＫ」のヘクスについて、ステップＳ１３９において破壊すべきであると判断されたレイヤの画像（画像データ）を消去する。
【０１５１】
続くステップＳ１４３では、状態が「ＳＨＯＣＫ」のヘクスの伝播フラグをオンし、ステップＳ１４５で、状態が「ＳＨＯＣＫ」のヘクスの状態を「ＥＭＰＴＹ」に変更する。続いて、ステップＳ１４５では、状態が「ＥＭＰＴＹ」に変更されたヘクスのレイヤ番号を算出されたレイヤ数だけインクリメントし、ステップＳ１４９で、破壊力値Ｐを所定数減算する。ここでは、上述したステップＳ７３の処理と同様に、破壊力値Ｐから、画像が設定された最上位のレイヤに設定される耐久力値が減算される。
【０１５２】
そして、ステップＳ１５１では、破壊力値Ｐが０以下であるかどうかを判断する。ステップＳ１５１で“ＮＯ”であれば、つまり破壊力値Ｐが０よりも大きければ、そのまま図１３および図１４に示した画像処理にリターンする。一方、ステップＳ１５１で“ＹＥＳ”であれば、つまり破壊力値Ｐが０以下であれば、ステップＳ１５３で、破壊力伝播処理フラグをオフしてから、画像処理にリターンする。
【０１５３】
この実施例によれば、ハンマで叩いた場合には放射状に破壊力を伝播させ、また、ドリルで削る場合には削り範囲において画像表示レイヤが最上位であるヘクスのみに破壊力をおよばせて、削り対象のヘクスの耐久力値が無くなると、当該ヘクスの画像表示レイヤに設定された画像を消去することにより、岩石や化石の部分を削るので、化石をクリーングしている様子を現実的に表現することができる。つまり、より複雑で細かい画像処理を実行することができる。
【０１５４】
なお、この実施例では、ハンマで岩石や化石を削る場合に、その破壊力を放射状に伝播させるようにするために、各マス目をヘクスの形状にしたが、三角形、四角形、五角形のような比較的単純な形状としてもよいし、八角形以上の多角形としてもよい。
【０１５５】
また、この実施例では、ハンマやドリルはそれぞれ３種類用意されるようにしたが、ハンマやドリルはそれぞれ１種類であってもよい。ハンマとドリルとの違いにより、破壊力のおよぼし方が異なり、それぞれの道具を用いた場合の特徴を生かした画面表示を行っている点に着目されたい。
【０１５６】
さらに、この実施例では、ポインティングデバイスとして、タッチパネルを用いるようにしたが、ペンタブレット、タッチパッド、コンピュータマウスのような他のポインティングデバイスを用いることも可能である。ただし、他のポインティングデバイスを用いる場合には、画面上の指示位置を示すためのマウスポインタのような指示画像を表示する必要がある。
【０１５７】
さらにまた、ゲーム装置の構成は、上述の実施例の構成に限定されるべきでない。たとえば、ＬＣＤは１つでもよく、タッチパネルは２つのＬＣＤのそれぞれに設けるようにしてもよい。
【図面の簡単な説明】
【０１５８】
【図１】図１はこの発明のゲーム装置の一実施例を示す図解図である。
【図２】図２は図１に示すゲーム装置の電気的な構成を示すブロック図である。
【図３】図３は図１に示すゲーム装置の第２のＬＣＤに画面を表示するための画面データの一例を示す図解図である。
【図４】図４は視点から見たレイヤ内の各領域および各領域の構成を説明するための図解図である。
【図５】図５はハンマを用いて岩石や化石を削る場合のハンマの破壊力の伝播する様子の模式図である。
【図６】図６はハンマを用いて岩石や化石を削る場合の水平方向への破壊力の伝播方法の一例を説明するための図解図である。
【図７】図７はハンマを用いて岩石や化石を削る場合の水平方向への破壊力の伝播方法の他の例を説明するための図解図である。
【図８】図８はドリルを用いて岩石や化石を削る場合に削り対象となるヘクスを説明するための図解図である。
【図９】図９はドリルを用いて岩石や化石を削る場合においてスライド操作をしたときに削り対象となるヘクスを説明するための図解図である。
【図１０】図１０は岩石や化石を削った後に形成された穴を表現するための表示方法を説明するための図解図である。
【図１１】図１１は図２に示すＲＡＭのメモリマップの一例を示す図解図である。
【図１２】図１２は図１１に示すＲＡＭのデータ領域の具体的な内容を示す図解図である。
【図１３】図１３は図２に示すＣＰＵコアの画像処理の一部を示すフロー図である。
【図１４】図１４は図２に示すＣＰＵコアの画像処理の他の一部であって、図１３に後続するフロー図である。
【図１５】図１５は図２に示すＣＰＵコアのハンマ破壊処理の一部を示すフロー図である。
【図１６】図１６は図２に示すＣＰＵコアのハンマ破壊処理の他の一部であって、図１５に後続するフロー図である。
【図１７】図１７は図２に示すＣＰＵコアのドリル破壊処理を示すフロー図である。
【図１８】図１８は図２に示すＣＰＵコアの破壊伝播処理の一部を示すフロー図である。
【図１９】図１９は図２に示すＣＰＵコアの破壊伝播処理の他の一部であって、図１８に後続するフロー図である。
【符号の説明】
【０１５９】
１０  …ゲーム装置
１２，１４  …ＬＣＤ
１６，１６ａ，１６ｂ  …ハウジング
２２  …操作スイッチ
２４  …タッチパネル
２６  …スティック
２８  …メモリカード
２８ａ  …ＲＯＭ
２８ｂ，４２  …ＲＡＭ
３４  …ＣＰＵコア
３６ａ，３６ｂ  …スピーカ
４４，４６  …ＧＰＵ
４８  …Ｉ／Ｆ回路
５０  …ＬＣＤコントローラ
５２，５４  …ＶＲＡＭ
【図１】
0004989357.tif 000002
【図２】
0004989357.tif 000003
【図３】
0004989357.tif 000004
【図４】
0004989357.tif 000005
【図５】
0004989357.tif 000006
【図６】
0004989357.tif 000007
【図７】
0004989357.tif 000008
【図８】
0004989357.tif 000009
【図９】
0004989357.tif 000010
【図１０】
0004989357.tif 000011
【図１１】
0004989357.tif 000012
【図１２】
0004989357.tif 000013
【図１３】
0004989357.tif 000014
【図１４】
0004989357.tif 000015
【図１５】
0004989357.tif 000016
【図１６】
0004989357.tif 000017
【図１７】
0004989357.tif 000018
【図１８】
0004989357.tif 000019
【図１９】
0004989357.tif 000020