(57)【要約】【課題】操作が簡易であり、プレーヤにストレスを与えることのないゲームのプログラム、情報記憶媒体、端末を提供する。【解決手段】言葉のパズルゲームにおいて、文字が選択されたことを契機に、直前に配置された文字のマスに最も近い文字配置エリア内の空きマスを検索し、プレーヤからの入力情報によらずに、文字選択エリアから検索された空きマスにカーソルを移動させる。【選択図】図１３
2009233237.tif 000002
【特許請求の範囲】
【請求項１】
プレーヤからの入力情報に基づいて、カーソルを移動させるカーソル移動制御部と、
プレーヤからの入力情報に基づいて、ゲーム空間内の文字選択エリアに配置された選択可能文字から、カーソルが指示する所与の文字の選択を受け付ける受け付け部と、
ゲーム空間内の複数のマスからなる文字配置エリアにおいて、プレーヤからの入力情報に基づいてカーソルが指示する空きマスを決定し、決定された空きマスに隣接する１又は連続する複数のマスに配置される文字と、選択された文字とからなる生成文字列が、予め用意された登録文字列に合致するか否かを判定するゲーム演算部と、
前記生成文字列が前記登録文字列に合致すると判定された場合に、選択された文字を、決定された空きマスに配置可能とする文字配置部として、コンピュータを機能させ、
前記カーソル移動制御部が、
文字が選択されたことを契機に、直前に配置された文字のマスに最も近い前記文字配置エリア内の空きマスを検索し、前記文字選択エリアから検索された空きマスにカーソルを移動させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記カーソル移動制御部が、
空きマスが複数検索された場合には、優先順位に基づいて決定される空きマスにカーソルを移動させることを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記カーソル移動制御部が、
前記生成文字列が前記登録文字列に合致すると判定された場合に、プレーヤからの入力情報によらずに、前記文字配置エリアから前記文字選択エリアに、カーソルを移動させることを特徴とするプログラム。
【請求項４】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項１〜３のいずれかに記載のプログラムを記憶していることを特徴とする情報記憶媒体。
【請求項５】
プレーヤからの入力情報に基づいて、カーソルを移動させるカーソル移動制御部と、
プレーヤからの入力情報に基づいて、ゲーム空間内の文字選択エリアに配置された選択可能文字から、カーソルが指示する所与の文字の選択を受け付ける受け付け部と、
ゲーム空間内の複数のマスからなる文字配置エリアにおいて、プレーヤからの入力情報に基づいてカーソルが指示する空きマスを決定し、決定された空きマスに隣接する１又は連続する複数のマスに配置される文字と、選択された文字とからなる生成文字列が、予め用意された登録文字列に合致するか否かを判定するゲーム演算部と、
前記生成文字列が前記登録文字列に合致すると判定された場合に、選択された文字を、決定された空きマスに配置可能とする文字配置部とを含み、
前記カーソル移動制御部が、
文字が選択されたことを契機に、直前に配置された文字のマスに最も近い前記文字配置エリア内の空きマスを検索し、前記文字選択エリアから検索された空きマスにカーソルを移動させることを特徴とする端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、端末に関する。
【背景技術】
【０００２】
従来から、プレーヤが複数の文字の集合から文字を選択し、選択した文字をマスに置いて言葉を作る言葉のパズルゲームが知られている（例えば、特許文献１参照）。このような言葉のパズルゲームは、限られた文字の集合から言葉を作ることや、偶然できた言葉を発見できることに面白味がある。
【０００３】
しかし、このような言葉のパズルゲームを携帯電話で実現する場合に、操作が煩雑になるという問題が生じていた。
【特許文献１】特開２００２−２５３８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、従来の課題に鑑みたものであり、その目的は、操作が簡易であり、プレーヤにストレスを与えることのないゲームのプログラム、情報記憶媒体、端末を提供することにある。
【課題を解決するための手段】
【０００５】
（１）本発明は、
プレーヤからの入力情報に基づいて、カーソルを移動させるカーソル移動制御部と、
プレーヤからの入力情報に基づいて、ゲーム空間内の文字選択エリアに配置された選択可能文字から、カーソルが指示する所与の文字の選択を受け付ける受け付け部と、
ゲーム空間内の複数のマスからなる文字配置エリアにおいて、プレーヤからの入力情報に基づいてカーソルが指示する空きマスを決定し、決定された空きマスに隣接する１又は連続する複数のマスに配置される文字と、選択された文字とからなる生成文字列が、予め用意された登録文字列に合致するか否かを判定するゲーム演算部と、
前記生成文字列が前記登録文字列に合致すると判定された場合に、選択された文字を、決定された空きマスに配置可能とする文字配置部として、コンピュータを機能させ、
前記カーソル移動制御部が、
文字が選択されたことを契機に、直前に配置された文字のマスに最も近い前記文字配置エリア内の空きマスを検索し、前記文字選択エリアから検索された空きマスにカーソルを移動させることを特徴とするプログラムに関する。
【０００６】
本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成する端末に関係する。
【０００７】
本発明によれば、文字が選択されたことを契機に、カーソルが自動的に空きマスに移動する。したがって、プレーヤからの入力情報に基づくカーソル移動が簡易になるので、プレーヤにストレスを与えることのないゲームを実現することができる。
【０００８】
（２）また、本発明のプログラム、情報記憶媒体、端末は、
前記カーソル移動制御部が、
空きマスが複数検索された場合には、優先順位に基づいて決定される空きマスにカーソルを移動させるようにしてもよい。
【０００９】
本発明によれば、適切な空きマスにカーソルを自動的に移動させることができる。
【００１０】
（３）また、本発明のプログラム、情報記憶媒体、端末は、
前記カーソル移動制御部が、
前記生成文字列が前記登録文字列に合致すると判定された場合に、プレーヤからの入力情報によらずに、前記文字配置エリアから前記文字選択エリアに、カーソルを移動させるようにしてもよい。
【００１１】
本発明によれば、生成文字列が登録文字列に合致すると判定された場合に、自動的にカーソルが移動するので、プレーヤからの入力情報に基づくカーソル移動が簡易になる。
【発明を実施するための最良の形態】
【００１２】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１３】
１．構成
図１に本実施形態の端末（コンピュータ、携帯端末、携帯電話、ゲーム機、画像生成装置）の機能ブロック図の例を示す。なお本実施形態の端末は図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１４】
操作部１６０は、プレーヤが操作情報（入力情報の一例）を入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、などにより実現できる。
【００１５】
図２は、本実施形態の端末の一例である携帯電話を示す。本実施形態の操作部１６０は、上方向キーＡ１、右方向キーＡ２、下方向キーＡ３、左方向キーＡ４、そして、決定ボタンＢを含む複数のキーによって実現されている。
【００１６】
なお、操作部１６０は、液晶ディスプレイとプレーヤの接触位置を検出するためのタッチパネルとが蓄層されたタッチパネル型ディスプレイを含む。つまり、タッチパネル型ディスプレイは、タッチペンやプレーヤの指等によって接触された入力情報（接触操作情報）を入力できるものであってもよい。また、操作部１６０は、加速度センサ、角速度を検出するジャイロセンサを備えていてもよい。
【００１７】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００１８】
例えば、辞書データ記憶部１７６は、複数の登録文字列（言葉）によって構成される辞書データを記憶する。
【００１９】
情報記憶媒体１８０（端末により読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部として端末を機能させるためのプログラム（各部の処理を端末に実行させるためのプログラム）を記憶することができる。
【００２０】
表示部１９０（表示画面）は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００２１】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２２】
通信部１９６は外部（例えば他の端末）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２３】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部として端末を機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して端末を機能させる場合も本発明の範囲内に含む。
【００２４】
処理部１００（プロセッサ）は、操作部１６０からの入力情報（操作情報）やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、文字、マス、キャラクタなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００２５】
この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２６】
処理部１００は、ゲーム演算部１１０、カーソル移動制御部１１２、受け付け部１１３、文字配置部１１４、表示制御部１１６、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２７】
本実施形態のゲーム演算部１１０は、文字列判定部１１０ａと、クリア条件判定部１１０ｂとを含む。
【００２８】
例えば、文字列判定部１１０ａは、ゲーム空間内の複数のマスからなる文字配置エリアにおいて、プレーヤからの入力情報に基づいてカーソルが指示する空きマスを決定し、決定された空きマスに隣接する１又は連続する複数のマスに配置される文字と、選択された文字とからなる生成文字列が、予め用意された登録文字列に合致するか否かを判定する。
【００２９】
つまり、プレーヤからの入力情報に基づきゲーム空間における選択可能文字から選択された選択文字を、文字配置エリアに存在する文字列の全部又は一部に付加して文字列を生成し、生成された生成文字列が、辞書データに登録されている登録文字列に合致するか否かを判定する処理を行う。
【００３０】
また、クリア条件判定部１１０ｂは、ゲームステージ毎に応じたクリア条件を満たすか否かを判定する処理を行う。例えば、制限時間内に辞書データに登録されている登録文字列を所定数（例えば４個）作成することをクリア条件とすることができる。
【００３１】
カーソル移動制御部１１２は、プレーヤからの入力情報に基づいて、カーソルを移動させる処理を行う。また、カーソル移動制御部１１２は、文字が選択されたことを契機に、直前に配置された文字のマスに最も近い前記文字配置エリア内の空きマスを検索し、プレーヤからの入力情報によらずに、文字選択エリアから検索された空きマスにカーソルを移動させる処理を行う。
【００３２】
また、カーソル移動制御部１１２は、空きマスが複数検索された場合には、優先順位に基づいて決定される１つの空きマスにカーソルを移動させるようにしてもよい。
【００３３】
また、カーソル移動制御部１１２は、生成文字列が登録文字列に合致すると判定された場合に、プレーヤからの入力情報によらずに、文字配置エリアから文字選択エリアに、カーソルを移動させるようにしてもよい。
【００３４】
受け付け部１１３は、プレーヤからの入力情報に基づいて、ゲーム空間内の文字選択エリアに配置された選択可能文字から、カーソルが指示する所与の文字の選択を受け付ける処理を行う。
【００３５】
ここで、選択可能文字とは、予め用意された１又は複数の文字（選択文字群）である。例えば、平仮名で構成される１又は複数の文字である。なお、選択可能文字は平仮名に限らずアルファベット、片仮名、数字、漢字、記号等でもよい。
【００３６】
具体的には、ゲーム開始の初期状態では、平仮名のうち、「あいうえおかきくけこ」の１０種類の平仮名からなる１０文字の文字群としている。なお、選択可能文字から選択された文字が文字配置エリアに配置された場合には、当該文字を選択可能文字から削除するように制御してもよい。
【００３７】
文字配置部１１４は、生成文字列が登録文字列に合致すると判定された場合に、選択された文字を、決定された空きマスに配置可能とする処理を行う。
【００３８】
表示制御部１１６は、ゲーム空間における文字選択エリアや、文字配置エリア、生成文字列が登録文字列に合致すると判定された場合には、その生成文字列の意味を表示させる処理を行う。
【００３９】
なお、処理部１００は、オブジェクト空間設定部、移動・動作処理部、仮想カメラ制御部を含むものであってもよい。
【００４０】
オブジェクト空間設定部は、文字、マス、キャラクタなどの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義であり、例えば、ワールド座標系でのＸ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００４１】
移動・動作処理部は、オブジェクト（文字、マス、キャラクタ、移動体等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した入力情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツ（マス）の位置、或いは回転角度）を、１フレーム（例えば、１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４２】
仮想カメラ制御部は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。
【００４３】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、文字、マス）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４４】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。
【００４５】
描画部１２０が生成する画像は、いわゆる２次元画像であってもよいし、いわゆる３次元画像であってもよい。
【００４６】
ここで２次元画像を生成する場合には、描画部１２０は、まずオブジェクト（マスや文字オブジェクト、スプライトを含む）の２次元の位置座標に基づいて、オブジェクトを描画する処理を行う。かかる場合には、予めオブジェクトに設定された優先度が低いオブジェクトから順に描画して、オブジェクト同士が重なる場合には、優先度の高いオブジェクトを上書きして描画するようにしてもよい。
【００４７】
また、３次元画像を生成する場合には、次のように処理を行う。まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００４８】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００４９】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００５０】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００５１】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００５２】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部に保存される。
【００５３】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００５４】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００５５】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００５６】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００５７】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５８】
なお、本実施形態の端末は、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて分散処理により生成してもよい。
【００５９】
２．本実施形態の概要
図３は、本実施形態の携帯電話の表示画面の一例である。本実施形態では、まずプレーヤからの入力情報に基づいて１又は複数の文字からなる選択可能な文字が配置されている文字選択エリアから１つの文字の選択を受け付け、プレーヤからの入力情報に基づいてカーソルが指示する空きマスを決定し、ゲーム演算結果に基づいて、決定された空きマスに選択された文字を配置する処理を行う。
【００６０】
ここで、空きマスとは、文字配置可能なエリア内のマス（格子）であって、文字が配置されていないマスのことをいう。
【００６１】
例えば、本実施形態では、プレーヤが指示した空きマスに隣接する１又は連続する複数の文字とプレーヤが文字選択エリアから選択した選択文字とからなる生成文字列が、辞書（辞書データ、辞書データベース）に登録されている言葉（登録文字列）であるか否かを判断する処理を行う。そして、生成文字列が辞書に登録されている言葉であると判定された場合には、プレーヤが選択した選択文字を、指示した空きマスに配置する処理（選択文字を指示したマスに埋める処理）を行う。一方、生成文字列が辞書に登録されていない言葉であると判定されると、プレーヤが選択した選択文字を指示したマスに配置しないように制御している。かかる場合には、プレーヤに選択文字を指示したマスに配置できない（言葉になっていない）ことを忠告するメッセージを表示し、プレーヤに再度、文字選択エリアから異なる文字の選択や、異なる空きマスを指示するように促すメッセージを表示させる。なお、本実施形態では、日本語での平仮名の文字列が言葉か否かを判断しているので、連続するマスの左から右、上から下に読んで２文字以上の文字列が言葉か否かを判定している。
【００６２】
このように、本実施形態は、プレーヤが文字選択エリアから文字を選択し、適切な空きマスを指示することによって言葉を作るパズルゲームを実現するものである。そして、最終的にクリア条件を満たした場合にゲームステージをクリアする処理を行う。例えば、制限時間内にゲームステージで用意された全てのマスを埋めることをクリア条件にしたり、制限時間内に辞書に収録されている文字列を所定数以上作成することをクリア条件とすることができる。
【００６３】
また、本実施形態では、難易度に応じて、文字選択エリア、文字配置エリア、クリア条件の少なくとも１つが異なる複数のゲームステージを用意している。
【００６４】
また、本実施形態では、生成文字列が、辞書に登録されている言葉であると判定された場合には、プレーヤの操作によって言葉の表記形（例えば、漢字表記、英語表記）、及び、言葉の意味を表示させる処理を行っている。例えば、図３に示すように生成文字列「りんご」が、辞書に登録されている言葉である場合には、「りんご」の英語表記「ａｐｐｌｅ」と、「りんご」意味（例えば「バラ科の落葉樹。」）とを、表示画面に表示させる。
【００６５】
なお、携帯電話の表示画面は、通常のゲーム機の表示画面に比べて小さい場合が多い。したがって、表示領域が限られている場合には、言葉の意味を表示させる領域を、文字配置エリアを表示させる領域の上面に表示させるようにしてもよい。ただし、プレーヤが作成した言葉（例えば「りんご」）が配置されている文字配置エリアの各マスとは異なる表示領域に、言葉の意味を表示させる。プレーヤが、作成した言葉を見ながら意味を理解できるようにするためである。
【００６６】
なお、本実施形態では、ゲームステージにおいて作成した文字列（生成文字列が言葉であると判定された文字列）の一覧を、ゲーム終了後や中断時に表示させるように制御している。
【００６７】
また、本実施形態では、各ゲームステージにおける文字配置エリアは、格子状のステージ上に、格子に合わせた複数のマスによって形成される。文字配置エリアを形成するマスの数やマスの配置はゲームステージ毎に異ならせてもよい。また文字選択エリアは、上下に配列される複数の格子（マス）で形成され、各マスに文字が配置されている。
【００６８】
また、本実施形態では、予め、メモリ（記憶部）に辞書データを記憶する。辞書は、複数の言葉と、各言葉に対応付けた意味（用例）が記憶されている。例えば、言葉は名詞、動詞、形容詞、慣用句、歴史上の人物、都市名、国名等が登録されている。
【００６９】
図４は、辞書の一例を示す図である。例えば、辞書は、ＩＤ（識別情報）に対応づけて、平仮名表記の言葉と、漢字、英語等の一般的な表記形、そして意味内容が設定されている。なお、辞書には、ＩＤに対応づけて、英語表記（和英表記）、言葉に関する音声データ、画像データを記録してもよい。
【００７０】
また、本実施形態では、縦、横において連続するマス数の上限数は所定数に設定している。例えば連続するマス数の上限数を４文字以下に制限している。したがって、辞書に登録される言葉の文字数も、連続するマス数の上限数に応じて、４文字以下になるように制限している。さらに、本実施形態では２文字以上の言葉を作成することをルールとしている。単に１文字からなる言葉を作成できるとすると、言葉を作るというゲームが成立しなくなるからである。したがって、本実施形態では、２文字以上４文字以下の文字数に制限した言葉を辞書に登録している。なお、本実施形態では、平仮名表記による文字をマスに配置させているので、平仮名表記で２文字以上４文字以下の言葉を、辞書に登録している。
【００７１】
また、本実施形態では、通常の辞書と同じように、同じ発音の言葉であっても（ひらがな表記が同じであっても）、意味が異なる場合には、意味内容に対応付けて文字列を辞書に収録している。例えば、「雨」と「飴」は意味が異なるが、同じ発音である「あめ」（同じひらがな表記）である。したがって、「雨」と「飴」はそれぞれ異なる文字列として辞書に登録されている。
【００７２】
したがって、本実施形態では、プレーヤが作成した文字列が「あめ」である場合には、所与のアルゴリズムに基づいて、「雨」、「飴」等の同一の発音（同一の平仮名表記）である言葉のうちいずれかの言葉を選択してプレーヤが作成した言葉を決定している。
【００７３】
３．カーソルを移動させる手法
本実施形態では、プレーヤからの入力情報に基づいて、カーソルを移動させる処理を行っている。ここで、カーソルとは、プレーヤからの操作に追従する指示位置（ポインタ）である。例えば、方向キーＡ１〜Ａ４からの入力情報に追従してカーソルも上方向、右方向、下方向、左方向に移動させる。なお、本実施形態ではカーソルを上下左右のいずれかの方向に移動させることが主であるので、ゲームの操作の利便性から、上下左右の４方向に応じた方向キーに基づく入力情報を取得できる操作部を備えている携帯電話であることが望ましい。
【００７４】
例えば、文字選択エリアから文字を選択する場合には、上方向キーＡ１、下方向キーＡ３によって、カーソルを１文字単位で移動させることができる。具体的には、図５（Ａ）に示すように、上から３番目にカーソルが位置している場合に、下方向キーＡ３が入力されると、上から４番目の位置にカーソルが移動する。そして、プレーヤから決定ボタンＢが入力されると、カーソルが示す位置の文字の選択を受け付ける。
【００７５】
また、３行３列の格子状のステージ上で、カーソルを移動させる場合には、上方向キーＡ１、右方向キーＡ２、下方向キーＡ３、左方向キーＡ４によって、カーソルを格子単位で移動させることができる。具体的には、図５（Ｂ）に示すように、右上のマス（格子）にカーソルが位置している場合に、下方向キーＡ３の入力情報が検知されると、カーソルを下方向に１マス移動させる。そして、プレーヤから決定ボタンＢの入力情報が検知されると、カーソルが示すマスが空きマスであることを条件に、選択文字とそのマスに隣接する１又は連続する複数のマスに配置された各文字とからなる生成文字列が言葉か否かの判断処理が行われ、言葉であると判断されると、選択文字をプレーヤが指定した空きマスに配置する処理を行う。例えば、図５（Ｂ）の例では、選択文字「い」に隣接する左のマスに配置されている文字「ん」とからなる「んい」が言葉か否かを判断し、選択文字「い」と隣接する下のマスに配置されている文字「ご」とからなる「いご」が言葉か否かを判断し、少なくとも１つの言葉が作成できた場合には、選択文字「い」をマスに配置する処理を行う。
【００７６】
なお、方向キー以外の入力情報、例えば、３６０度の方向を検知可能なアナログキーによる方向入力情報や、加速度センサの加速度等に基づいて、上下左右のうちいずれかの方向を特定する処理を行ってもよい。
【００７７】
また、本実施形態でのカーソルは、図５（Ａ）、（Ｂ）に示すように、背面の格子（マス）から文字を浮き出すような画像（図柄）で表現している。本実施形態のゲームは、言葉を作るゲームであるので、例えば、選択した文字を含む生成文字列が言葉か否かをプレーヤが判断しやすいように、文字そのものをカーソルとして用いている。なお、カーソルは、矢印の図柄、人差し指で示す手の図柄などを用いてもよい。
【００７８】
このように、本実施形態では、プレーヤからの入力情報に基づいてカーソルを移動させている。しかし、常にプレーヤからの入力情報に基づいてカーソルを移動させると、操作が煩雑になりプレーヤにストレスを与えてしまう恐れがある。特に、携帯電話で実現できるゲームの場合は、操作が簡易である方が望ましい。
【００７９】
そこで、本実施形態では、文字選択エリアから文字配置エリアまでのカーソル移動や、文字配置エリアから文字選択エリアまでのカーソル移動について、プレーヤの操作によらずに自動的にカーソルを移動させるように制御している。以下詳細について説明する。
【００８０】
（１）文字選択エリアから文字配置エリアにカーソルを移動させる手法
本実施形態では、文字配置エリアに配置された複数のマスのうち、文字が配置されていない空きマスにカーソルを自動的に移動させる処理を行っている。このようにすれば、文字選択エリアから文字配置エリアまでのカーソル移動の操作を省くことができるからである。また、空きマスに自動的にカーソルを移動しているのは、プレーヤが丁度その空きマスに文字を配置しようと試みていた場合には決定ボタンＢを押下するだけで、言葉であることを条件に選択文字を配置させることができ、操作が簡易になるからである。
【００８１】
次に、本実施形態において、文字選択エリアから文字配置エリアにカーソルの移動させる際に、カーソルの移動先の空きマスを検索する手法について説明する。
【００８２】
本実施形態では、ステージの各格子Ｐｎに対応づけて、格子が文字配置エリアのマスか否かを識別し、文字配置エリアのマスである場合には、そのマスが空きマスか否かを識別している。つまり、ステージの各格子Ｐｎに対応づけて、空きマスか否かを用いて識別している。
【００８３】
そして、本実施形態では、ステージの各格子が空きマスか否かを識別する情報に基づいて、直前に配置された選択文字のマスを基点に空きマスを検索する処理を行う。
【００８４】
より具体的に図６（Ａ）を用いて説明する。まず、図６（Ａ）は、Ｐ１〜Ｐ９からなる
３行３列の格子状のステージである。本実施形態では、ステージ上の複数の格子Ｐ２〜Ｐ９を、文字配置エリアのマスとして設定している。
【００８５】
そして、文字配置エリアを形成する各マスのうち、Ｐ２、Ｐ５、Ｐ７、Ｐ８、Ｐ９のマスに文字が配置されている場合であって、マスＰ５が直前に選択文字が配置されたマスである場合には、マスＰ５を基点として、マスＰ５に最も近い距離の空きマスを検索する。
【００８６】
例えば、まず、マスＰ５に最も近い距離にあるマスＰ５に隣接する上下左右のマスＰ２、Ｐ４、Ｐ６、Ｐ８から空きマスを検索する。例えば、図６（Ａ）では、マスＰ４、Ｐ６が空きマスとして検索される。
【００８７】
このように、空きマスが複数存在する場合には、上から時計回りの優先順位、つまり上、右、下、左の優先順位に従って、空きマスを決定する。図６（Ａ）の例では、マスＰ６がマスＰ４に優先して、カーソル移動先の空きマスとして決定される。
【００８８】
つまり本実施形態では、図６（Ｂ）に示すように、文字選択エリアにおいて文字が選択されることを契機に、文字配置エリアの検索された空きマスＰ６にカーソルを自動的に移動させる処理を行う。
【００８９】
また、本実施形態では、直前に選択文字が配置されたマスに隣接する上下左右に空きマスが存在しない場合には、次に近い距離にある空きマスを検索する。
【００９０】
具体的に、図７（Ａ）を用いて説明すると、マスＰ９が直前に選択文字が配置されたマスであるとすると、マスＰ９に隣接する上下左右の文字配置エリアのマスはＰ８であるが、Ｐ８には既に文字が配置されている。つまり、マスＰ９に隣接するマスには空きマスが存在しないので、さらに次に近い距離にある２マス分の距離にある空きマスを検索する。例えば、図７（Ａ）の例では、マスＰ３、Ｐ７が空きマスとして検索される。そして、空きマスが複数存在するので、上から時計回りの優先順位に基づいて、マスＰ３がカーソル移動先の空きマスとして決定される。
【００９１】
なお、２マス分の距離にある空きマスを検索する前に、直前に配置されたマスに隣接する対角線上にある空きマスを検索してもよい。つまり、上下左右のマス単位で空きマスを検索するだけでなく、対角線上のマス等の他のマスも含めて空きマスを検索するようにしてもよい。
【００９２】
具体的には図７（Ｂ）に示すように、マスＰ５が直前に選択文字が配置されたマスである場合に、マスＰ５に隣接する上下左右の空きマスが存在しない場合には、隣接する１つ分の対角線上の空きマスを検索する。図７（Ｂ）の例では、マスＰ３、Ｐ９、Ｐ７が空きマスとして検索される。そして、空きマスが複数存在するので、右上から時計回りの優先順位に基づいて、カーソル移動先の空きマスを決定する。つまり、図７（Ｂ）の例では、マスＰ３がカーソルの移動先の空きマスとして決定される。
【００９３】
なお、本実施形態では、等距離に２つ以上の空きマスが存在する場合には、時計回りの優先順位で、カーソル移動先の空きマスを決定しているが、反時計回りの優先順位で、カーソル移動先の空きマスを決定してもよい。
【００９４】
なお、文字選択エリアから文字配置エリアに自動的に移動した後は、プレーヤからの方向キーＡ１〜Ａ４の入力情報に基づいてカーソルを移動させる。例えば、空きマスに選択文字を配置した場合に、選択文字と隣接する文字とからなる文字列が言葉でないと判断されると、選択文字をカーソルが指示する空きマスに配置することができない。かかる場合には、プレーヤからの方向キーによる入力情報に基づいてカーソルを移動させることになる。つまり、再度、空きマスを検索して自動的にカーソルを移動させることは行わずに、プレーヤからの入力情報に基づいて、カーソルを移動させる。その理由は、ゲームが簡易化されてしまうことを防止し、プレーヤに言葉を作るというゲームの面白味を与えるためである。
【００９５】
（２）文字配置エリアから文字選択エリアにカーソルを移動させる手法
本実施形態では、選択された文字が空きマスに配置されると、文字配置エリアから文字選択エリアにプレーヤからの入力情報によらずに、カーソルを自動的に移動させている。このようにすれば、プレーヤが文字配置エリアから文字選択エリアまで方向キーでカーソルを移動させる手間を省くことができ、プレーヤにストレスなくゲームをプレイさせることができる。
【００９６】
具体的には、本実施形態では、図８（Ａ）に示すように、文字選択エリアの中から、文字選択エリアの４番目の文字（「い」の文字）を選択して、選択した文字を文字配置エリアに配置できた場合には、図８（Ｂ）に示すように、４番目の文字（「い」の文字）が削除されると共に、５番目以降の文字群を１マス上に移動させる処理を行っている。つまり、Ｎ番目の選択文字が文字配置エリアに配置されると、（Ｎ＋１）番目以下の１又は複数の文字を上方向に移動させている。
【００９７】
そして、本実施形態では、前回選択された「い」の文字があった位置に、つまり文字選択エリアの上から４番目の位置（「う」の文字の位置）にカーソルを自動的に移動させている。
【００９８】
なお、前回選択した文字に関係なく、常に真ん中の文字にカーソルを移動させるようにしてもよい。
【００９９】
また、プレーヤからの入力情報に基づき、文字配置のキャンセル処理（「１手戻す」処理）が行われると、カーソルの位置も選択文字を、文字選択エリア内の元の位置に移動させる。例えば、文字配置のキャンセル処理では、１文字単位で、文字配置エリアに配置された選択文字のマスを空きマスにすると共に、当該選択文字を文字選択エリアに戻す処理を行う。かかる場合には、文字選択エリアに戻された文字の位置に、プレーヤの入力情報によらずカーソルを自動的に移動させるようにしてもよい。要するに、プレーヤの入力情報に基づき文字配置エリアの配置をキャンセルする処理が行われる場合には、プレーヤからの入力情報によらずに、文字配置エリアから文字選択エリアに、カーソルを移動させる。
【０１００】
（３）初回時に文字選択エリアから文字配置エリアにカーソルを移動させる手法
本実施形態では、プレーヤが選択した選択文字が未だ文字配置エリアに配置されていない初回時では、次のように文字選択エリアから文字配置エリアにカーソルを、プレーヤの入力情報によらず自動的に移動させる。
【０１０１】
まず、ステージの中央の格子を特定する。そして、ステージ中央の格子が空きマスである場合には、文字選択エリアからステージ中央の格子の空きマスにカーソルを自動的に移動させる。一方、ステージの中央の格子が空きマスでない場合には、上述した直前に選択文字を配置したマスを基点に空きマスを検索したときと同様に、中央の格子を基点とし、中央の格子から最も距離が近い空きマスを検索し、検索された空きマスにカーソルを自動的に移動させる。
【０１０２】
本実施形態では、各ゲームステージにおいて、ステージの中央の格子や、ステージの中央の格子に隣接する格子に、文字配置エリアを形成する複数のマスを配置している。また、ゲームステージの初期状態では、言葉を作るために、ステージの中央のマスや、ステージの中央のマスに隣接するマスに、予め少なくとも１つの文字が設定される。
【０１０３】
したがって、このような文字配置エリアを用意した本実施形態では、初回時には、文字選択エリアから文字配置エリアの中央の空きマス、或いは、中央の格子に最も近い空きマスにカーソルを自動的に移動させている。このようにすれば、プレーヤの操作が簡易になるからである。
【０１０４】
具体的に、中央の格子を特定する例を説明する。例えば、３行３列のように奇数行、奇数列の格子状のステージである場合には、中央の格子を１つ特定することができる。しかし、行、列の少なくとも１つが偶数である場合には、中央の格子が複数存在するので、次のように中央のマスを特定している。
【０１０５】
図９（Ａ）は、４行４列の偶数行、偶数列の格子状のステージである。かかる場合には、中央の格子が４つ存在する。例えば、格子（マス）Ｐ６、Ｐ７、Ｐ１０、Ｐ１１が中央の格子となる。かかる場合には、いずれか１つの格子（例えば右上の格子Ｐ６）を、中央の格子として特定する。また４つの格子のうち、空きマスが存在する場合には、その空きマスを中央の格子として特定してもよい。
【０１０６】
また、図９（Ｂ）では、３行４列の奇数行、偶数列の格子状のステージである。かかる場合には、中央の格子が２つ存在する。例えば、格子Ｐ６、Ｐ７が中央の格子となる。かかる場合には、いずれか１つの格子（例えば右の格子Ｐ６）を、中央の格子として特定する。また２つの格子のうち、空きマスが存在する場合には、その空きマスを中央の格子として特定してもよい。
【０１０７】
また、図９（Ｃ）では、４行３列の偶数行、奇数列の格子状のステージである。かかる場合には、中央の格子が２つ存在する。例えば、格子Ｐ５、Ｐ８が中央の格子となる。かかる場合には、いずれか１つの格子（例えば上の格子Ｐ５）を、中央の格子として特定する。また２つの格子のうち、空きマスが存在する場合には、その空きマスを中央の格子として特定してもよい。
【０１０８】
なお、中央の格子は、文字配置エリアを形成するマスであってもよいし、文字配置エリアを形成するマスでなくてもよい。
【０１０９】
４．ゲームステージの出題手法
本実施形態では、複数のゲームステージを用意し、プレーヤを飽きさせないようにするために、ゲームステージを出題させる処理を行っている。
【０１１０】
具体的に、図１０を用いて説明する。本実施形態では、１０段階の難易度を設定し、難易度１が最も簡単であり、難易度１０が最も難しいレベルで段階的に難易度１〜１０に進むにつれて難しくなるように難易度に応じたゲームステージを用意する。各難易度には、１００問のゲームステージを用意する。
【０１１１】
そして、初期状態では、難易度１から未出題のゲームステージからランダムに１つのゲームステージを選択し、選択したゲームステージを出題させる処理を行う。
【０１１２】
次に、難易度１のゲームステージがクリアされると、難易度を１つ上げた難易度２のゲームステージにおいて、未出題のゲームステージをランダムに選択し、選択したゲームステージを出題させる処理を行う。そして、ゲームステージがクリアされると、１段階難易度を上げて、同様に、未出題のゲームステージをランダムに選択して出題させる。このように、難易度を１段階ずつ上げながら、未出題のゲームステージを１つ出題させる。そして、難易度１０から未出題のゲームステージを出題させ、クリアされると、難易度１に戻り、繰り返し難易度１〜１０の未出題のゲームステージを１題ずつ出題させる。
【０１１３】
なお、プレーヤがゲームステージをクリアできない場合は、再度同一のゲームステージを出題させる。また、ゲームステージを中断した場合には、中断したゲームステージの中断時からゲームを開始させる処理を行う。
【０１１４】
なお、１０００問のゲームステージを全てクリアした場合には、全ての問題を未出題に設定しなおし、つまり初期状態に戻してゲームステージを出題させる処理を行う。
【０１１５】
図１１は、ゲームステージ毎に識別番号を付与し、識別番号に対応づけて、難易度と出題済フラグとを記憶したテーブルを示す。出題済フラグは、出題済の場合は１を設定し、未出題の場合は０を設定する。
【０１１６】
つまり、本実施形態では、各難易度においてゲームステージを選択する場合には、未出題（出題済みフラグが０）の識別番号から、所与のアルゴリズムに基づきランダムに１つの識別番号を選択し、選択された識別番号に対応するゲームステージを出題させる処理を行っている。なお、ゲームステージがクリアされた場合には、当該ゲームステージの識別番号に対応する出題済フラグを１に更新する処理を行う。
【０１１７】
５．本実施形態の処理
（１）初回時におけるカーソルを移動させる処理例
初回時（プレーヤが選択した選択文字が、未だ文字配置エリアに配置されていない状況）において、文字選択エリアから文字配置エリアにカーソルを移動させる処理例を、図１２を用いて説明する。
【０１１８】
まず、文字選択エリアから文字を選択する（ステップＳ１０）。次に、ステージ中央ａに空きマスがあるか否かを判断する（ステップＳ１１）。ステージ中央aに空きマスがある場合には（ステップＳ１１のＹｅｓ）、ａにカーソル移動させ（ステップＳ１２）、処理を終了する。ステージ中央aに空きマスがない場合には（ステップＳ１１のＮｏ）、ａを基点にして近い距離から順に空きマスの有無を検索する（ステップＳ１３）。
【０１１９】
そして、空きマスが等距離に２つ以上あるか否かを判断する（ステップＳ１４）。空きマスが等距離に２つ以上あると判断される場合には（ステップＳ１４のＹｅｓ）、ａの真上のマスから時計回りに優先してマスを選択し（ステップＳ１５）、該当のマスにカーソルを移動させ（ステップＳ１６）、処理を終了する。一方、空きマスが等距離に２つ以上ないと判断される場合には（ステップＳ１４のＮｏ）、空きマスにカーソルを移動させる処理を行い（ステップＳ１７）、処理を終了する。
【０１２０】
（２）２回目以降におけるカーソル移動の処理例
２回目以降（プレーヤが選択した少なくとも１つの選択文字が、既に文字配置エリアに配置されている状況）において、文字選択エリアから文字配置エリアにカーソルを移動させる処理例を、図１３を用いて説明する。
【０１２１】
まず、文字選択エリアから文字を選択する（ステップＳ２０）。次に、１手前（直前）に選択したマスを基点にして近い距離から順に空きマスの有無を検索する（ステップＳ２１）。
【０１２２】
そして、空きマスが等距離に２つ以上あるか否かを判断する（ステップＳ２２）。空きマスが等距離に２つ以上あると判断される場合には（ステップＳ２２のＹｅｓ）、ａの真上のマスから時計回りに優先してマスを選択し（ステップＳ２３）、該当のマスにカーソルを移動させ（ステップＳ２４）、処理を終了する。一方、空きマスが等距離に２つ以上ないと判断される場合には（ステップＳ２２のＮｏ）、空きマスにカーソルを移動させる処理を行い（ステップＳ２５）、処理を終了する。
【０１２３】
６．応用例
（１）本実施形態では、プレーヤが指示した空きマスに隣接する１又は連続する複数の文字とプレーヤが文字選択エリアから選択した選択文字とからなる生成文字列が辞書に登録されている言葉であると判定された場合には、プレーヤから決定ボタンＢの入力情報を受け付けた場合に限って、プレーヤが選択した選択文字を指示した空きマスに配置するようにしてもよい。かかる場合には、生成文字列が辞書に登録されている言葉であると判定された場合に、言葉が成立することを示す表示制御を行い、選択文字を空きマスに対するカーソル表示（浮き出すような表示）をしたまま、プレーヤから決定ボタンＢの入力情報を受け付けた場合に、選択した文字を空きマスに埋める表示制御を行うようにしてもよい。
【０１２４】
（２）空きマスが等距離に２つ以上検索された場合には、次の優先順位に基づいて１つの空きマスを決定してもよい。
【０１２５】
例えば、検索された各空きマスに選択文字を配置したと仮定した場合に、同時に生成可能な言葉の数の多い順を、優先順位としてもよい。このようにすれば、より多くの言葉を作る可能性のある空きマスに、カーソルを自動的に移動させることができる。
【０１２６】
具体的には、検索された空きマス毎に、当該空きマスに配置予定の文字と、当該空きマスに隣接する１又は連続する文字とからなる文字列の組み合わせの数を算出し、算出された組み合わせ数の多い順を優先順位とする。つまり、検索された２つ以上の空きマスの中から、組み合わせ数の最も多い空きマスを決定し、決定された空きマスにカーソルの移動させる処理を行う。
【０１２７】
例えば、空きマスに隣接する左側のマスに既に文字「あ」が配置されており、「あ」に隣接する左側はマスでなく、また、空きマスに隣接する右側のマスに既に文字「い」が配置されており、さらに「い」に隣接する右側のマスに既に「う」の文字が配置され、「う」に隣接する右側はマスでない場合であって、空きマスに隣接する上下のマスには文字が配置されていない場合には、組み合わせ数は、（「あ」＋空きマス）、（空きマス＋「い」）、（「あ」＋空きマス＋「い」）、（空きマス＋「い」＋「う」）、（「あ」＋空きマス＋「い」＋「う」）の５つとなる。
【０１２８】
また、検索された各空きマスに選択文字を配置したと仮定した場合に、生成し得る言葉の文字数の多い順を、優先順位としてもよい。このようにすれば、より文字数の多い言葉を作る可能性のある空きマスに、カーソルを自動的に移動させることができる。
【０１２９】
具体的には、検索された空きマス毎に、当該空きマスに配置予定の文字と、当該空きマスに隣接する１又は連続する文字とからなる文字列のうち、最も文字数の多い文字列を算出する。そして、検索された２つ以上の空きマスの中から、算出された文字列の文字数の最も多い空きマスを決定し、決定された空きマスにカーソルを移動させる処理を行う。
【０１３０】
（３）本実施形態では、例えば、将棋やチェス、オセロなど格子状の基盤を用いたゲームに応用してもよい。
【０１３１】
例えば、将棋のゲームの場合には、プレーヤからの入力情報に基づいて持ち駒の選択を受け付けると、プレーヤからの入力情報によらず自動的に将棋の基盤の空いている位置に、選択した持ち駒を配置させるようにしてもよい。かかる場合には、配置可能な位置、例えば、空きマスに駒を配置させてもよい。また、将棋のルールに従って、プレーヤ、相手プレーヤそれぞれの配置されている駒の種類、当該駒のマスの位置に基づいて、プレーヤにとって最も有利な位置に駒を配置させるようにしてもよい。
【図面の簡単な説明】
【０１３２】
【図１】本実施形態の端末の機能ブロック図。
【図２】本実施形態の端末（携帯電話）の一例。
【図３】本実施形態の表示画面の一例。
【図４】本実施形態の辞書データの一例。
【図５】図５（Ａ）（Ｂ）は本実施形態のカーソル移動の説明図。
【図６】図６（Ａ）（Ｂ）は本実施形態のカーソル移動の説明図。
【図７】図７（Ａ）（Ｂ）は、空きマスを検索する手法の説明図。
【図８】図８（Ａ）（Ｂ）は、本実施形態のカーソル移動の説明図。
【図９】図９（Ａ）（Ｂ）（Ｃ）は、本実施形態のカーソル移動の説明図。
【図１０】本実施形態のゲームステージの出題制御の手法を説明するための図。
【図１１】本実施形態のゲームステージの出題制御テーブルの一例。
【図１２】本実施形態のフローチャート図。
【図１３】本実施形態のフローチャート図。
【符号の説明】
【０１３３】
１００  処理部、１１０  ゲーム演算部、
１１０ａ  文字列判定部、１１０ｂ  クリア条件判定部、
１１２  カーソル移動制御部、
１１３  受け付け部、
１１４  文字配置部、
１１６  表示制御部、
１２０  描画部、１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  主記憶部、１７４  描画バッファ、
１７６  辞書データ記憶部、
１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９６  通信部
【図１】
2009233237.tif 000003
【図２】
2009233237.tif 000004
【図３】
2009233237.tif 000005
【図４】
2009233237.tif 000006
【図５】
2009233237.tif 000007
【図６】
2009233237.tif 000008
【図７】
2009233237.tif 000009
【図８】
2009233237.tif 000010
【図９】
2009233237.tif 000011
【図１０】
2009233237.tif 000012
【図１１】
2009233237.tif 000013
【図１２】
2009233237.tif 000014
【図１３】
2009233237.tif 000015