ゲームプログラムおよびゲーム装置
【課題】 簡単な処理によってバラエティに富んだ問題画像を生成する。
【解決手段】 表示部には画像パターン(MP1、MP2)が表示され、画像パターンMP2は種々のサイズで複数表示されている。一方画像パターンMP1は1個だけ表示されている。画像パターンMP2は、種々のサイズに変形され、かつ回転して表示される。
このように、種々のサイズ、回転方向の第2の画像パターンの中に第1の画像パターンが混在する状況において、全体の表示領域を予め定められた複数の分割領域に区分することで、偏り具合を調整することを可能とし、自動生成され、毎回、バラエティに富んだゲームを提供することができる。また、複数の異なる分割パターンを予め用意し、分割領域の形状及び面積に変化を持たせることによって自動生成される問題画像の難易度を調整して問題画像を提供することができる。
【解決手段】 表示部には画像パターン(MP1、MP2)が表示され、画像パターンMP2は種々のサイズで複数表示されている。一方画像パターンMP1は1個だけ表示されている。画像パターンMP2は、種々のサイズに変形され、かつ回転して表示される。
このように、種々のサイズ、回転方向の第2の画像パターンの中に第1の画像パターンが混在する状況において、全体の表示領域を予め定められた複数の分割領域に区分することで、偏り具合を調整することを可能とし、自動生成され、毎回、バラエティに富んだゲームを提供することができる。また、複数の異なる分割パターンを予め用意し、分割領域の形状及び面積に変化を持たせることによって自動生成される問題画像の難易度を調整して問題画像を提供することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画面に種々の画像パターンよりなる画像を表示する、まちがい探しゲーム等のゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
近年、まちがい探しゲームが、ぼけ防止等を目的とした、頭脳トレーニングとして注目されている。
【0003】
そして、まちがい探しゲームに関して、(従来技術1)複数の問題画像を予め準備しておくもの、(従来技術2)正しい画像パターンと類似の画像パターンとをランダムに配列して問題画像を生成するもの、(従来技術3)正しい画像パターンと類似の画像パターンとを所定の規則に従って、拡大、縮小しつつ、ランダムに配列して問題画像を生成するものが存在した。
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来技術1は、問題数に等しい問題画像を生成する必要があり、ゲーム開発の負荷が多大であった。
【0005】
従来技術2は、問題画像生成のために、正しい画像パターンと類似の画像パターンとを自由配列する必要があり、両パターンのサイズは近似したものとなり、問題画像の変化に乏しくなる。このためバラエティあふれる出題ができないという問題があった。
【0006】
従来技術3は、拡大率・縮小率の変化を大にすると、問題画像における生成する画像パターンの分布に偏りが生じ、拡大率・縮小率の変化を小にすると、生成する問題画像が単調になるという問題があった。
【0007】
本発明はこのような従来の問題点を解消すべく創案されたもので、簡単な処理によって表示画面の分布の偏りを調整しつつ、バラエティに富んだ問題画像を制御手段によって自動で生成させることを目的とする。
【課題を解決するための手段】
【0008】
本発明は、複数の画像パターンを表示手段に表示するためのゲームプログラムであって、前記画像パターンを設定する画像パターン設定ステップと、前記表示手段を複数の表示領域に分割する表示領域分割ステップと、前記画像パターンを前記各表示領域に配置する際に順次配置される領域を割り振る表示領域選択ステップと、前記画像パターンを前記選択された領域内に配置する画像パターン配置ステップとを備える。
【0009】
これによって、簡単な処理によって表示画面の分布の偏りを調整しつつ、バラエティに富んだ問題画像を制御手段によって自動で生成させ得る。
【0010】
本発明に係るゲームプログラムにおいて、前記表示領域分割ステップは、予め設定された所定の領域分割によってなる。
【0011】
これによって、好ましい領域分割方法を適宜選択的に適用でき、表示画面の分布の均一性を保証し得る。
【0012】
本発明に係るゲームプログラムは、前記画像パターン配置に、重なりを判定する為の半径を設定する重なり判定半径設定ステップをさらに備え、前記画像パターン配置ステップは、前記新たな画像パターンと他の画像パターンとの距離が、前記両画像パターンの重なり判定半径の和より小さいときに、重なりが生じていると判断する。
【0013】
これによって重なりを容易な演算処理によって検出でき、その解消も容易である。
【0014】
本発明に係るゲーム装置は、画像パターンを表示する表示手段と、遊戯者が前記画像パターンを選択するための操作入力手段と、前記画像パターンを設定する画像パターン設定手段と、前記表示手段を複数の表示領域に分割する表示領域分割手段と、前記画像パターンを前記各表示領域に配置する際に順次配置される領域を割り振る表示領域選択手段と、前記画像パターンを前記選択された領域内に配置する画像パターン配置手段とを備える。
【0015】
これによって、簡単な処理によって表示画面の分布の偏りを回避しつつ、バラエティに富んだ問題画像を生成し得る。
【発明の効果】
【0016】
本発明によれば、簡単な処理によって、表示領域全体への表示画像の分布の偏りを調整しつつ、バラエティに富んだ問題画像を制御手段によって自動で生成し得る。
【発明を実施するための最良の形態】
【0017】
次に本発明に係るゲームプログラムおよびゲーム装置の実施例を図面に基づいて説明する。
【実施例】
【0018】
[ゲーム装置]
図1は、本発明に係る画像処理装置をゲーム装置に適用した実施例を示す正面図、図2は、図1のゲーム装置を示すブロック図、図3は、図1のゲーム装置における表示部の領域分けを示す正面図、図6は、ゲーム装置で使用される画像パターンの例を示す図、図7は、他の画像パターンを示す図、図10は選択的に使用される複数の領域分割パターンを示す図である。
【0019】
図1において、ゲーム装置2000はいわゆる携帯型のゲーム装置であり、ゲーム装置2000には、操作ボタン等の操作入力部1140および液晶ディスプレイ等の表示部1032が設けられている。
【0020】
表示部1032には第1の画像パターンMP1および第2の画像パターンMP2が表示され、画像パターンMP2は種々のサイズでランダムな角度に偏ることなく複数表示されている。一方画像パターンMP1はいずれかのサイズでランダムな角度に1個だけ表示されている。
【0021】
画像パターンMP1、MP2は蝶を模した形状を有し、例えば図6の画像パターン6A、6B、6C、6D、6Eから選択されている。すなわち、画像パターンMP1として画像パターン6Cが選択され、画像パターンMP2として画像パターン6Eが選択されている。また画像パターン6Cは、種々のサイズに変形され(例えば、32×32ピクセル、40×40ピクセル、48×48ピクセル、56×56ピクセル、64×64ピクセルの5段階の大小サイズ)、かつ回転して(例えば、基準方向となる角度を基準として22.5度刻みで16段階の回転方向)表示される。このように、種々のサイズ、回転方向の第2の画像パターン6Cの中に第1の画像パターン6Eが混在する状況において、画像パターン6Eを捜索することがゲームの目的とされ、きわめて有効な頭脳トレーニングとして評価されている。
【0022】
なお、画像パターン6A〜6Eの選択、変形サイズ、回転方向はゲーム開始時に自動生成され、また、図7に示すように他の種々の画像パターン7A〜7G(例えば電球を模した画像パターン)も容易されており、毎回、バラエティに富んだゲームを楽しむことができる。
【0023】
図2において、ゲーム装置(画像処理装置)2000は、全体を制御するCPU1000と、ゲーム装置2000を起動させるためのプログラムを格納するブートロム1010と、CPU301によって実行されるプログラムやデータを格納するシステムメモリ1020と、CPU1000の動作時間を管理するタイマ1022とを有する。
【0024】
ゲーム装置2000には、表示すべき画像を生成、制御するビデオプロセッサ1030と、生成される画像の元となる画像や生成された画像を記憶するグラフィックメモリ1040が設けられ、ビデオプロセッサ1030は、生成した画像を表示部1032に表示する。
【0025】
ゲーム装置2000には、音声を生成するオーディオプロセッサ1070と、生成される音声のデータを記憶するオーディオメモリ1080が設けられ、オーディオプロセッサ1070はオーディオメモリ1080に記憶されたデータに基づいて音声のデジタル信号を生成し、スピーカ1072やヘッドフォン(図示省略)によって音声を出力する。
【0026】
ゲーム装置2000には、プログラムデータ等の外部記憶メディアドライブとしてCD−ROMドライブ1090等が設けられ、ドライブ1090において記憶メディアに格納されたゲームプログラムやデータをシステムメモリ1020、グラフィックメモリ1040、オーディオメモリ1080に読み込む。
【0027】
ゲーム装置2000にはメモリインターフェース1130が設けられ、遊戯者が保有するメモリカードA、Bに対する読み書きが可能である。これによって、各ユーザのゲーム成績、中途で終了したゲームの状態等を登録し得る。
【0028】
ゲーム装置2000には、通信インターフェース1160を介してモデム1150が接続され、ネットワークを介して複数のゲーム装置2000によるネットワークゲームを実行でき、また、サーバ(図示省略)から、ゲーム成績の統計、各遊戯者順位、種々のイベント等、ゲームに関する種々の情報を取得し得る。
【0029】
図3に示すように、表示部1032は、例えば、4個の表示領域a1、a2、a3、a4に分割され、画像パターンMP2の配置決定に際して、CPU1000は、事前に分割された各表示領域(ここではa1〜a4の4つの領域)を循環するように、順次選択しつつ、各表示領域(a1〜a4)内でランダムに画像パターンMP2の位置を決定する。これによって、画像パターンMP2の分布が均一化され、分布の偏りを防止しうる。
【0030】
すなわち、領域分けと、各領域への均等割り当てという、比較的簡単な処理によって、各段階のサイズごとの画像パターンが1カ所に偏ることなく、また散らばり具合の調整を行いつつ、バラエティに富んだ問題画像を生成し得る。なお、表示領域の分割個数、分割形状は種々選択可能であるが、一般に、表示領域a1〜a4自体を均等な面積、形状、配置とするほど、画像パターンMP2の分布を均一化し得る。また、分割される領域の数を多くするほど画像パターンMP2の分布を均一化し得る。
【0031】
図10に示すように、複数の領域分割パターンP1、P2、P3、P4を予め設定しておき、ゲーム装置2000において何れの領域分割パターンを用いるか適宜選択してもよい。例えば、領域分割パターンP1は、図3と同様の、上下左右均等4分割の表示領域DA1、DA2、DA3、DA4よりなり、表示領域全体の長方形の四方全体にまんべんなく散らばる一般的なパターンである。領域分割パターンP2は、水平3等分割の表示領域DA1、DA2、DA3よりなり、P1と比較すると若干だが上下方向のどちらかに偏りの出る可能性が高い。領域分割パターンP3は、水平3等分割、上下2等分割の表示領域DA1、DA2、DA3、DA4、DA5、DA6よりなり、分割数が多い分、P1やP2よりも更に全体にまんべんなく配置される。領域分割パターンP4は、領域分割パターンP1の上下左右等分割(DA1、DA2、DA3、DA4)に加え、中央に45度傾斜の正方形領域(DA5)を備える。
【0032】
この場合、例えば領域分割パターンP2と領域分割パターンP3を比較すると、P2を上下方向に更に分割したP3のほうが表示領域全体に対する分布の偏差は少なくなるというメリットがある。しかし表示すべき画像パターンの個数が極端に少ない場合、例として5個以下の場合には、領域の番号の若い順から配置を行うとDA6には何も表示されないという不具合が生ずる欠点もある。そのため、表示する画像パターンの個数によっては各領域への配置サイクルの順番をランダムに決定するというような工夫が望ましい。また、図11のように、例えば表示画面が非常に大きい場合などで、そのままでは画面全体を見回すことが遊戯者にとっては難しく、結果として難易度が高い場合などに調整を行いたい場合には、あえて中心部だけを狭い面積(分割パターンP4)にすると、表示領域周辺部分はまばらに、表示領域中心部には密集して画像パターンが表示される。この方式では、分解された各領域ごとの画像パターンの分布密度は領域の面積の大きさに反比例するので、これによって難易度の調整を図ったり、またあえて表示領域の外周側の領域を一様に狭くすることによって周辺部に画像パターンの分布を偏らせるような調整(分割パターンP5)を行うことも可能となり、バラエティあふれる画像の表示による出題が可能となる。
【0033】
さらに、図6の画像パターン6Eについて示すように、各画像パターン6A〜6Eには、重なり判定判断を行うコリジョン領域CC(6E)を決定するコリジョン半径rc(6E)が設定され、各画像パターン6A〜6Eにのコリジョン領域CC(6A)〜CC(6E)が相互に重ならないように、画像パターンMP1、MP2の配置が設定される。ここでいうコリジョンとは、各画像パターン同士の重なりを判定するための判定要素という意味である。
【0034】
これによって、各画像パターンMP1、MP2の全部または一部が、他の画像パターンMP1、MP2によって隠蔽されることが防止され、円滑なゲーム進行が保証されている。
【0035】
第1の画像パターンMP1とされる画像パターン6Eには、操作入力部1140によって画像パターンMP1を選択するためのピック領域PA(6E)が設定され、遊戯者は、画像パターンMP1を発見したときに、画像パターンMP1を指示し得る。ピック領域は画像パターンMP1以外の画像パターンMP2には設けられず、誤った選択に対しては無反応である。これによって無用な検出動作が省略され、ゲームの円滑な進行が図られる。ここでいうピックとは、遊技者が正解と思しき画像をピックアップする際の操作入力が行われた際の判断処理のための要素という意味である。
【0036】
図7においては、電球の画像パターン7Fについて、これを包囲するコリジョン領域CC(7F)、コリジョン半径rc(7F)、ピック領域PA(7F)が設定可能であり、電球および発光を模した画像パターン7Bについて、これを包囲するコリジョン領域CC(7B)、コリジョン半径rc(7B)、ピック領域PA(7B)が設定可能である。
[ゲームプログラム]
【0037】
次に、ゲーム装置2000で実行されるゲームプログラムについて説明する。
【0038】
[実施例1]
図4は、本発明に係るゲームプログラムの実施例1を示すフローチャート、図5は、図4におけるコリジョン処理を示すフローチャートである。
【0039】
図4において、ゲームプログラムは以下の各ステップによって実行される。
【0040】
ステップS401:まず、予め定められた表示領域分割パターンのいずれかのパターン(例えばP1)に基づいて、各分割領域(例えばa1〜a4)を設定するとともに、画像パターンMP1、MP2として表示すべき画像パターンを選択し、ステップS402に進む。
【0041】
ステップS402:表示すべき画像パターンMP1、MP2の連続番号i(0〜N)、各画像パターンMP1、MP2を表示すべき表示領域の番号a(0〜3)、画像パターン配置処理時間tを0に初期化し、ステップS403に進む。なお画像パターンMP2は、大きなサイズから所定個数n(s)ずつ順次配置される。
【0042】
ステップS403:各表示領域における画像パターンMP1またはMP2の位置(例えばコリジョン領域CCの中心)の座標(x、y)、画像パターンMP1またはMP2の回転角rt、i〜Nのいずれの画像パターンを第1の画像パターンMP1とするかを設定する番号chを乱数RNDによって設定する。
【0043】
各表示領域a1〜a4の幅w、高さhとするとき、例えばx=w×RND、y=h×RNDで算出でき、rt=(π/16)×INT(15×RND)、ch=INT(N×RND)となる。
【0044】
ステップS404:ステップS403に続いて、各表示領域の座標(x、y)を表示部1032全体の座標(tx、ty)に変換しておく。各表示領域a1〜a4の始点(例えば左上の点)の座標を(sx(a)、sy(a))とすると、tx(i)=sx(a)+x、ty(i)=sy(a)+yとなる。
【0045】
ステップS405:ステップS404に続いて、図5に基づいて後述するコリジョン処理を実行し、ステップS406に進む。
【0046】
ステップS406:ステップS405に続いて、コリジョン処理の結果、画像パターン配置処理時間tが所定値tmを超えたか否かを判断する。t>tmのときには、フラグerrが1に書き換えられる。err=1のときにはステップS413に進み、err=0のときにはステップS407に進む。これによって、画像パターン配置処理が異常に長時間にわたることを防止し、ゲームの円滑な進行を保証する。
【0047】
ステップS407:表示領域番号aが最大値3となったか否か判断する。a=3でないときはステップS408に進み、a=3のときはステップS409に進む。
【0048】
ステップS408:表示領域番号aを1進めて、ステップS410に進む。
【0049】
ステップS409:表示領域番号aを0に戻し、ステップS410に進む。
【0050】
ステップS410:サイズsで表示すべき画像パターンMP2の個数が所定値n(s)に達したか否かを判断する。画像パターンMP2の個数が所定値n(s)に達したときはステップS411に進み、画像パターンMP2の個数が所定値n(s)に達していないときはステップS413にジャンプする。
【0051】
ステップS411:サイズsが最小番号0に達したか否かを判断する。s=0のときはステップS413にジャンプし、s=0でないときはステップS412に進む。
【0052】
ステップS412:サイズsを1段階小さい番号とし、ステップS413に進む。
【0053】
ステップS413:画像パターン番号iを1進めて、ステップS414に進む。
【0054】
ステップS414:画像パターン番号iが最大値Nに達したか否か判断する。i=NのときはステップS415に進み、i=NでないときはステップS403に戻る。
【0055】
ステップS415:画像パターン番号iを0に戻し、ステップS416に進む。
【0056】
ステップS416:画像パターン番号iが第1の画像パターンMP1とすべき番号chか否か判断する。i=chのときはステップS417に進み、i=chでないときはステップS418に進む。
【0057】
ステップS417:画像パターンMP1として選択した画像パターン(図1では6E)を選択し、ステップS419に進む。
【0058】
ステップS418:画像パターンMP2として選択した画像パターン(図1では6C)を選択し、ステップS419に進む。
【0059】
ステップS419:画像パターンMP1またはMP2を表示部の座標(tx(i)、ty(i))に表示するように、グラフィックメモリ1040に書き込み、ステップS420に進む。
【0060】
ステップS420:画像パターン番号iを1進めて、ステップS421に進む。
【0061】
ステップS421:画像パターン番号iが最大値Nに達したか否か判断する。i=Nのときはそのまま処理を終了し、i=NでないときはステップS416に戻る。
【0062】
図5において、図4の画像パターンの重なりを判定するコリジョン処理は以下の各ステップによって実行される。
【0063】
ステップS501:まず、すでに配置されている画像パターンMP1またはMP2を評価するための番号k、フラグerr、後述するカウンタCNTを0に初期化する。
【0064】
ステップS502:新たに配置すべき画像パターン番号iの画像パターンMP1またはMP2と、比較対象の画像パターン(番号k)との距離(コリジョン領域中心間距離)と、両者のコリジョン半径の和とを比較する。
【0065】
コリジョン領域中心間距離は(xk−xi)2+(yk−yi)2で代表され、コリジョン半径の和はrck2+rci2で与えられる。ステップS502では、(xk−xi)2+(yk−yi)2<rck2+rci2の判断を行い、判断結果が真であったときは、コリジョン(重なり)が生じているとみなす。コリジョンが生じたときにはステップS503に進み、コリジョンが生じていないときはステップS512に進む。
【0066】
ステップS503:カウンタCNTの値を判断する。CNT=0ならば、画像パターンiの移動によるコリジョン解消が実行され、CNT=1ならば、画像パターンiの縮小によるコリジョン解消が実行される。CNT=0のとき、ステップS504に進み、CNT=1のとき、ステップS506に進む。
【0067】
ステップS504:コリジョンを解消すべく、画像パターンiを画像パターンkから遠ざかるように移動する。移動距離は所定値(Δx、Δy)であり、例えば、Δx2+Δy2=rciに設定される。またその移動方向を画像パターンkから遠ざかる方向に設定するために、(xi−xk)が正のときΔxを正、(yi−yk)が正のときΔyを正とする。すなわち、xi=xi+sign(xi−xk)、yi=yi+sign(yi−yk)とする。
【0068】
次にステップS505に進む。
【0069】
ステップS505:ステップS504で1回のコリジョンを実行したことにより、カウンタCNT=1として、ステップS509に進む。
【0070】
ステップS506:画像パターンのサイズが最小s=0か否か判断する。s=0のときはステップS508にジャンプし、s=0でないときはステップS508に進む。
【0071】
ステップS507:サイズsを1段階小さくして、ステップS508に進む。
【0072】
ステップS508:カウンタCNTを0に戻して、画像パターン移動の処理を可能とし、ステップS509に進む。
【0073】
ステップS509:t>tmか否か判断する。t>tmのときはステップS510に進み、t>tmでないときはステップS502に戻る。
【0074】
ステップS510:画像パターンiについては(x、y)座標にnull値を代入して、画像パターンを表示せず。ステップS511に進む。
【0075】
ステップS511:フラグerrに1を代入し、そのまま処理を終了する。
【0076】
ステップS512:比較対象の画像パターン番号kを1進め、ステップS513に進む。
【0077】
ステップS513:k=iすなわち、すべての比較対象の画像パターンとの比較が完了したか否かを判断する。k=iのときはそのまま処理を終了し、k=iでないときはステップS502に戻る。
【0078】
以上のコリジョン処理により、新たな画像パターンの移動または縮小によるコリジョン解消が可能であり、また異常に長時間の処理を中断し得る。
【0079】
図4、図5の処理では、画像パターンMP1の番号を乱数によって発生したが、i=0、Nのように、あらかじめ特定の番号に設定しておくことも可能である。
【0080】
また、グラフィックメモリ1040に複数の表示プレーンを設け、画像パターンMP1を常に最上位のプレーンに描画し、他の画像パターンをより下位の表示プレーンに描画すれば画像パターンMP1が画像パターンMP2により隠蔽されることを防止でき、画像パターンMP1を発見できない解答不能ゲームの生成を防止し得る。
【0081】
さらに、処理時間tが所定値tmを超えた際、あるいは処理時間tが所定値tmを超えて、処理を中断したことによって画像パターン数が不十分(Nに対して所定比率以下等)となった際の処理として、あらかじめ作成しておいた画像パターン配置を呼び出して使用することも可能である。
【0082】
[実施例2]
図8は、本発明に係るゲームプログラムの実施例2を示すフローチャート、図9は、図8におけるはみだし、コリジョン処理を示すフローチャートである。
【0083】
図8において、実施例2では、実施例1のコリジョン処理S405に換えて、はみだし、コリジョン処理S805を実行し、またerr=1となったときのステップS406のジャンプ先をステップS403としている。
【0084】
はみだし、コリジョン処理S805は、ステップS405のはみ出し処理に加え、画像パターンの一部が表示部1032からはみ出したときに、そのはみ出しを解消する。
【0085】
また、ステップS406のジャンプ先をステップS403としたことにより、所定数の画像パターンを確実に表示し得る。
【0086】
図9において、ステップS501〜S513の処理の前に以下のステップS901〜908が実行される。
【0087】
ステップS901:まず表示部1032全体のx座標txについて、tx<rci、すなわち画像パターンの始点側へのはみ出しが無いか否かを判断する。始点側へのはみ出しがあったときはステップS902に進み、はみ出しが無かったときはステップS903にジャンプする。
【0088】
ステップS902:x座標txを、コリジョン半径rciだけ増加し、画像パターンを表示部中心方向にずらして、はみ出しを解消する。次に、ステップS903に進む。
【0089】
ステップS903:表示部1032全体のx座標txについて、tx<2w−rci、すなわち画像パターンの始点側と反対側へのはみ出しが無いか否かを判断する。始点側と反対側へのはみ出しがあったときはステップS904に進み、はみ出しが無かったときはステップS905にジャンプする。
【0090】
ステップS904:x座標txを、コリジョン半径rciだけ減算し、画像パターンを表示部中心方向にずらして、はみ出しを解消する。次に、ステップS905に進む。
【0091】
ステップS905:表示部1032全体のy座標tyについて、ty<rci、すなわち画像パターンの始点側へのはみ出しが無いか否かを判断する。始点側へのはみ出しがあったときはステップS906に進み、はみ出しが無かったときはステップS907にジャンプする。
【0092】
ステップS906:y座標tyを、コリジョン半径rciだけ増加し、画像パターンを表示部中心方向にずらして、はみ出しを解消する。次に、ステップS907に進む。
【0093】
ステップS907:表示部1032全体のx座標txについて、ty<2h−rci、すなわち画像パターンの始点側と反対側へのはみ出しが無いか否かを判断する。始点側と反対側へのはみ出しがあったときはステップS908に進み、はみ出しが無かったときはステップS501にジャンプする。
【0094】
ステップS908:y座標tyを、コリジョン半径rciだけ減算し、画像パターンを表示部中心方向にずらして、はみ出しを解消する。次に、ステップS501に進む。
【0095】
以上の処理により画像パターンのはみ出しを完全に解消でき、不鮮明な問題や解答不能の問題生成を防止できる。
【0096】
図2のゲーム装置2000において、CPU1000、システムメモリ1020,ビデオディスプレイプロセッサ1030、グラフィックメモリ1040、表示部1032は、協働して表示手段として機能する。
【0097】
ゲーム装置2000において、操作入力部1140は、前記第1の画像パターンMP1を選択するための操作入力手段として機能する。
【0098】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第1、第2の画像パターンを設定する画像パターン設定手段として機能する。
【0099】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記表示手段を複数の表示領域に分割する表示領域分割手段として機能する。
【0100】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第2の画像パターンを前記各表示領域に順次割り振る表示領域選択手段として機能する。
【0101】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第2の画像パターンを前記選択された領域内で、ランダムに配置する第2画像パターン配置手段として機能する。
【0102】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第1の画像パターンを前記いずれかの表示領域内で、ランダムに配置する第1画像パターン配置手段として機能する。
【0103】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第1または第2画像パターン配置手段によって新たに配置された、前記第1または第2の画像パターンが、他の第1または第2の画像パターンと重なったか否かを判断する重なり判断手段として機能する。
【0104】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記新たに配置された前記第1または第2の画像パターンを、当該他の第1または第2の画像パターンから遠ざかるように移動させる、画像パターン移動手段として機能する。
【0105】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第1または第2画像パターン配置手段によって新たに配置された、前記第1または第2の画像パターンが、他の第1または第2の画像パターンと重なったか否かを判断する重なり判断手段として機能する。
【0106】
ゲーム装置2000において、CPU1000、システムメモリ1020,ビデオディスプレイプロセッサ1030、グラフィックメモリ1040、表示部1032は、協働して、前記新たに配置された前記第1または第2の画像パターンを縮小する画像パターン縮小手段として機能する。
【0107】
ゲーム装置2000において、CPU1000、システムメモリ1020,タイマ1022は、協働して、前記第1、第2の画像パターンを配置する処理時間を計測する処理時間計測手段として機能する。
【0108】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第1、第2の画像パターン配置が完了する前に、前記処理時間が所定値を超えたときに、前記第1、第2画像パターンの配置を終了する中途終了手段として機能する。
【0109】
ゲーム装置2000において、CPU1000、システムメモリ1020,ビデオディスプレイプロセッサ1030、グラフィックメモリ1040、表示部1032は、協働して、前記第1または第2の画像パターン配置手段によって新たに配置された、前記第1または第2の画像パターンの一部が、前記表示領域または表示手段からはみ出したときに、新たに配置された前記第1または第2の画像パターンを、前記表示領域または表示手段の内側に向かって移動させる画像パターン移動手段として機能する。
【0110】
ゲーム装置2000において、CPU1000、システムメモリ1020,ビデオディスプレイプロセッサ1030、グラフィックメモリ1040、表示部1032は、協働して、前記第1の画像パターンに、遊戯者が当該第1の画像パターンを選択するためのピック領域を設定するピック領域設定手段として機能する。
【0111】
ゲーム装置2000において、CPU1000、システムメモリ1020,ビデオディスプレイプロセッサ1030、グラフィックメモリ1040、表示部1032は、協働して、前記第1、第2の画像パターンに、重なり半径を設定するコリジョン半径設定手段として機能する。
【0112】
以上の実施例は主に携帯型のゲーム装置について説明したが、パーソナルコンピュータや携帯電話上で実行されるゲームプログラムに本発明に係るゲームプログラムを適用でき、またゲームセンタに設置される大型のゲーム機に本発明に係るゲーム装置、ゲームプログラムを適用し得ることはいうまでもない。
【0113】
なおパーソナルコンピュータ等に本発明に係るゲームプログラムを導入する際には、コンピュータ読み取り可能な記憶媒体や通信媒体によって、コンピュータがゲームプログラムを実行するためのプログラムコードをシステムメメモリ1020に読み込む。
【図面の簡単な説明】
【0114】
【図1】本発明に係るゲーム装置の実施例を示す正面図である。
【図2】図1のゲーム装置を示すブロック図である。
【図3】図1のゲーム装置における表示部の領域分けを示す正面図である。
【図4】本発明に係るゲームプログラムの実施例1を示すフローチャートである。
【図5】図4におけるコリジョン処理を示すフローチャートである。
【図6】本発明に係るゲームプログラムの実施例1に使用される画像パターンの例を示す図である。
【図7】本発明に係るゲームプログラムの実施例1に使用される他の画像パターンの例を示す図である。
【図8】本発明に係るゲームプログラムの実施例2を示すフローチャートである。
【図9】図8におけるコリジョン処理を示すフローチャートである。
【図10】本発明に係る表示部の領域分けパターンの複数の例である。
【図11】本発明に係る異なる面積比、形状を用いた場合での画像パターンの分布の調整概念図の例である。
【符号の説明】
【0115】
1000 CPU
1020 システムメモリ
1030 ビデオディスプレイプロセッサ
1040 グラフィックメモリ
2000 ゲーム装置
1032 表示部
1072 操作入力部
【技術分野】
【0001】
本発明は、画面に種々の画像パターンよりなる画像を表示する、まちがい探しゲーム等のゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
近年、まちがい探しゲームが、ぼけ防止等を目的とした、頭脳トレーニングとして注目されている。
【0003】
そして、まちがい探しゲームに関して、(従来技術1)複数の問題画像を予め準備しておくもの、(従来技術2)正しい画像パターンと類似の画像パターンとをランダムに配列して問題画像を生成するもの、(従来技術3)正しい画像パターンと類似の画像パターンとを所定の規則に従って、拡大、縮小しつつ、ランダムに配列して問題画像を生成するものが存在した。
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来技術1は、問題数に等しい問題画像を生成する必要があり、ゲーム開発の負荷が多大であった。
【0005】
従来技術2は、問題画像生成のために、正しい画像パターンと類似の画像パターンとを自由配列する必要があり、両パターンのサイズは近似したものとなり、問題画像の変化に乏しくなる。このためバラエティあふれる出題ができないという問題があった。
【0006】
従来技術3は、拡大率・縮小率の変化を大にすると、問題画像における生成する画像パターンの分布に偏りが生じ、拡大率・縮小率の変化を小にすると、生成する問題画像が単調になるという問題があった。
【0007】
本発明はこのような従来の問題点を解消すべく創案されたもので、簡単な処理によって表示画面の分布の偏りを調整しつつ、バラエティに富んだ問題画像を制御手段によって自動で生成させることを目的とする。
【課題を解決するための手段】
【0008】
本発明は、複数の画像パターンを表示手段に表示するためのゲームプログラムであって、前記画像パターンを設定する画像パターン設定ステップと、前記表示手段を複数の表示領域に分割する表示領域分割ステップと、前記画像パターンを前記各表示領域に配置する際に順次配置される領域を割り振る表示領域選択ステップと、前記画像パターンを前記選択された領域内に配置する画像パターン配置ステップとを備える。
【0009】
これによって、簡単な処理によって表示画面の分布の偏りを調整しつつ、バラエティに富んだ問題画像を制御手段によって自動で生成させ得る。
【0010】
本発明に係るゲームプログラムにおいて、前記表示領域分割ステップは、予め設定された所定の領域分割によってなる。
【0011】
これによって、好ましい領域分割方法を適宜選択的に適用でき、表示画面の分布の均一性を保証し得る。
【0012】
本発明に係るゲームプログラムは、前記画像パターン配置に、重なりを判定する為の半径を設定する重なり判定半径設定ステップをさらに備え、前記画像パターン配置ステップは、前記新たな画像パターンと他の画像パターンとの距離が、前記両画像パターンの重なり判定半径の和より小さいときに、重なりが生じていると判断する。
【0013】
これによって重なりを容易な演算処理によって検出でき、その解消も容易である。
【0014】
本発明に係るゲーム装置は、画像パターンを表示する表示手段と、遊戯者が前記画像パターンを選択するための操作入力手段と、前記画像パターンを設定する画像パターン設定手段と、前記表示手段を複数の表示領域に分割する表示領域分割手段と、前記画像パターンを前記各表示領域に配置する際に順次配置される領域を割り振る表示領域選択手段と、前記画像パターンを前記選択された領域内に配置する画像パターン配置手段とを備える。
【0015】
これによって、簡単な処理によって表示画面の分布の偏りを回避しつつ、バラエティに富んだ問題画像を生成し得る。
【発明の効果】
【0016】
本発明によれば、簡単な処理によって、表示領域全体への表示画像の分布の偏りを調整しつつ、バラエティに富んだ問題画像を制御手段によって自動で生成し得る。
【発明を実施するための最良の形態】
【0017】
次に本発明に係るゲームプログラムおよびゲーム装置の実施例を図面に基づいて説明する。
【実施例】
【0018】
[ゲーム装置]
図1は、本発明に係る画像処理装置をゲーム装置に適用した実施例を示す正面図、図2は、図1のゲーム装置を示すブロック図、図3は、図1のゲーム装置における表示部の領域分けを示す正面図、図6は、ゲーム装置で使用される画像パターンの例を示す図、図7は、他の画像パターンを示す図、図10は選択的に使用される複数の領域分割パターンを示す図である。
【0019】
図1において、ゲーム装置2000はいわゆる携帯型のゲーム装置であり、ゲーム装置2000には、操作ボタン等の操作入力部1140および液晶ディスプレイ等の表示部1032が設けられている。
【0020】
表示部1032には第1の画像パターンMP1および第2の画像パターンMP2が表示され、画像パターンMP2は種々のサイズでランダムな角度に偏ることなく複数表示されている。一方画像パターンMP1はいずれかのサイズでランダムな角度に1個だけ表示されている。
【0021】
画像パターンMP1、MP2は蝶を模した形状を有し、例えば図6の画像パターン6A、6B、6C、6D、6Eから選択されている。すなわち、画像パターンMP1として画像パターン6Cが選択され、画像パターンMP2として画像パターン6Eが選択されている。また画像パターン6Cは、種々のサイズに変形され(例えば、32×32ピクセル、40×40ピクセル、48×48ピクセル、56×56ピクセル、64×64ピクセルの5段階の大小サイズ)、かつ回転して(例えば、基準方向となる角度を基準として22.5度刻みで16段階の回転方向)表示される。このように、種々のサイズ、回転方向の第2の画像パターン6Cの中に第1の画像パターン6Eが混在する状況において、画像パターン6Eを捜索することがゲームの目的とされ、きわめて有効な頭脳トレーニングとして評価されている。
【0022】
なお、画像パターン6A〜6Eの選択、変形サイズ、回転方向はゲーム開始時に自動生成され、また、図7に示すように他の種々の画像パターン7A〜7G(例えば電球を模した画像パターン)も容易されており、毎回、バラエティに富んだゲームを楽しむことができる。
【0023】
図2において、ゲーム装置(画像処理装置)2000は、全体を制御するCPU1000と、ゲーム装置2000を起動させるためのプログラムを格納するブートロム1010と、CPU301によって実行されるプログラムやデータを格納するシステムメモリ1020と、CPU1000の動作時間を管理するタイマ1022とを有する。
【0024】
ゲーム装置2000には、表示すべき画像を生成、制御するビデオプロセッサ1030と、生成される画像の元となる画像や生成された画像を記憶するグラフィックメモリ1040が設けられ、ビデオプロセッサ1030は、生成した画像を表示部1032に表示する。
【0025】
ゲーム装置2000には、音声を生成するオーディオプロセッサ1070と、生成される音声のデータを記憶するオーディオメモリ1080が設けられ、オーディオプロセッサ1070はオーディオメモリ1080に記憶されたデータに基づいて音声のデジタル信号を生成し、スピーカ1072やヘッドフォン(図示省略)によって音声を出力する。
【0026】
ゲーム装置2000には、プログラムデータ等の外部記憶メディアドライブとしてCD−ROMドライブ1090等が設けられ、ドライブ1090において記憶メディアに格納されたゲームプログラムやデータをシステムメモリ1020、グラフィックメモリ1040、オーディオメモリ1080に読み込む。
【0027】
ゲーム装置2000にはメモリインターフェース1130が設けられ、遊戯者が保有するメモリカードA、Bに対する読み書きが可能である。これによって、各ユーザのゲーム成績、中途で終了したゲームの状態等を登録し得る。
【0028】
ゲーム装置2000には、通信インターフェース1160を介してモデム1150が接続され、ネットワークを介して複数のゲーム装置2000によるネットワークゲームを実行でき、また、サーバ(図示省略)から、ゲーム成績の統計、各遊戯者順位、種々のイベント等、ゲームに関する種々の情報を取得し得る。
【0029】
図3に示すように、表示部1032は、例えば、4個の表示領域a1、a2、a3、a4に分割され、画像パターンMP2の配置決定に際して、CPU1000は、事前に分割された各表示領域(ここではa1〜a4の4つの領域)を循環するように、順次選択しつつ、各表示領域(a1〜a4)内でランダムに画像パターンMP2の位置を決定する。これによって、画像パターンMP2の分布が均一化され、分布の偏りを防止しうる。
【0030】
すなわち、領域分けと、各領域への均等割り当てという、比較的簡単な処理によって、各段階のサイズごとの画像パターンが1カ所に偏ることなく、また散らばり具合の調整を行いつつ、バラエティに富んだ問題画像を生成し得る。なお、表示領域の分割個数、分割形状は種々選択可能であるが、一般に、表示領域a1〜a4自体を均等な面積、形状、配置とするほど、画像パターンMP2の分布を均一化し得る。また、分割される領域の数を多くするほど画像パターンMP2の分布を均一化し得る。
【0031】
図10に示すように、複数の領域分割パターンP1、P2、P3、P4を予め設定しておき、ゲーム装置2000において何れの領域分割パターンを用いるか適宜選択してもよい。例えば、領域分割パターンP1は、図3と同様の、上下左右均等4分割の表示領域DA1、DA2、DA3、DA4よりなり、表示領域全体の長方形の四方全体にまんべんなく散らばる一般的なパターンである。領域分割パターンP2は、水平3等分割の表示領域DA1、DA2、DA3よりなり、P1と比較すると若干だが上下方向のどちらかに偏りの出る可能性が高い。領域分割パターンP3は、水平3等分割、上下2等分割の表示領域DA1、DA2、DA3、DA4、DA5、DA6よりなり、分割数が多い分、P1やP2よりも更に全体にまんべんなく配置される。領域分割パターンP4は、領域分割パターンP1の上下左右等分割(DA1、DA2、DA3、DA4)に加え、中央に45度傾斜の正方形領域(DA5)を備える。
【0032】
この場合、例えば領域分割パターンP2と領域分割パターンP3を比較すると、P2を上下方向に更に分割したP3のほうが表示領域全体に対する分布の偏差は少なくなるというメリットがある。しかし表示すべき画像パターンの個数が極端に少ない場合、例として5個以下の場合には、領域の番号の若い順から配置を行うとDA6には何も表示されないという不具合が生ずる欠点もある。そのため、表示する画像パターンの個数によっては各領域への配置サイクルの順番をランダムに決定するというような工夫が望ましい。また、図11のように、例えば表示画面が非常に大きい場合などで、そのままでは画面全体を見回すことが遊戯者にとっては難しく、結果として難易度が高い場合などに調整を行いたい場合には、あえて中心部だけを狭い面積(分割パターンP4)にすると、表示領域周辺部分はまばらに、表示領域中心部には密集して画像パターンが表示される。この方式では、分解された各領域ごとの画像パターンの分布密度は領域の面積の大きさに反比例するので、これによって難易度の調整を図ったり、またあえて表示領域の外周側の領域を一様に狭くすることによって周辺部に画像パターンの分布を偏らせるような調整(分割パターンP5)を行うことも可能となり、バラエティあふれる画像の表示による出題が可能となる。
【0033】
さらに、図6の画像パターン6Eについて示すように、各画像パターン6A〜6Eには、重なり判定判断を行うコリジョン領域CC(6E)を決定するコリジョン半径rc(6E)が設定され、各画像パターン6A〜6Eにのコリジョン領域CC(6A)〜CC(6E)が相互に重ならないように、画像パターンMP1、MP2の配置が設定される。ここでいうコリジョンとは、各画像パターン同士の重なりを判定するための判定要素という意味である。
【0034】
これによって、各画像パターンMP1、MP2の全部または一部が、他の画像パターンMP1、MP2によって隠蔽されることが防止され、円滑なゲーム進行が保証されている。
【0035】
第1の画像パターンMP1とされる画像パターン6Eには、操作入力部1140によって画像パターンMP1を選択するためのピック領域PA(6E)が設定され、遊戯者は、画像パターンMP1を発見したときに、画像パターンMP1を指示し得る。ピック領域は画像パターンMP1以外の画像パターンMP2には設けられず、誤った選択に対しては無反応である。これによって無用な検出動作が省略され、ゲームの円滑な進行が図られる。ここでいうピックとは、遊技者が正解と思しき画像をピックアップする際の操作入力が行われた際の判断処理のための要素という意味である。
【0036】
図7においては、電球の画像パターン7Fについて、これを包囲するコリジョン領域CC(7F)、コリジョン半径rc(7F)、ピック領域PA(7F)が設定可能であり、電球および発光を模した画像パターン7Bについて、これを包囲するコリジョン領域CC(7B)、コリジョン半径rc(7B)、ピック領域PA(7B)が設定可能である。
[ゲームプログラム]
【0037】
次に、ゲーム装置2000で実行されるゲームプログラムについて説明する。
【0038】
[実施例1]
図4は、本発明に係るゲームプログラムの実施例1を示すフローチャート、図5は、図4におけるコリジョン処理を示すフローチャートである。
【0039】
図4において、ゲームプログラムは以下の各ステップによって実行される。
【0040】
ステップS401:まず、予め定められた表示領域分割パターンのいずれかのパターン(例えばP1)に基づいて、各分割領域(例えばa1〜a4)を設定するとともに、画像パターンMP1、MP2として表示すべき画像パターンを選択し、ステップS402に進む。
【0041】
ステップS402:表示すべき画像パターンMP1、MP2の連続番号i(0〜N)、各画像パターンMP1、MP2を表示すべき表示領域の番号a(0〜3)、画像パターン配置処理時間tを0に初期化し、ステップS403に進む。なお画像パターンMP2は、大きなサイズから所定個数n(s)ずつ順次配置される。
【0042】
ステップS403:各表示領域における画像パターンMP1またはMP2の位置(例えばコリジョン領域CCの中心)の座標(x、y)、画像パターンMP1またはMP2の回転角rt、i〜Nのいずれの画像パターンを第1の画像パターンMP1とするかを設定する番号chを乱数RNDによって設定する。
【0043】
各表示領域a1〜a4の幅w、高さhとするとき、例えばx=w×RND、y=h×RNDで算出でき、rt=(π/16)×INT(15×RND)、ch=INT(N×RND)となる。
【0044】
ステップS404:ステップS403に続いて、各表示領域の座標(x、y)を表示部1032全体の座標(tx、ty)に変換しておく。各表示領域a1〜a4の始点(例えば左上の点)の座標を(sx(a)、sy(a))とすると、tx(i)=sx(a)+x、ty(i)=sy(a)+yとなる。
【0045】
ステップS405:ステップS404に続いて、図5に基づいて後述するコリジョン処理を実行し、ステップS406に進む。
【0046】
ステップS406:ステップS405に続いて、コリジョン処理の結果、画像パターン配置処理時間tが所定値tmを超えたか否かを判断する。t>tmのときには、フラグerrが1に書き換えられる。err=1のときにはステップS413に進み、err=0のときにはステップS407に進む。これによって、画像パターン配置処理が異常に長時間にわたることを防止し、ゲームの円滑な進行を保証する。
【0047】
ステップS407:表示領域番号aが最大値3となったか否か判断する。a=3でないときはステップS408に進み、a=3のときはステップS409に進む。
【0048】
ステップS408:表示領域番号aを1進めて、ステップS410に進む。
【0049】
ステップS409:表示領域番号aを0に戻し、ステップS410に進む。
【0050】
ステップS410:サイズsで表示すべき画像パターンMP2の個数が所定値n(s)に達したか否かを判断する。画像パターンMP2の個数が所定値n(s)に達したときはステップS411に進み、画像パターンMP2の個数が所定値n(s)に達していないときはステップS413にジャンプする。
【0051】
ステップS411:サイズsが最小番号0に達したか否かを判断する。s=0のときはステップS413にジャンプし、s=0でないときはステップS412に進む。
【0052】
ステップS412:サイズsを1段階小さい番号とし、ステップS413に進む。
【0053】
ステップS413:画像パターン番号iを1進めて、ステップS414に進む。
【0054】
ステップS414:画像パターン番号iが最大値Nに達したか否か判断する。i=NのときはステップS415に進み、i=NでないときはステップS403に戻る。
【0055】
ステップS415:画像パターン番号iを0に戻し、ステップS416に進む。
【0056】
ステップS416:画像パターン番号iが第1の画像パターンMP1とすべき番号chか否か判断する。i=chのときはステップS417に進み、i=chでないときはステップS418に進む。
【0057】
ステップS417:画像パターンMP1として選択した画像パターン(図1では6E)を選択し、ステップS419に進む。
【0058】
ステップS418:画像パターンMP2として選択した画像パターン(図1では6C)を選択し、ステップS419に進む。
【0059】
ステップS419:画像パターンMP1またはMP2を表示部の座標(tx(i)、ty(i))に表示するように、グラフィックメモリ1040に書き込み、ステップS420に進む。
【0060】
ステップS420:画像パターン番号iを1進めて、ステップS421に進む。
【0061】
ステップS421:画像パターン番号iが最大値Nに達したか否か判断する。i=Nのときはそのまま処理を終了し、i=NでないときはステップS416に戻る。
【0062】
図5において、図4の画像パターンの重なりを判定するコリジョン処理は以下の各ステップによって実行される。
【0063】
ステップS501:まず、すでに配置されている画像パターンMP1またはMP2を評価するための番号k、フラグerr、後述するカウンタCNTを0に初期化する。
【0064】
ステップS502:新たに配置すべき画像パターン番号iの画像パターンMP1またはMP2と、比較対象の画像パターン(番号k)との距離(コリジョン領域中心間距離)と、両者のコリジョン半径の和とを比較する。
【0065】
コリジョン領域中心間距離は(xk−xi)2+(yk−yi)2で代表され、コリジョン半径の和はrck2+rci2で与えられる。ステップS502では、(xk−xi)2+(yk−yi)2<rck2+rci2の判断を行い、判断結果が真であったときは、コリジョン(重なり)が生じているとみなす。コリジョンが生じたときにはステップS503に進み、コリジョンが生じていないときはステップS512に進む。
【0066】
ステップS503:カウンタCNTの値を判断する。CNT=0ならば、画像パターンiの移動によるコリジョン解消が実行され、CNT=1ならば、画像パターンiの縮小によるコリジョン解消が実行される。CNT=0のとき、ステップS504に進み、CNT=1のとき、ステップS506に進む。
【0067】
ステップS504:コリジョンを解消すべく、画像パターンiを画像パターンkから遠ざかるように移動する。移動距離は所定値(Δx、Δy)であり、例えば、Δx2+Δy2=rciに設定される。またその移動方向を画像パターンkから遠ざかる方向に設定するために、(xi−xk)が正のときΔxを正、(yi−yk)が正のときΔyを正とする。すなわち、xi=xi+sign(xi−xk)、yi=yi+sign(yi−yk)とする。
【0068】
次にステップS505に進む。
【0069】
ステップS505:ステップS504で1回のコリジョンを実行したことにより、カウンタCNT=1として、ステップS509に進む。
【0070】
ステップS506:画像パターンのサイズが最小s=0か否か判断する。s=0のときはステップS508にジャンプし、s=0でないときはステップS508に進む。
【0071】
ステップS507:サイズsを1段階小さくして、ステップS508に進む。
【0072】
ステップS508:カウンタCNTを0に戻して、画像パターン移動の処理を可能とし、ステップS509に進む。
【0073】
ステップS509:t>tmか否か判断する。t>tmのときはステップS510に進み、t>tmでないときはステップS502に戻る。
【0074】
ステップS510:画像パターンiについては(x、y)座標にnull値を代入して、画像パターンを表示せず。ステップS511に進む。
【0075】
ステップS511:フラグerrに1を代入し、そのまま処理を終了する。
【0076】
ステップS512:比較対象の画像パターン番号kを1進め、ステップS513に進む。
【0077】
ステップS513:k=iすなわち、すべての比較対象の画像パターンとの比較が完了したか否かを判断する。k=iのときはそのまま処理を終了し、k=iでないときはステップS502に戻る。
【0078】
以上のコリジョン処理により、新たな画像パターンの移動または縮小によるコリジョン解消が可能であり、また異常に長時間の処理を中断し得る。
【0079】
図4、図5の処理では、画像パターンMP1の番号を乱数によって発生したが、i=0、Nのように、あらかじめ特定の番号に設定しておくことも可能である。
【0080】
また、グラフィックメモリ1040に複数の表示プレーンを設け、画像パターンMP1を常に最上位のプレーンに描画し、他の画像パターンをより下位の表示プレーンに描画すれば画像パターンMP1が画像パターンMP2により隠蔽されることを防止でき、画像パターンMP1を発見できない解答不能ゲームの生成を防止し得る。
【0081】
さらに、処理時間tが所定値tmを超えた際、あるいは処理時間tが所定値tmを超えて、処理を中断したことによって画像パターン数が不十分(Nに対して所定比率以下等)となった際の処理として、あらかじめ作成しておいた画像パターン配置を呼び出して使用することも可能である。
【0082】
[実施例2]
図8は、本発明に係るゲームプログラムの実施例2を示すフローチャート、図9は、図8におけるはみだし、コリジョン処理を示すフローチャートである。
【0083】
図8において、実施例2では、実施例1のコリジョン処理S405に換えて、はみだし、コリジョン処理S805を実行し、またerr=1となったときのステップS406のジャンプ先をステップS403としている。
【0084】
はみだし、コリジョン処理S805は、ステップS405のはみ出し処理に加え、画像パターンの一部が表示部1032からはみ出したときに、そのはみ出しを解消する。
【0085】
また、ステップS406のジャンプ先をステップS403としたことにより、所定数の画像パターンを確実に表示し得る。
【0086】
図9において、ステップS501〜S513の処理の前に以下のステップS901〜908が実行される。
【0087】
ステップS901:まず表示部1032全体のx座標txについて、tx<rci、すなわち画像パターンの始点側へのはみ出しが無いか否かを判断する。始点側へのはみ出しがあったときはステップS902に進み、はみ出しが無かったときはステップS903にジャンプする。
【0088】
ステップS902:x座標txを、コリジョン半径rciだけ増加し、画像パターンを表示部中心方向にずらして、はみ出しを解消する。次に、ステップS903に進む。
【0089】
ステップS903:表示部1032全体のx座標txについて、tx<2w−rci、すなわち画像パターンの始点側と反対側へのはみ出しが無いか否かを判断する。始点側と反対側へのはみ出しがあったときはステップS904に進み、はみ出しが無かったときはステップS905にジャンプする。
【0090】
ステップS904:x座標txを、コリジョン半径rciだけ減算し、画像パターンを表示部中心方向にずらして、はみ出しを解消する。次に、ステップS905に進む。
【0091】
ステップS905:表示部1032全体のy座標tyについて、ty<rci、すなわち画像パターンの始点側へのはみ出しが無いか否かを判断する。始点側へのはみ出しがあったときはステップS906に進み、はみ出しが無かったときはステップS907にジャンプする。
【0092】
ステップS906:y座標tyを、コリジョン半径rciだけ増加し、画像パターンを表示部中心方向にずらして、はみ出しを解消する。次に、ステップS907に進む。
【0093】
ステップS907:表示部1032全体のx座標txについて、ty<2h−rci、すなわち画像パターンの始点側と反対側へのはみ出しが無いか否かを判断する。始点側と反対側へのはみ出しがあったときはステップS908に進み、はみ出しが無かったときはステップS501にジャンプする。
【0094】
ステップS908:y座標tyを、コリジョン半径rciだけ減算し、画像パターンを表示部中心方向にずらして、はみ出しを解消する。次に、ステップS501に進む。
【0095】
以上の処理により画像パターンのはみ出しを完全に解消でき、不鮮明な問題や解答不能の問題生成を防止できる。
【0096】
図2のゲーム装置2000において、CPU1000、システムメモリ1020,ビデオディスプレイプロセッサ1030、グラフィックメモリ1040、表示部1032は、協働して表示手段として機能する。
【0097】
ゲーム装置2000において、操作入力部1140は、前記第1の画像パターンMP1を選択するための操作入力手段として機能する。
【0098】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第1、第2の画像パターンを設定する画像パターン設定手段として機能する。
【0099】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記表示手段を複数の表示領域に分割する表示領域分割手段として機能する。
【0100】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第2の画像パターンを前記各表示領域に順次割り振る表示領域選択手段として機能する。
【0101】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第2の画像パターンを前記選択された領域内で、ランダムに配置する第2画像パターン配置手段として機能する。
【0102】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第1の画像パターンを前記いずれかの表示領域内で、ランダムに配置する第1画像パターン配置手段として機能する。
【0103】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第1または第2画像パターン配置手段によって新たに配置された、前記第1または第2の画像パターンが、他の第1または第2の画像パターンと重なったか否かを判断する重なり判断手段として機能する。
【0104】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記新たに配置された前記第1または第2の画像パターンを、当該他の第1または第2の画像パターンから遠ざかるように移動させる、画像パターン移動手段として機能する。
【0105】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第1または第2画像パターン配置手段によって新たに配置された、前記第1または第2の画像パターンが、他の第1または第2の画像パターンと重なったか否かを判断する重なり判断手段として機能する。
【0106】
ゲーム装置2000において、CPU1000、システムメモリ1020,ビデオディスプレイプロセッサ1030、グラフィックメモリ1040、表示部1032は、協働して、前記新たに配置された前記第1または第2の画像パターンを縮小する画像パターン縮小手段として機能する。
【0107】
ゲーム装置2000において、CPU1000、システムメモリ1020,タイマ1022は、協働して、前記第1、第2の画像パターンを配置する処理時間を計測する処理時間計測手段として機能する。
【0108】
ゲーム装置2000において、CPU1000、システムメモリ1020は協働して、前記第1、第2の画像パターン配置が完了する前に、前記処理時間が所定値を超えたときに、前記第1、第2画像パターンの配置を終了する中途終了手段として機能する。
【0109】
ゲーム装置2000において、CPU1000、システムメモリ1020,ビデオディスプレイプロセッサ1030、グラフィックメモリ1040、表示部1032は、協働して、前記第1または第2の画像パターン配置手段によって新たに配置された、前記第1または第2の画像パターンの一部が、前記表示領域または表示手段からはみ出したときに、新たに配置された前記第1または第2の画像パターンを、前記表示領域または表示手段の内側に向かって移動させる画像パターン移動手段として機能する。
【0110】
ゲーム装置2000において、CPU1000、システムメモリ1020,ビデオディスプレイプロセッサ1030、グラフィックメモリ1040、表示部1032は、協働して、前記第1の画像パターンに、遊戯者が当該第1の画像パターンを選択するためのピック領域を設定するピック領域設定手段として機能する。
【0111】
ゲーム装置2000において、CPU1000、システムメモリ1020,ビデオディスプレイプロセッサ1030、グラフィックメモリ1040、表示部1032は、協働して、前記第1、第2の画像パターンに、重なり半径を設定するコリジョン半径設定手段として機能する。
【0112】
以上の実施例は主に携帯型のゲーム装置について説明したが、パーソナルコンピュータや携帯電話上で実行されるゲームプログラムに本発明に係るゲームプログラムを適用でき、またゲームセンタに設置される大型のゲーム機に本発明に係るゲーム装置、ゲームプログラムを適用し得ることはいうまでもない。
【0113】
なおパーソナルコンピュータ等に本発明に係るゲームプログラムを導入する際には、コンピュータ読み取り可能な記憶媒体や通信媒体によって、コンピュータがゲームプログラムを実行するためのプログラムコードをシステムメメモリ1020に読み込む。
【図面の簡単な説明】
【0114】
【図1】本発明に係るゲーム装置の実施例を示す正面図である。
【図2】図1のゲーム装置を示すブロック図である。
【図3】図1のゲーム装置における表示部の領域分けを示す正面図である。
【図4】本発明に係るゲームプログラムの実施例1を示すフローチャートである。
【図5】図4におけるコリジョン処理を示すフローチャートである。
【図6】本発明に係るゲームプログラムの実施例1に使用される画像パターンの例を示す図である。
【図7】本発明に係るゲームプログラムの実施例1に使用される他の画像パターンの例を示す図である。
【図8】本発明に係るゲームプログラムの実施例2を示すフローチャートである。
【図9】図8におけるコリジョン処理を示すフローチャートである。
【図10】本発明に係る表示部の領域分けパターンの複数の例である。
【図11】本発明に係る異なる面積比、形状を用いた場合での画像パターンの分布の調整概念図の例である。
【符号の説明】
【0115】
1000 CPU
1020 システムメモリ
1030 ビデオディスプレイプロセッサ
1040 グラフィックメモリ
2000 ゲーム装置
1032 表示部
1072 操作入力部
【特許請求の範囲】
【請求項1】
複数の画像パターンを表示手段に表示するためのゲームプログラムであって、
前記画像パターンを設定する画像パターン設定ステップと、
前記表示手段を複数の表示領域に分割する表示領域分割ステップと、
前記画像パターンを前記各表示領域に配置する際に順次配置される領域を割り振る表示領域選択ステップと、
前記画像パターンを前記選択された領域内に配置する画像パターン配置ステップと、
を備えたゲームプログラム。
【請求項2】
前記表示領域分割ステップは、予め設定された所定の領域分割によってなることを備えたゲームプログラム。
【請求項3】
前記画像パターン配置に、重なりを判定するための半径を設定する重なり判定半径設定ステップをさらに備え、
前記画像パターン配置ステップは、前記新たな画像パターンと他の画像パターンとの距離が、前記両画像パターンの重なり判定半径の和より小さいときに、重なりが生じていると判断する、請求項1乃至2のいずれかに記載のゲームプログラム。
【請求項4】
画像パターンを表示する表示手段と、
遊戯者が前記画像パターンを選択するための操作入力手段と、
前記画像パターンを設定する画像パターン設定手段と、
前記表示手段を複数の表示領域に分割する表示領域分割手段と、
前記画像パターンを前記各表示領域に配置する際に順次配置される領域を割り振る表示領域選択手段と、
前記画像パターンを前記選択された領域内に配置する画像パターン配置手段と、
を備えたゲーム装置。
【請求項5】
請求項1乃至3に記載のゲームプログラムをコンピュータに実行させるプログラムコードを含む、コンピュータ読み取り可能な記憶媒体。
【請求項1】
複数の画像パターンを表示手段に表示するためのゲームプログラムであって、
前記画像パターンを設定する画像パターン設定ステップと、
前記表示手段を複数の表示領域に分割する表示領域分割ステップと、
前記画像パターンを前記各表示領域に配置する際に順次配置される領域を割り振る表示領域選択ステップと、
前記画像パターンを前記選択された領域内に配置する画像パターン配置ステップと、
を備えたゲームプログラム。
【請求項2】
前記表示領域分割ステップは、予め設定された所定の領域分割によってなることを備えたゲームプログラム。
【請求項3】
前記画像パターン配置に、重なりを判定するための半径を設定する重なり判定半径設定ステップをさらに備え、
前記画像パターン配置ステップは、前記新たな画像パターンと他の画像パターンとの距離が、前記両画像パターンの重なり判定半径の和より小さいときに、重なりが生じていると判断する、請求項1乃至2のいずれかに記載のゲームプログラム。
【請求項4】
画像パターンを表示する表示手段と、
遊戯者が前記画像パターンを選択するための操作入力手段と、
前記画像パターンを設定する画像パターン設定手段と、
前記表示手段を複数の表示領域に分割する表示領域分割手段と、
前記画像パターンを前記各表示領域に配置する際に順次配置される領域を割り振る表示領域選択手段と、
前記画像パターンを前記選択された領域内に配置する画像パターン配置手段と、
を備えたゲーム装置。
【請求項5】
請求項1乃至3に記載のゲームプログラムをコンピュータに実行させるプログラムコードを含む、コンピュータ読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−67943(P2008−67943A)
【公開日】平成20年3月27日(2008.3.27)
【国際特許分類】
【出願番号】特願2006−250135(P2006−250135)
【出願日】平成18年9月14日(2006.9.14)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】
【公開日】平成20年3月27日(2008.3.27)
【国際特許分類】
【出願日】平成18年9月14日(2006.9.14)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】
[ Back to top ]