(57)【特許請求の範囲】
【請求項１】
命令に従って情報を処理する情報処理装置のコンピュータに、
前記命令を構成する複数の命令要素のうち少なくとも１つを指定する操作を繰り返し受け付ける受付ステップ、
前記受付ステップによって受け付けられた操作に対応する各命令要素が特定属性を有するか否かを判別する属性判別ステップ、
前記属性判別ステップによって特定属性を有すると判別された第１命令要素を第１メモリに書き込む第１メモリ書込処理、および前記属性判別ステップによって特定属性を有しないと判別された第２命令要素を第２メモリに書き込む第２メモリ書込処理の少なくとも一方を実行するメモリ書込ステップ、
前記第１メモリおよび前記第２メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを前記メモリ書込ステップの書込処理が実行される度に判別する第１判別ステップ、および
前記第１判別ステップによって前記第１メモリおよび前記第２メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理ステップを実行させる、情報処理プログラム。
【請求項２】
前記第１判別ステップは、
前記第１メモリおよび前記第２メモリに跨って格納された命令要素列が所定の命令要素列と一致する場合に実行可能条件を満足すると判別し、
前記第１メモリおよび前記第２メモリに跨って格納された命令要素列が前記所定の命令要素列と一致しない場合には実行可能条件を満足しないと判別し、
前記コンピュータに、前記第１判別ステップによって実行可能条件を満足しないと判別されたとき前記第１メモリおよび前記第２メモリを初期化する第１初期化ステップをさらに実行させる、請求項１記載の情報処理プログラム。
【請求項３】
前記第１判別ステップは、前記第１メモリに前記第１命令要素が格納されていない場合、または前記第１メモリおよび前記第２メモリに跨って格納された命令要素列の要素数が前記所定の命令要素列の要素数に満たない場合には判別を保留し、
前記受付ステップは、前記情報処理ステップが判別を保留したときさらなる操作を受け付ける、請求項２記載の情報処理プログラム。
【請求項４】
前記コンピュータに、前記受付ステップによる前記操作の受け付けに応答して前記第１メモリに前記第１命令要素が記憶されない場合に前記第１メモリおよび前記第２メモリを初期化する第２初期化ステップをさらに実行させる、請求項２または３記載の情報処理プログラム。
【請求項５】
前記第１命令要素は行動を、前記第２命令要素は当該行動の主体または客体をそれぞれ示し、
毎回の前記操作は、１つの前記第１命令要素または１つの前記第２命令要素を指定する第１操作、および複数の前記第２命令要素を順次指定する第２操作のいずれかであり、
前記属性判別ステップは、１回の前記操作が受け付けられる毎に、当該操作に対応する各命令要素について特定属性を有するか否かの判別を行う、請求項１ないし４のいずれかに記載の情報処理プログラム。
【請求項６】
前記第１操作は、単一の命令要素を点で指定し、前記第２操作は、複数の命令要素を線で指定する、請求項５記載の情報処理プログラム。
【請求項７】
前記命令を構成する複数の命令要素はディスプレイに表示され、
前記第１操作は、前記ディスプレイに設けられたタッチパネル内の任意の点へのタッチオン操作および当該点からのタッチオフ操作を含むクリックタッチ操作であり、
前記第２操作は、前記タッチパネル内の任意の第１点へのタッチオン操作，当該第１点から当該タッチパネル内の任意の第２点へのスライド操作および当該第２点からのタッチオフ操作を含むスライドタッチ操作である、請求項６記載の情報処理プログラム。
【請求項８】
前記コンピュータに、
前記受付ステップによって受け付けられた操作に対応する命令要素をバッファに書き込むバッファ書込ステップをさらに実行させ、
前記バッファは第１バッファおよび第２バッファを含み、
前記バッファ書込ステップは、前記タッチオン操作に対応する命令要素を前記第１バッファに書き込む一方、前記タッチオフ操作に対応する命令要素を前記第２バッファに書き込み、
前記メモリ書込ステップは、前記バッファ書込ステップの書込処理に応答して、前記第１バッファおよび前記第２バッファに格納された命令要素を前記第１メモリまたは前記第２メモリに書き込む、請求項７記載の情報処理プログラム。
【請求項９】
前記コンピュータに、
前記第１バッファに格納された命令要素および前記第２バッファに格納された命令要素が互いに一致するか否かを前記バッファ書込ステップの書込処理の後に判別する第２判別ステップ、および
前記第２判別ステップによって前記第１バッファに格納された命令要素および前記第２バッファに格納された命令要素が互いに一致すると判別されたとき当該第２バッファをリセットするリセットステップをさらに実行させる、請求項８記載の情報処理プログラム。
【請求項１０】
前記バッファは第３バッファをさらに含み、
前記バッファ書込ステップはさらに、前記スライド操作に対応する１つまたは複数の命令要素を前記第３バッファに書き込む、請求項８または９記載の情報処理プログラム。
【請求項１１】
前記第１命令要素は自然言語における動詞の機能を持つ命令要素であり、前記第２命令要素は前記動詞に関して主語および目的語のいずれかの機能を持つ命令要素である、請求項１ないし１０いずれかに記載の情報処理プログラム。
【請求項１２】
前記自然言語は、前記命令を示す文を主語，目的語および動詞の語順で構成する第１自然言語、および前記命令を示す文を主語，動詞および目的語の語順で構成する第２自然言語を含み、
前記操作は、前記命令を構成する複数の命令要素を前記第１自然言語および前記第２自然言語の中から任意に選択される自然言語の構文に従う順序で指定する、請求項１１記載の情報処理プログラム。
【請求項１３】
前記第１判別ステップの判別処理は、実行可能な１つまたは複数の命令要素列を記述したデータベースに基づく、請求項１ないし１２のいずれかに記載の情報処理プログラム。
【請求項１４】
命令に従って情報を処理する情報処理装置であって、
前記命令を構成する複数の命令要素のうち少なくとも１つを指定する操作を繰り返し受け付ける受付手段、
前記受付手段によって受け付けられた操作に対応する各命令要素が特定属性を有するか否かを判別する属性判別手段、
前記属性判別手段によって特定属性を有すると判別された第１命令要素を第１メモリに書き込む第１メモリ書込処理、および前記属性判別手段によって特定属性を有しないと判別された第２命令要素を第２メモリに書き込む第２メモリ書込処理の少なくとも一方を実行するメモリ書込手段、
前記第１メモリおよび前記第２メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを前記メモリ書込手段の書込処理が実行される度に判別する判別手段、および
前記判別手段によって前記第１メモリおよび前記第２メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理手段を備える、情報処理装置。
【請求項１５】
命令に従って情報を処理する情報処理方法であって、
前記命令を構成する複数の命令要素のうち少なくとも１つを指定する操作を繰り返し受け付ける受付ステップ、
前記受付ステップによって受け付けられた操作に対応する各命令要素が特定属性を有するか否かを判別する属性判別ステップ、
前記属性判別ステップによって特定属性を有すると判別された第１命令要素を第１メモリに書き込む第１メモリ書込処理、および前記属性判別ステップによって特定属性を有しないと判別された第２命令要素を第２メモリに書き込む第２メモリ書込処理の少なくとも一方を実行するメモリ書込ステップ、
前記第１メモリおよび前記第２メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを前記メモリ書込ステップの書込処理が実行される度に判別する第１判別ステップ、および
前記第１判別ステップによって前記第１メモリおよび前記第２メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理ステップを含む、情報処理方法。
【請求項１６】
命令に従って情報を処理する情報処理システムであって、
前記命令を構成する複数の命令要素のうち少なくとも１つを指定する操作を繰り返し受け付ける受付手段、
前記受付手段によって受け付けられた操作に対応する各命令要素が特定属性を有するか否かを判別する属性判別手段、
前記属性判別手段によって特定属性を有すると判別された第１命令要素を第１メモリに書き込む第１メモリ書込処理、および前記属性判別手段によって特定属性を有しないと判別された第２命令要素を第２メモリに書き込む第２メモリ書込処理の少なくとも一方を実行するメモリ書込手段、
前記第１メモリおよび前記第２メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを前記メモリ書込手段の書込処理が実行される度に判別する判別手段、および
前記判別手段によって前記第１メモリおよび前記第２メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理手段を備える、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理プログラムおよび情報処理装置に関し、特にたとえば、操作を受け付け、受け付けられた操作に対応する命令に従って情報を処理する、情報処理プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
この種の装置の一例が、特許文献１に開示されている。この従来の装置は、テンキーおよび演算キーを含む複数のキー（命令要素）をディスプレイに表示し、ディスプレイに設けられたタッチパネルへのタッチ操作を検出し、検出された一連のタッチ操作に対応する命令要素列に従って演算を実行する。たとえば、４つのキー“９”，“÷”，“３”および“＝”が順次タッチされると、この命令要素列に従う演算“９÷３＝”を実行する。
【０００３】
また、他の一例が特許文献２に開示されている。この背景技術では、操作対象をディスプレイに表示し、ディスプレイに設けられたタッチパネルへのタッチ操作を検出し、検出結果に基づいてディスプレイ上の操作対象を移動させる。
【０００４】
タッチ操作としては、任意の点へのタッチオンおよび当該点からのタッチオフで構成されるタッチ操作（クリックタッチ操作）、および任意の第１点へのタッチオン，当該第１点から任意の第２点へのスライドおよび当該第２点からのタッチオフで構成されるタッチ操作（スライドタッチ操作）の２種類がある。
【０００５】
操作対象の表示領域内に位置する第１点へのクリックタッチ操作の後に、この表示領域の外に位置する第２点へのクリックタッチ操作が行われると、表示対象は第２点の位置まで瞬時に移動する。一方、第１点から第２点へのスライドタッチ操作が行われると、表示対象はスライドの進行につれて第２点の位置まで段階的に移動する。
【特許文献１】特開２００５−４４０２６号公報
【特許文献２】特開平５−１１９９４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１では、ある１つの処理に対応する命令要素列はただ１通りで、複数の命令要素の間の指定順序を入れ替えることはできない。
【０００７】
一方、特許文献２は、クリックおよびスライドの２種類のタッチ操作、およびタッチ操作の種類によって操作対象の移動の仕方を変化させる方策について開示するものの、タッチ操作に対応する命令要素列に従う処理を実行することについては、何ら開示していない。
【０００８】
それゆえに、この発明の主たる目的は、新規な、情報処理プログラムおよび情報処理装置を提供することである。
【０００９】
この発明の他の目的は、命令を構成する複数の命令要素を順次指定する操作を行うにあたって、複数の命令要素の間の指定順序を変更できる、情報処理プログラムおよび情報処理装置を提供することである。
【００１０】
この発明のその他の目的は、さらに、操作として２種類のタッチ操作のいずれか１つを任意に選択できる、情報処理プログラムおよび情報処理装置を提供することである。
【課題を解決するための手段】
【００１１】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【００１２】
第１の発明に従う情報処理プログラムは、命令に従って情報を処理する情報処理装置のコンピュータに次のステップを実行させる：命令を構成する複数の命令要素のうち少なくとも１つを指定する操作を繰り返し受け付ける受付ステップ；受付ステップによって受け付けられた操作に対応する命令要素のうち特定属性を有する第１命令要素を第１メモリに書き込む第１メモリ書込処理、および受付ステップによって受け付けられた操作に対応する命令要素のうち特定属性とは異なる属性を有する第２命令要素を第２メモリに書き込む第２メモリ書込処理の少なくとも一方を実行するメモリ書込ステップ；第１メモリおよび第２メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを移動ステップの移動処理が実行される度に判別する第１判別ステップ；および第１判別ステップによって第１メモリおよび第２メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理ステップ。
【００１３】
第１の発明では、情報処理装置（１０）のコンピュータ（３４）は、情報処理プログラムに基づいて、受付ステップ（Ｓ７，Ｓ９，Ｓ１３，Ｓ１５，Ｓ１２ｂ，Ｓ１２ｃ），メモリ書込ステップ（Ｓ２３〜Ｓ５１，Ｓ３４ａ〜Ｓ３４ｄ，Ｓ４６ａ〜Ｓ４６ｄ），第１判別ステップ（Ｓ５３）および情報処理ステップ（Ｓ５５）を実行する。
【００１４】
コンピュータに情報処理を実行させるための命令は、複数の命令要素（Ｆ１〜Ｆ４，Ａ１，Ａ２，…）で構成される。ユーザは、命令を構成する複数の命令要素を順次指定する操作を行うが、１回の操作で複数の命令要素のうち少なくとも１つが指定される。したがって、たとえば、２つの命令要素で構成される命令には１回または２回の操作を要し、３つの命令要素で構成される命令には１回ないし３回の操作を要する。
【００１５】
受付ステップ（Ｓ７，Ｓ９，Ｓ１３，Ｓ１５，Ｓ１２ｂ，Ｓ１２ｃ）は、命令を構成する複数の命令要素（Ｆ１〜Ｆ４，Ａ１，Ａ２，…）のうち少なくとも１つを指定する操作を繰り返し受け付ける。
メモリ書込ステップ（Ｓ２３〜Ｓ５１，Ｓ３４ａ〜Ｓ３４ｄ，Ｓ４６ａ〜Ｓ４６ｄ）は、受付ステップによって受け付けられた操作に対応する命令要素のうち特定属性を有する第１命令要素（Ａ１，Ａ２，…）を第１メモリ（７２ａ）に書き込む第１メモリ書込処理、および受付ステップによって受け付けられた操作に対応する命令要素のうち特定属性とは異なる属性を有する第２命令要素（Ｆ１〜Ｆ４）を第２メモリ（７２ｂ〜７２ｄ）に書き込む第２メモリ書込処理、の少なくとも一方を実行する。
【００１６】
第１判別ステップ（Ｓ５３）は、いずれかのメモリ書込処理が実行される度に、第１メモリおよび第２メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを判別し、情報処理ステップ（Ｓ５５）は、第１メモリおよび第２メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき、当該命令要素列に従って情報を処理する。
【００１７】
なお、第１メモリおよび第２メモリに跨って格納された命令要素列が実行可能条件を満足しないと判別されると、情報処理は実行されず、実行可能条件を満足すると判別されるまで、受付ステップによってさらなる操作が受け付けられる。
【００１８】
第１の発明によれば、１回の操作毎に、対応する命令要素のうち第１命令要素を第１メモリに、第２命令要素を第２メモリにそれぞれ書き込むので、ユーザは、操作を行うにあたって、第１命令要素および第２命令要素の間の指定順序を変更できる。
【００１９】
第２の発明に従う情報処理プログラムは、第１の発明に従属し、操作は、単一の命令要素を点で指定する第１操作、および複数の命令要素を線で指定する第２操作を含む。
【００２０】
第２の発明では、操作は第１操作および第２操作を含む。第１操作は単一の命令要素を点で指定し、第２操作は複数の命令要素を線で指定する。
【００２１】
第２の発明によれば、ユーザは、操作として第１操作および第２操作のいずれか１つを任意に選択することができる。また、第２操作の選択頻度を高めることで、操作回数の削減が可能となる。
【００２２】
第３の発明に従う情報処理プログラムは、第２の発明に従属し、命令を構成する複数の命令要素はディスプレイに表示され、第１操作は、ディスプレイに設けられたタッチパネル内の任意の点へのタッチオン操作および当該点からのタッチオフ操作を含むクリックタッチ操作であり、第２操作は、タッチパネル内の任意の第１点へのタッチオン操作，当該第１点から当該タッチパネル内の任意の第２点へのスライド操作および当該第２点からのタッチオフ操作を含むスライドタッチ操作である。
【００２３】
第３の発明では、命令を構成する複数の命令要素はディスプレイ（１４）に表示され、第１操作はクリックタッチ操作であり、そして第２操作はスライドタッチ操作である。クリックタッチ操作は、ディスプレイに設けられたタッチパネル（２４）内の任意の点（Ｐ０）へのタッチオン操作，および当該点からのタッチオフ操作を含む。スライドタッチ操作は、タッチパネル内の任意の第１点（Ｐ０）へのタッチオン操作，当該第１点から当該タッチパネル内の任意の第２点（Ｐ１）へのスライド操作，および当該第２点からのタッチオフ操作を含む。
【００２４】
第４の発明に従う情報処理プログラムは、第３の発明に従属し、コンピュータにバッファ書込ステップをさらに実行させる。バッファは第１バッファおよび第２バッファを含み、バッファ書込ステップは、タッチオン操作に対応する命令要素を第１バッファに書き込む一方、タッチオフ操作に対応する命令要素を第２バッファに書き込む。メモリ書込ステップは、バッファ書込ステップの書込処理に応答して、第１バッファおよび第２バッファに格納された命令要素を第１メモリまたは第２メモリに書き込む。
【００２５】
第４の発明では、バッファ書込ステップ（Ｓ１１，Ｓ１７，Ｓ１２ｄ）が、タッチオン操作に対応する命令要素を第１バッファ（７４ａ）に書き込み、タッチオフ操作に対応する命令要素を第２バッファ（７４ｂ）に書き込む。メモリ書込ステップは、第１バッファおよび第２バッファに格納された命令要素を、バッファ書込処理に応答して第１メモリまたは第２メモリに書き込む。
【００２６】
第５の発明に従う情報処理プログラムは、第４の発明に従属し、コンピュータに次のステップをさらに実行させる：第１バッファに格納された命令要素および第２バッファに格納された命令要素が互いに一致するか否かをバッファ書込ステップの書込処理の後に判別する第２判別ステップ；および第２判別ステップによって第１バッファに格納された命令要素および第２バッファに格納された命令要素が互いに一致すると判別されたとき当該第２バッファをリセットするリセットステップ。
【００２７】
第５の発明では、バッファ書込ステップの書込処理の後、第１バッファに格納された命令要素および第２バッファに格納された命令要素が互いに一致するか否かが、第２判別ステップ（Ｓ１９）によって判別される。リセットステップ（Ｓ２１）は、第２判別ステップによって第１バッファに格納された命令要素および第２バッファに格納された命令要素が互いに一致すると判別されたとき、当該第２バッファをリセットする。
【００２８】
第５の発明によれば、第１バッファおよび第２バッファに共通の命令要素が格納された場合、第２バッファはリセットされるので、共通の命令要素へのスライドタッチ操作はクリックタッチ操作と見なされる。これにより、クリックタッチ操作およびスライドタッチ操作の使い分けが容易となる。
【００２９】
第６の発明に従う情報処理プログラムは、第４または第５の発明に従属し、バッファは第３バッファをさらに含み、バッファ書込ステップはさらにスライド操作に対応する１つまたは複数の命令要素を第３バッファに書き込む。
【００３０】
第６の発明では、スライド操作に対応する１つまたは複数の命令要素は、第３バッファ（７４ｃ，７４ｄ，…）に書き込まれる。
【００３１】
第６の発明によれば、３つ以上の命令要素を１回のスライドタッチ操作で指定できる。
【００３２】
第７の発明に従う情報処理プログラムは、第１ないし第６のいずれかの発明に従属し、第１命令要素は自然言語における動詞の機能を持つ命令要素であり、第２命令要素は動詞に関して主語および目的語のいずれかの機能を持つ命令要素である。
【００３３】
第８の発明に従う情報処理プログラムは、第７の発明に従属し、自然言語は、命令を示す文を主語，目的語および動詞の語順で構成する第１自然言語、ならびに命令を示す文を主語，動詞および目的語の語順で構成する第２自然言語を含み、操作は、命令を構成する複数の命令要素を第１自然言語および第２自然言語の中から任意に選択される自然言語の構文に従う順序で指定する。
【００３４】
第７および第８の発明によれば、自然言語の構文に従うことで、操作性が向上する。
【００３５】
第９の発明に従う情報処理プログラムは、第１ないし第８のいずれかの発明に従属し、第１判別ステップの判別処理は、実行可能な１つまたは複数の命令要素列を記述したデータベースに基づく。
【００３６】
第９の発明によれば、データベース（７６ｃ）を参照することで、容易かつ的確に判別を行うことができる。また、第１命令要素および第２命令要素の可能な組み合わせを登録するだけでよい（すなわち可能な順列をデータベースに網羅する必要がない）ので、データベースの情報量を削減できる。
【００３７】
第１０の発明に従う情報処理装置（１０）は、命令に従って情報を処理する情報処理装置であって、次の手段を備える：命令を構成する複数の命令要素（Ｆ１〜Ｆ４，Ａ１，Ａ２，…）のうち少なくとも１つを指定する操作を繰り返し受け付ける受付手段（Ｓ７，Ｓ９，Ｓ１３，Ｓ１５，Ｓ１２ｂ，Ｓ１２ｃ）；受付手段によって受け付けられた操作に対応する命令要素のうち特定属性を有する第１命令要素（Ａ１，Ａ２，…）を第１メモリ（７２ａ）に書き込む第１メモリ書込処理、および受付手段によって受け付けられた操作に対応する命令要素のうち特定属性とは異なる属性を有する第２命令要素（Ｆ１〜Ｆ４）を第２メモリ（７２ｂ〜７２ｄ）に書き込む第２メモリ書込処理の少なくとも一方を実行するメモリ書込手段（Ｓ２３〜Ｓ５１，Ｓ３４ａ〜Ｓ３４ｄ，Ｓ４６ａ〜Ｓ４６ｄ）；第１メモリおよび第２メモリに跨って格納された命令要素列が実行可能条件を満足するか否かをメモリ書込手段の書込処理が実行される度に判別する判別手段（Ｓ５３）；および判別手段によって第１メモリおよび第２メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理手段（Ｓ５５）。
【００３８】
第１０の発明でも、第１の発明と同様に、第１命令要素および第２命令要素の間の指定順序を変更できる。
第１１の発明（請求項１の発明）は、命令に従って情報を処理する情報処理装置のコンピュータに、命令を構成する複数の命令要素のうち少なくとも１つを指定する操作を繰り返し受け付ける受付ステップ、受付ステップによって受け付けられた操作に対応する各命令要素が特定属性を有するか否かを判別する属性判別ステップ、属性判別ステップによって特定属性を有すると判別された第１命令要素を第１メモリに書き込む第１メモリ書込処理、および属性判別ステップによって特定属性を有しないと判別された第２命令要素を第２メモリに書き込む第２メモリ書込処理の少なくとも一方を実行するメモリ書込ステップ、第１メモリおよび第２メモリに跨って格納された命令要素列が実行可能条件を満足するか否かをメモリ書込ステップの書込処理が実行される度に判別する第１判別ステップ、および第１判別ステップによって第１メモリおよび第２メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理ステップを実行させる、情報処理プログラムである。
第１２（請求項２の発明）の発明は、第１１の発明に従属し、第１判別ステップは、第１メモリおよび第２メモリに跨って格納された命令要素列が所定の命令要素列と一致する場合に実行可能条件を満足すると判別し、第１メモリおよび第２メモリに跨って格納された命令要素列が所定の命令要素列と一致しない場合には実行可能条件を満足しないと判別し、情報処理プログラムはコンピュータに、第１判別ステップによって実行可能条件を満足しないと判別されたとき第１メモリおよび第２メモリを初期化する第１初期化ステップをさらに実行させる。
第１３の発明（請求項３の発明）は、第１２の発明に従属し、第１判別ステップは、第１メモリに第１命令要素が格納されていない場合、または第１メモリおよび第２メモリに跨って格納された命令要素列の要素数が所定の命令要素列の要素数に満たない場合には判別を保留し、受付ステップは、情報処理ステップが判別を保留したときさらなる操作を受け付ける。
第１４の発明（請求項４の発明）は、第１２または第１３の発明に従属し、情報処理プログラムはコンピュータに、受付ステップによる操作の受け付けに応答して第１メモリに第１命令要素が記憶されない場合に第１メモリおよび第２メモリを初期化する第２初期化ステップをさらに実行させる。
第１５の発明（請求項５の発明）は、第１１ないし第１４のいずれかの発明に従属し、第１命令要素は行動を、第２命令要素は当該行動の主体または客体をそれぞれ示し、毎回の操作は、１つの第１命令要素または１つの第２命令要素を指定する第１操作、および複数の第２命令要素を順次指定する第２操作のいずれかであり、属性判別ステップは、１回の操作が受け付けられる毎に、当該操作に対応する各命令要素について特定属性を有するか否かの判別を行う。
【発明の効果】
【００３９】
この発明によれば、命令を構成する複数の命令要素を順次指定する操作を行うにあたって、これら複数の命令要素のうち互いに異なる属性を有する第１命令要素および第２命令要素の間の指定順序を変更することができる。また、操作として、クリックおよびスライドの２種類のタッチ操作を任意に選択することができる。この結果、操作性が向上する。
【００４０】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００４１】
図１を参照して、この実施例のゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。ＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング１６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００４２】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるよう
にしてもよい。
【００４３】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂの平面形状およびサイズも上側ハウジング１６ａと同等に選ばれ、横方向の略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。下側ハウジング１６ｂの右側面には電源スイッチ１８が設けられる。
【００４４】
また、上側ハウジング１６ａには、ＬＣＤ１２を挟んで左右に、スピーカ３６ａおよび３６ｂ（図２）のための音抜き孔２０ａおよび２０ｂが形成される。
【００４５】
上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００４６】
そして、上側ハウジング１６ａと下側ハウジング１６ｂとの連結部の中央には、マイク（図示せず）のためのマイク孔２０ｃが形成される。マイクから取り込んだ音、音声または息などによる音声信号に基づいてゲーム処理を行うことが可能である。
【００４７】
また、下側ハウジング１６ｂには、操作スイッチ２２（２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２Ｌおよび２２Ｒ）が設けられる。
【００４８】
操作スイッチ２２は、方向指示スイッチ（十字スイッチ）２２ａ，スタートスイッチ２２ｂ、セレクトスイッチ２２ｃ、動作スイッチ（Ａボタン）２２ｄ、動作スイッチ（Ｂボタン）２２ｅ、動作スイッチ（Ｘボタン）２２ｆ、動作スイッチ（Ｙボタン）２２ｇ、動作スイッチ（Ｌボタン）２２Ｌおよび動作スイッチ（Ｒボタン）２２Ｒを含む。スイッチ２２ａは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の左側に配置される。その他のスイッチ２２ｂ−２２ｇは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の右側に配置される。さらに、動作スイッチ２２Ｌおよび２２Ｒは、それぞれ下側ハウジング１６ｂの上端面の左右角部に配置される。なお、動作スイッチ２２Ｌおよび２２Ｒは下側ハウジング１６ｂの背面に設けられており、図１のような正面視では連結部の背後に隠れているので破線で示されている。
【００４９】
方向指示スイッチ２２ａは、ディジタルジョイスティックとして機能し、４つの押圧部の１つを操作することによって、ユーザないしプレイヤによって操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)の進行方向（移動方向）を指示したり、カーソルの進行方向を指示したりする等に用いられる。また、各押圧部には、特定の役割を割り当てることができ、４つの押圧部の１つを操作することによって、割り当てられた役割を指示（指定）することができる。
【００５０】
スタートスイッチ２２ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止(Pause)したりする等に用いられる。また、セレクトスイッチ２２ｃは、プッ
シュボタンで構成され、ゲームモードの選択等に用いられる。
【００５１】
動作スイッチ２２ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤオブジェクトに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(ＲＰＧ)やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ２２ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ２２ｃで選択したゲームモードの変更やＡボタン２２ｄで決定したアクションの取り消し等のために用いられる。
【００５２】
動作スイッチ２２ｆすなわちＸボタン、および動作スイッチ２２ｇすなわちＹボタンは、プッシュボタンで構成され、Ａボタン２２ｄとＢボタン２２ｅだけでは、ゲーム進行ができないときに、補助的な操作に用いられる。ただし、Ｘボタン２２ｆおよびＹボタン２
２ｇは、Ａボタン２２ｄおよびＢボタン２２ｅと同様の操作に用いることも可能である。もちろん、ゲームプレイにおいてＸボタン２２ｆとＹボタン２２ｇとを必ずしも使用しなくてよい。
【００５３】
動作スイッチ２２Ｌ（左押しボタン）および動作スイッチ２２Ｒ（右押しボタン）は、プッシュボタンで構成され、左押しボタン（Ｌボタン）２２Ｌおよび右押しボタン（Ｒボタン）２２Ｒは、Ａボタン２２ｄおよびＢボタン２２ｅと同様の操作に用いることができ、また、Ａボタン２２ｄおよびＢボタン２２ｅの補助的な操作に用いることができる。さらに、Ｌボタン２２ＬおよびＲボタン２２Ｒは、方向スイッチ２２ａ、Ａボタン２２ｄ，Ｂボタン２２ｅ，Ｘボタン２２ｆ，Ｙボタン２２ｇに割り当てられた役割を、他の役割に変更することができる。
【００５４】
また、ＬＣＤ１４の上面には、タッチパネル２４が装着される。タッチパネル２４としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２４は、その上面をスティック２６ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２６等」という場合がある。）で、押圧したり、撫でたり、触れたりすることにより操作（タッチ入力）すると、スティック２６等の操作位置の座標を検出して、当該検出座標に対応する座標データを出力する。
【００５５】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２５６ｄｏｔ×１９２ｄｏｔである。タッチパネル２４の検出精度も表示画面に対応して２５６ｄｏｔ×１９２ｄｏｔとしてあるが、タッチパネル２４の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【００５６】
ＬＣＤ１２およびＬＣＤ１４には異なるゲーム画面が表示されてもよい。たとえば、レースゲームでは一方のＬＣＤに運転席からの視点による画面を表示し、他方のＬＣＤにレース（コース）全体の画面を表示することができる。また、ＲＰＧでは、一方のＬＣＤにマップやプレイヤオブジェクト等のキャラクタを表示し、他方のＬＣＤにプレイヤオブジェクトが所有するアイテムを表示することができる。さらに、一方のＬＣＤにプレイヤオブジェクトやノンプレイヤオブジェクトなどを含むゲーム画面を表示し、他方のＬＣＤに当該プレイヤオブジェクトやノンプレイヤオブジェクトに関する情報を含む他のゲーム画面または当該プレイヤオブジェクトを操作するための操作画面を表示することができる。さらには、２つのＬＣＤ１２およびＬＣＤ１４を合わせて１つの画面として用いることにより、プレイヤオブジェクトが倒さなければならない巨大な怪物（敵オブジェクト）を表示することもできる。
【００５７】
したがって、プレイヤはスティック２６等でタッチパネル２４を操作することにより、ＬＣＤ１４の画面に表示されるプレイヤオブジェクト、敵オブジェクト、アイテムオブジェクト、操作オブジェクトなどの画像を指示（操作）したり、コマンドを選択（入力）したりすることができる。また、仮想ゲーム空間（３次元ゲーム空間）に設けられる仮想カメラ（視点）の方向（視線の向き）を変化させたり、ゲーム画面（マップ）のスクロール(徐々に移動表示)方向を指示したりすることもできる。
【００５８】
なお、ゲームの種類によっては、タッチパネル２４を用いることにより、その他の入力指示も可能である。たとえば、ＬＣＤ１４において文字，数字，記号等を手書き入力することができる。
【００５９】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の上面にタッチパネル２４が設けられるので、２画面（１２，１４）と２系統の操作部（２２，２４）とを有する構成になっている。
【００６０】
なお、この実施例では、第１のＬＣＤ１２と第２のＬＣＤ１４とを縦方向に並べて配置するようにしているが、２つのＬＣＤの配置は適宜に変更され得る。他の実施例では、第１のＬＣＤ１２と第２のＬＣＤ１４とを横方向に並べて配置するようにしてもよい。
【００６１】
また、この実施例では、２つのＬＣＤを設けるようにしていたが、表示手段としてのＬＣＤの数は適宜変更され得る。他の実施例では、縦長形状の１つのＬＣＤを設けて、表示領域を上下に分けて、２つのゲーム画面をそれぞれの表示領域に表示するようにしてもよいし、あるいは、横長形状の１つのＬＣＤを設けて、表示領域を左右に分割し、２つゲーム画面をそれぞれの表示領域に表示するようにしてもよい。
【００６２】
また、スティック２６は、たとえば下側ハウジング１６ｂに設けられる収納部（図示せず）に収納することができ、必要に応じて取り出される。ただし、スティック２６を設けない場合には、その収納部も設ける必要はない。
【００６３】
さらに、ゲーム装置１０はメモリカード（またはカートリッジ）２８を含み、このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの上端面に設けられる挿入部３０（図１では点線で示す）に挿入される。図１では省略するが、挿入部３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタと接合するためのコネクタ３２（図２参照）が設けられており、したがって、メモリカード２８が挿入部３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア３４（図２参照）がメモリカード２８にアクセス可能となる。
【００６４】
なお、図１では表現できないが、上側ハウジング１６ａの音抜き孔２０ａおよび２０ｂと対応する位置であり、この上側ハウジング１６ａの内部にはスピーカ３６ａおよび３６ｂ（図２参照）が設けられる。
【００６５】
また、図１では省略するが、たとえば、下側ハウジング１６ｂにおいて、その裏面には電池収容ボックスが設けられ、下端面（底面）には、音量スイッチおよびイヤフォンジャックなどが設けられ、上端面（天面）には、外部拡張コネクタなどが設けられる。
【００６６】
ゲーム装置１０の電気的な構成が図２に示されている。図２を参照して、ゲーム装置１０は電子回路基板３８を含み、この電子回路基板３８には上述のＣＰＵコア３４等の回路コンポーネントが実装される。ＣＰＵコア３４は、バス４０を介して前述のコネクタ３２に接続されるととともに、ＲＡＭ４２、第１のグラフィック処理ユニット（ＧＰＵ）４４、第２のＧＰＵ４６、入出カインターフエース回路（以下、「Ｉ／Ｆ回路」という。）４８、ＬＣＤコントローラ５０および無線通信部５８に接続される。
【００６７】
コネクタ３２には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、互いにバスで接続され、さらに、コネクタ３２と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア３４は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができる。
【００６８】
ＲＯＭ２８ａは、ゲーム装置１０で実行すべきゲームのためのゲームプログラム、画像データ（文字やオブジェクトの画像、背景画像、アイテム画像、アイコン（ボタン）画像、メッセージ画像など）およびゲームに必要な音（音楽）のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）２８ｂは、そのゲームの途中データやゲームの
結果データなどを記憶（セーブ）する。セーブ用メモリとしてはフラッシュメモリなどが用いられてよい。
【００６９】
ＲＡＭ４２は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア３４は、メモリカード２８のＲＯＭ２８ａに記憶されたプログラム、画像データおよび音データ等をＲＡＭ４２にロードし、ロードしたプログラムを実行する。また、ＣＰＵコア３４は、ゲームの進行に応じて一時的に生成するデータ（ゲームデータやフラグデータ）をＲＡＭ４２に記憶しつつゲーム処理を実行する。
【００７０】
なお、ゲームプログラム、画像データおよび音データ等は、ＲＯＭ２８ａから一度に全部、または部分的かつ順次的に読み出され、ＲＡＭ４２に記憶される。
【００７１】
ただし、ゲーム装置１０ではゲーム以外の他のアプリケーションが実行されてよく、この場合、メモリカード２８のＲＯＭ２８ａには、当該アプリケーションについてのプログラムおよび画像データ等の必要なデータが記憶されてよい。また、必要に応じて、音（音楽）データが記憶されてもよい。
【００７２】
ＧＰＵ４４およびＧＰＵ４６は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア３４からのグラフィックスコマンド（作画命令）を受け、そのグラフィックスコマンドに従って画像データを生成する。ただし、ＣＰＵコア３４は、グラフィックスコマンドに加えて、画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ４４およびＧＰＵ４６のそれぞれに与える。
【００７３】
また、ＧＰＵ４４には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５２が接続され、ＧＰＵ４６には、第２のＶＲＡＭ５４が接続される。ＧＰＵ４４およびＧＰＵ４６が作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンやテクスチャ等のデータ）は、ＧＰＵ４４およびＧＰＵ４６が、それぞれ、第１のＶＲＡＭ５２および第２のＶＲＡＭ５４にアクセスして取得する。
【００７４】
なお、ＣＰＵコア３４は、描画に必要な画像データをＧＰＵ４４およびＧＰＵ４６を介して第１のＶＲＡＭ５２および第２のＶＲＡＭ５４に書き込む。ＧＰＵ４４はＶＲＡＭ５２にアクセスして描画のための画像データを作成し、ＧＰＵ４６はＶＲＡＭ５４にアクセスして描画のための画像データを作成する。
【００７５】
ＶＲＡＭ５２およびＶＲＡＭ５４は、ＬＣＤコントローラ５０に接続される。ＬＣＤコントローラ５０はレジスタ５６を含み、レジスタ５６はたとえば１ビットで構成され、ＣＰＵコア３４の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ５０は、レジスタ５６のデータ値が「０」である場合には、ＧＰＵ４４によって作成された画像データをＬＣＤ１２に出力し、ＧＰＵ４６によって作成された画像データをＬＣＤ１４に出力する。また、ＬＣＤコントローラ５０は、レジスタ５６のデータ値が「１」である場合には、ＧＰＵ４４によって作成された画像データをＬＣＤ１４に出力し、ＧＰＵ４６によって作成された画像データをＬＣＤ１２に出力する。
【００７６】
なお、ＬＣＤコントローラ５０は、ＶＲＡＭ５２およびＶＲＡＭ５４から直接画像データを読み出したり、ＧＰＵ４４およびＧＰＵ４６を介してＶＲＡＭ５２およびＶＲＡＭ５４から画像データを読み出したりする。
【００７７】
Ｉ／Ｆ回路４８には、操作スイッチ２２，タッチパネル２４およびスピーカ３６ａ，３６ｂが接続される。ここで、操作スイッチ２２は、上述したスイッチ２２ａ，２２ｂ，２
２ｃ，２２ｄ，２２ｅ，２２ｇ，２２Ｌおよび２２Ｒであり、操作スイッチ２２が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。また、タッチパネル２４からの座標データがＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。さらに、ＣＰＵコア３４は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４２から読み出し、Ｉ／Ｆ回路４８を介してスピーカ３６ａ，３６ｂから当該音を出力する。
【００７８】
無線通信部５８は他のゲーム装置（１０）や通信機器との間で無線によってデータを送受信するための通信手段である。なお、この実施例で示すゲーム装置１０が送受信する微弱電波は、電波法による規制のかからない強度に設定されている。ＣＰＵコア３４がゲームデータやコマンドなどのデータを無線通信部５８に与えると、無線通信部５８は、相手方へのデータを無線信号に変調してアンテナから送信する。また、無線通信部５８は、相手方からの無線信号を同じアンテナで受信してデータに復調し、当該データをＣＰＵコア３４に与える。この無線通信部５８を介して、ゲーム装置１０は、他のゲーム装置（１０）との間でデータを通信して通信ゲームを実行することが可能である。また、ゲーム装置１０は、無線通信部５８を介してネットワークに接続することができ、ネットワーク上のサーバからプログラムやデータをダウンロードしたり、ネットワークを介して他のゲーム装置（１０）と通信したりすることが可能である。
【００７９】
このように構成されたゲーム装置１０で、ある種のゲームをプレイするときのＲＡＭ４２のメモリマップが、図３に示されている。図３を参照して、ＲＡＭ４２には、プログラム領域７０，Ｄａｔａ配列領域７２，バッファ領域７４およびデータベース領域７６が形成される。
【００８０】
プログラム領域７０は、メインプログラムが格納されるメインプログラム領域７０ａ，表示制御プログラムが格納される表示制御プログラム領域７０ｂおよびタッチ検出プログラムが格納されるタッチ検出プログラム領域７０ｃを含む。Ｄａｔａ配列領域７２は、Ｄａｔａ（０）が格納されるＤａｔａ（０）領域７２ａ，Ｄａｔａ（１）が格納されるＤａｔａ（１）領域７２ｂ，Ｄａｔａ（２）が格納されるＤａｔａ（２）領域７２ｃ，およびＤａｔａ（３）が格納されるＤａｔａ（３）領域７２ｄを含む。
【００８１】
バッファ領域７４は、ＢｕｆＴｒｉｇｇｅｒが格納されるＢｕｆＴｒｉｇｇｅｒ領域７４ａ，およびＢｕｆＲｅｌｅａｓｅが格納されるＢｕｆＲｅｌｅａｓｅ領域７４ｂを含む。データベース領域７６は、フィールドデータベース（ＤＢ）が格納されるフィールドＤＢ領域７６ａ，行動ＤＢが格納される行動ＤＢ領域７６ｂ，Ｄａｔａ配列ＤＢが格納されるＤａｔａ配列ＤＢ領域７６ｃ，および判定基準ＤＢが格納される判定基準ＤＢ領域７６ｄを含む。
【００８２】
タッチ検出プログラムは、ＬＣＤ１４の画面へのタッチ操作（たとえば図８（Ａ），図８（Ｂ）参照）をタッチパネル２４により検出し、現時刻におけるタッチ点の座標を示すタッチ座標を繰り返し算出する。表示制御プログラムは、フィールドＤＢおよび行動ＤＢに基づいて、ＬＣＤ１４の画面内にフィールドＦ１〜Ｆ４および行動Ａ１，Ａ２，…を表示する（図６参照）。フィールドＦ１〜Ｆ４の各々には、必要に応じてキャラクタが付加される。
【００８３】
図６の画面の具体例が図７に示されている。図７を図６と比較しつつ参照して、この画面では、フィールドＦ１はキャラクタＡが割り当てられたキャラクタＡ付フィールドであり、フィールドＦ２はキャラクタＢが割り当てられたキャラクタＢ付フィールドであり、フィールドＦ３はキャラクタＣが割り当てられたキャラクタＣ付フィールドであり、そしてフィールドＦ４はどのキャラクタも割り当てられていない空フィールドである。また、行動Ａ１は“攻撃する”であり、行動Ａ２は“移動する”であり、行動Ａ３は“パワーアップする”であり、そして行動Ａ４は“場所を入れ替える”である。
【００８４】
図３に戻って、メインプログラムは、タッチ検出プログラムによって算出されたタッチ座標に基づいて、表示制御プログラムによってＬＣＤ１４に表示されたフィールドおよび行動のうち、ユーザによって指定されたフィールドおよび行動を特定し、これらのフィールドおよび行動に該当する処理を実行する。
【００８５】
具体的には、図７の画面で、たとえば、最初キャラクタＡ付のフィールドＦ１が指定され、次にキャラクタＣ付のフィールドＦ３が指定され、そして行動Ａ１つまり“攻撃する”が指定された場合、キャラクタＡによるキャラクタＣへの攻撃処理が実行される。ここでフィールドＦ１およびＦ３の指定順序が逆であれば、キャラクタＣによるキャラクタＡへの攻撃処理が実行される。すなわち、どのフィールドが行動の主体となり、どのフィールドが行動の客体となるかは、フィールドを指定する順序に依存する。
【００８６】
また、最初キャラクタＡ付のフィールドＦ１が指定され、次に空のフィールドＦ４が指定され、そして行動Ａ２つまり“移動する”が指定されると、キャラクタＡのフィールドＦ１からフィールドＦ４への移動処理が実行される。ここでフィールドＦ１およびＦ４の指定順序が逆であれば、移動すべきキャラクタが存在しないので、移動処理は実行されない。行動Ａ２に代えて行動Ａ１が指定されても、空フィールドへの攻撃は不適切と見なされ、攻撃処理は実行されない。このように、指定されたフィールドおよび行動に該当する処理が実行されるのは、これらフィールドおよび行動の間の関係が適切である場合に限られる。
【００８７】
図３に戻って、Ｄａｔａ（０）〜Ｄａｔａ（３）の各々は、メインプログラムによって利用される変数であり、いずれかのフィールドまたはいずれかの行動が必要に応じてセットされる。ＢｕｆＴｒｉｇｇｅｒおよびＢｕｆＲｅｌｅａｓｅもまた、メインプログラムによって利用される変数であり、いずれかのフィールドまたはいずれかの行動が必要に応じてセットされる。
【００８８】
フィールドＤＢには、座標およびキャラクタがフィールド毎に登録されている。なお、どのキャラクタも割り当てられていないフィールドも存在する。行動ＤＢには、行動がキャラクタ毎に登録されている。
【００８９】
Ｄａｔａ配列ＤＢには、Ｄａｔａ（０）〜Ｄａｔａ（３）の適切な配列が行動毎に登録されている。判定基準ＤＢには、現時点のＤａｔａ配列が適切（○）か不適切（×）か、あるいはそのいずれでもない（△）かを、Ｄａｔａ配列ＤＢに基づいて判定するための基準が登録されている。
【００９０】
Ｄａｔａ配列ＤＢの一例が図４に示されている。図４を参照して、Ｄａｔａ配列ＤＢは、次の４種類のＤａｔａ配列を含む。第１は、Ｄａｔａ（０）が“攻撃する”で、Ｄａｔａ（１）およびＤａｔａ（２）の各々がキャラクタ有フィールドかつＤａｔａ（３）が不使用のＤａｔａ配列である。第２は、Ｄａｔａ（０）が“移動する”で、Ｄａｔａ（１）がキャラクタ有のフィールドかつＤａｔａ（２）がキャラクタ無のフィールドかつＤａｔａ（３）が不使用のＤａｔａ配列である。第３は、Ｄａｔａ（０）が“パワーアップする”で、Ｄａｔａ（１）がキャラクタ有のフィールドかつＤａｔａ（２）およびＤａｔａ（３）の各々が不使用のデータ配列である。そして第４は、Ｄａｔａ（０）が“場所を入れ替える”であり、かつＤａｔａ（１）〜Ｄａｔａ（３）の各々がキャラクタ有のフィールドのデータ配列である。
【００９１】
判定基準ＤＢの一例が図５に示されている。図５を参照して、この判定基準ＤＢによれば、まずＤａｔａ（０）に関し、いずれかの行動がセットされているか否かが判別される。ここで“行動あり”と判別されると、Ｄａｔａ（１），Ｄａｔａ（２），…に関し、フィールド有のＤａｔａの個数、および各フィールドの行動に対する適合性が検討され、次の３つの場合に分類される。
【００９２】
第１は、フィールド有のｄａｔａ数が行動に必要なｄａｔａ数に達しており、かつ各フィールドが行動に適合する場合であり、適合（○）と判定される。第２は、いずれかのフィールドが行動に適合しない場合であり、不適合（×）と判定される。そして第３は、フィールド有のｄａｔａ数が必要Ｄａｔａ数に満たない場合であり、適合および不適合のいずれでもない（△）と判定される。
【００９３】
一方、“行動なし”と判別されると、適合および不適合のいずれでもない（△）と判定される。
【００９４】
なお、“行動なし”と判別された場合にフィールド有のＤａｔａの個数を検出して、次の２つの場合に分類してもよい。第１は、フィールド有のＤａｔａの個数が“２”以上の場合であり、不適合（×）と判定される。第２は、フィールド有のＤａｔａの個数が“１”以下の場合であり、適合および不適合のいずれでもない（△）と判定される。
【００９５】
さて、先述のように、フィールドおよび行動を指定するにあたって、ユーザは、これらの要素を適切な順序で指定する必要があるが、適切な順序は１通りとは限らない。たとえば、図７の画面で、キャラクタＡによるキャラクタＣへの攻撃を行うための指示は、次の２通りの順序が可能である。
【００９６】
第１の順序は、図８（Ａ）および図８（Ｂ）に示すように、日本語の構文に則った順序であり、ユーザは、まず主語である“Ａ”にタッチし、次に目的語である“Ｃ”にタッチし、最後に動詞である“攻撃する”にタッチする（Ｓ＋Ｏ＋Ｖ）。
【００９７】
ここでは特に、主語を指定するための１回目のタッチおよび目的語を指定するための２回目のタッチは、単一のタッチ操作で行われる。このタッチ操作は、主語へのタッチオン，主語から目的語へのスライド，および目的語からのタッチオフの３要素で構成される。このようなタッチ操作を“スライドタッチ操作”と呼ぶ。
【００９８】
一方、動詞を指定するための３回目のタッチは、別の単一のタッチ操作であり、動詞へのタッチオンおよび当該動詞からのタッチオフの２要素で構成される。このようなタッチ操作を“クリックタッチ操作”と呼ぶ。したがって、“Ａ”による“Ｃ”への“攻撃”の実行を第１の順序で（すなわち日本語的に）指示する場合、１回のスライドタッチ操作および１回のクリックタッチ操作を要する（この一連の操作を“Ｆ１〜Ｆ３／Ａ１”のように記述する）。
【００９９】
これに対して、第２の順序は、図９（Ａ）〜図９（Ｃ）に示すように、英語の構文に則った順序である。すなわち、ユーザは、まず主語である“Ａ”にタッチし、次に動詞である“攻撃する”にタッチし、最後に目的語である“Ｃ”にタッチする（Ｓ＋Ｖ＋Ｏ）。したがって、“Ａ”から“Ｃ”への攻撃の実行を第２の順序で（すなわち英語的に）指示する場合、３回のクリックタッチ操作を要する（この一連の操作を“Ｆ１／Ａ１／Ｆ３”のように記述する）。
【０１００】
以上をまとめると、ユーザの指示が“Ｆ１〜Ｆ３／Ａ１”および“Ｆ１／Ａ１／Ｆ３”のいずれかに該当すれば、ゲーム装置１０は“Ａ”から“Ｃ”への攻撃処理を実行する。同様に、ユーザの指示が“Ｆ１〜Ｆ４／Ａ２”および“Ｆ１／Ａ２／Ｆ４”のいずれかに該当すれば、ゲーム装置１０は“Ａ”の空フィールドへの移動処理を実行する。ユーザの指示が“Ｆ２／Ａ３”に該当すれば、ゲーム装置１０は“Ｂ”のパワーアップ処理を実行する。ユーザの指示が“Ｆ３〜Ｆ１／Ａ４／Ｆ２”，“Ｆ３〜Ｆ２／Ａ４／Ｆ１”，“Ｆ３／Ａ４／Ｆ１／Ｆ２”，“Ｆ３／Ａ４／Ｆ２／Ｆ１”，“Ｆ３／Ａ４／Ｆ１〜Ｆ２”，および“Ｆ３／Ａ４／Ｆ２〜Ｆ１”のいずれかに該当すれば、ゲーム装置１０は“Ｃ”による“Ａ”および“Ｂ”の入れ替え処理を実行する。
【０１０１】
このように、ユーザは、１つまたは複数のフィールド（Ｄａｔａ（１），Ｄａｔａ（２），…）および１つの行動（Ｄａｔａ（０））を適切に指定することで、ゲーム装置１０に所望の処理を実行させることができるが、指定を行うにあたっては、動詞（Ｖ）に対応するＤａｔａ（０），主語（Ｓ）に対応するＤａｔａ（１），および目的語（Ｏ）に対応するＤａｔａ（２），…の間の順序として、日本語の構文（Ｓ＋Ｏ＋Ｖ）に従う第１順序、および英語の構文（Ｓ＋Ｖ＋Ｏ）に従う第２順序のどちらも可能である。
【０１０２】
また、第１順序（日本語式）を選択した場合、主語および目的語を１回のスライドタッチ操作（Ｓ〜Ｏ）で指定することができる。
【０１０３】
なお、行動Ａ１〜Ａ４は、キャラクタ毎にそれぞれ異なり、いずれのキャラクタも指定されていないときは非表示とされ、主語を指定するための１回目のタッチでいずれかのキャラクタが指定されたとき、当該指定されたキャラクタに対応する行動が表示される。
【０１０４】
このゲームをプレイするとき、ＣＰＵコア３４は、図１０〜図１３に示された処理を実行する。なお、これらのフロー図は、ＲＡＭ４２のプログラム領域７０に格納されたメインプログラム（７０ａ：図３参照）に対応する。
【０１０５】
図１０を参照して、最初のステップＳ１では、Ｄａｔａ配列つまりＤａｔａ配列領域７２に格納されたＤａｔａ（０）〜Ｄａｔａ（３）（７２ａ〜７２ｄ：図３参照）を初期化する。次のステップＳ３では、注目するＤａｔａを示す変数ｎに“１”をセットする。その次のステップＳ５では、タッチオン座標およびタッチオフ座標をそれぞれ示す変数ＢｕｆＴｒｉｇｇｅｒおよび変数ＢｕｆＲｅｌｅａｓｅ（７４ａおよび７４ｂ：図３参照）の各々に、初期値として“ＮＯ＿ＵＳＥ”をセットする。一連の初期設定が完了すると、ステップＳ７に移って、タッチ操作の開始（タッチオン）を待つ。
【０１０６】
タッチパネル２４によってタッチオンが検出されると、ステップＳ７からステップＳ９に移って、タッチオン位置がＬＣＤ１４に表示されたいずれかのフィールドまたはいずれかの行動（Ｆ１〜Ｆ３，Ａ１，Ａ２，…：図６参照）に該当するか否かを判別し、判別結果がＮＯであればステップＳ７に戻る。
【０１０７】
ステップＳ９の判別結果がＹＥＳであれば、ステップＳ１１に移って、変数Ｂｕｆｔｒｉｇｇｅｒに該当フィールドまたは該当行動をセットする。そしてステップＳ１３に移り、タッチ操作の終了（タッチオフ）を待つ。
【０１０８】
タッチパネル２４によってタッチオフが検出されると、ステップＳ１３からステップＳ１５に移って、タッチオフ位置がＬＣＤ１４に表示されたいずれかのフィールドまたはいずれかの行動に該当するか否かを判別し、判別結果がＮＯであればステップＳ５に戻る。
【０１０９】
ステップＳ１５の判別結果がＹＥＳであれば、ステップＳ１７に移って、変数ＢｕｆＲｅｌｅａｓｅに該当フィールドまたは該当行動をセットする。セット後、ステップＳ１９に移る。
【０１１０】
図１１を参照して、ステップＳ１９では、変数ＢｕｆＴｒｉｇｇｅｒが変数ＢｕｆＲｅｌｅａｓｅと一致するか否かを判別する。両変数の差分が閾値を超えていれば、ステップＳ１９でＮＯと判別し、ステップＳ２３に進む。両変数の差分が閾値に満たなければ、ステップＳ１９でＹＥＳと判別し、ステップＳ２１で変数ＢｕｆＲｅｌｅａｓｅをリセットした後、ステップＳ２３に進む。
【０１１１】
したがって、いずれか１つのフィールド／行動と対応する単一の領域内で行われたスライドタッチ操作は、クリックタッチ操作と見なされる。
【０１１２】
ステップＳ２３では、変数ＢｕｆＴｒｉｇｇｅｒが“行動”に属するか否か（すなわち、いずれかの行動がセットされているか否か）を判別し、判別結果がＮＯであればステップＳ２９に進む。ステップＳ２３の判別結果がＹＥＳであれば、ステップＳ２５でＤａｔａ（０）に変数ＢｕｆＴｒｉｇｇｅｒをセットした後、ステップＳ２７で変数ＢｕｆＴｒｉｇｇｅｒをリセットし、そしてステップＳ２９に進む。
【０１１３】
ステップＳ２９では、変数ＢｕｆＲｅｌｅａｓｅが“行動”に属するか否かを判別し、判別結果がＮＯであればステップＳ３５に進む。ステップＳ２９の判別結果がＹＥＳであれば、ステップＳ３１でＤａｔａ（０）に変数ＢｕｆＲｅｌｅａｓｅをセットした後、ステップＳ３３で変数ＢｕｆＲｅｌｅａｓｅをリセットし、そしてステップＳ３５に進む。
【０１１４】
したがって、ユーザが１回のスライドタッチ操作で２つ以上の行動を指定した場合、最後に指定された行動が採用される。
【０１１５】
図１２を参照して、ステップＳ３５では、Ｄａｔａ（０）が“ＮＯ＿ＵＳＥ”であるか否かを判別し、判別結果がＮＯであればステップＳ４１に進む。ステップＳ３５の判別結果がＹＥＳであれば、ステップＳ３７でＤａｔａ配列をリセットし、そしてステップＳ３９で変数ｎに再び“１”をセットした後、ステップＳ４１に移る。このステップＳ３７の処理を行うことにより、タッチ操作で行動（動詞）が指定されていない（Ｄａｔａ（０）に行動が登録されていない）ときは、前回のタッチ操作で指定された（Ｄａｔａ（ｎ）に登録された）フィールドが無効にされる。従って、日本語の構文に従う順序で指示する場合には、１回目のタッチ操作で主語となるキャラクタ（フィールド）と目的語となるキャラクタ（フィールド）を指定した後、２回目のタッチ操作で動詞となる行動を指定する必要があるため、１回目のタッチ操作ではスライドタッチ操作が要求されることになる。一方、英語の構文に従う順序で指示する場合には、１回目のタッチ操作で主語となるキャラクタを指定した後、２回目のタッチ操作で動詞となる行動を指定し、３回目のタッチ操作で目的語となるキャラクタを指定すればよいので、それぞれのタッチ操作はクリックタッチ操作で行うことができる。このように、異なる２種類の入力順序による指定をそれぞれ異なる２種類のタッチ操作方法によって実現することができる。
【０１１６】
ステップＳ４１では、変数ＢｕｆＴｒｉｇｇｅｒが“ＮＯ＿ＵＳＥ”であるか否かを判別し、判別結果がＮＯであればステップＳ４７に進む。ステップＳ４１の判別結果がＹＥＳであれば、ステップＳ４３でＤａｔａ（ｎ）に変数ＢｕｆＴｒｉｇｇｅｒをセットした後、ステップＳ４５で変数ｎをインクリメントし、そしてステップＳ４７に進む。
【０１１７】
図１３を参照して、ステップＳ４７では、変数ＢｕｆＲｅｌｅａｓｅが“ＮＯ＿ＵＳＥ”であるか否かを判別し、判別結果がＹＥＳであればステップＳ５３に進む。ステップＳ４７の判別結果がＮＯであれば、ステップＳ４９でＤａｔａ（ｎ）に変数ＢｕｆＲｅｌｅａｓｅをセットした後、ステップＳ５１で再び変数ｎをインクリメントし、そしてステップＳ５３に進む。
【０１１８】
したがって、タッチ操作の後、Ｄａｔａ（０）に何ら行動がセットされていなければ、Ｄａｔａ配列はリセットされる。そして、変数ＢｕｆＴｒｉｇｇｅｒにいずれかのフィールドがセットされていれば、このフィールドはＤａｔａ（１）にセットされ、変数ＢｕｆＴｒｉｇｇｅｒにいずれかのフィールドがセットされていれば、このフィールドはＤａｔａ（２）にセットされる。
【０１１９】
ステップＳ５３では、Ｄａｔａ配列ＤＢおよび判定基準ＤＢ（７６ｃおよび７６ｄ：図１４参照）に基づいて、Ｄａｔａ配列が適切（○）であるか否かを判定し、判定結果がＹＥＳであれば、ステップＳ５５でＤａｔａ（０）を実行した後、処理を終了する。
【０１２０】
ステップＳ５３の判定結果がＮＯであれば、ステップＳ５７でＤａｔａ配列が不適切（×）であるか否かをさらに判定し、この判定結果がＹＥＳであればステップＳ１に戻る。ステップＳ５７の判定結果がＮＯであれば、すなわちＤａｔａ配列が適切でも不適切でもない（△）ときには、ステップＳ５に戻る。
【０１２１】
図１０〜図１３の処理に従えば、たとえば、ＡによるＣへの攻撃を行いたい場合、ユーザが日本語式に“Ｆ１〜Ｆ３／Ａ１”を入力したとすると、最初のスライドタッチ操作“Ｆ１〜Ｆ３” が完了した時点で（図８（Ａ）参照）、Ｄａｔａ配列は次のようになる。
【０１２２】
Ｄａｔａ（０）＝ＮＯ＿ＵＳＥ，Ｄａｔａ（１）＝Ｆ１，Ｄａｔａ（２）＝Ｆ３
そして、続くクリックタッチ操作“Ａ１”が完了した時点で（図８（Ｂ）参照）、Ｄａｔａ配列は次のようになる。
【０１２３】
Ｄａｔａ（０）＝Ａ１，Ｄａｔａ（１）＝Ｆ１，Ｄａｔａ（２）＝Ｆ３
一方、ユーザが英語式に“Ｆ１／Ａ１／Ｆ３”を入力したとすると、最初のクリックタッチ操作“Ｆ１” が完了した時点で（図９（Ａ）参照）、Ｄａｔａ配列は次のようになる。
【０１２４】
Ｄａｔａ（０）＝ＮＯ＿ＵＳＥ，Ｄａｔａ（１）＝Ｆ１，Ｄａｔａ（２）＝ＮＯ＿ＵＳＥ
続くクリックタッチ操作“Ａ１”が完了した時点では（図９（Ｂ）参照）、Ｄａｔａ配列は次のようになる。
【０１２５】
Ｄａｔａ（０）＝Ａ１，Ｄａｔａ（１）＝Ｆ１，Ｄａｔａ（２）＝ＮＯ＿ＵＳＥ
そして、続くクリックタッチ操作“Ｆ３”が完了した時点で（図９（Ｃ）参照）、Ｄａｔａ配列は次のようになる。
【０１２６】
Ｄａｔａ（０）＝Ａ１，Ｄａｔａ（１）＝Ｆ１，Ｄａｔａ（２）＝Ｆ３
このように、日本語式および英語式のいずれによっても、Ｄａｔａ配列ＤＢ（７６ｃ：図３参照）に適合するＤａｔａ配列が得られる。こうして得られたＤａｔａ配列は、判定基準ＤＢ（７６ｄ）に従いステップＳ５３で“適切（○）”と判定され、このＤａｔａ配列に対応する処理、つまりＡによるＣへの攻撃処理がステップＳ５５で実行される結果となる。
以上から明らかなように、この実施例では、ＣＰＵコア３４は、命令を構成する複数の命令要素（フィールドＦ１〜Ｆ４および行動Ａ１，Ａ２，…：図６参照）のうち少なくとも１つを指定するタッチ操作を繰り返し受け付け（Ｓ７，Ｓ９，Ｓ１３，Ｓ１５）、受け付けられたタッチ操作に対応する命令要素をバッファ領域７４に書き込む（Ｓ１１，Ｓ１７）。
【０１２７】
ここで、タッチ操作は、単一の命令要素を点で指定するクリックタッチ操作（第１操作）、および複数の命令要素を線で指定するスライドタッチ操作（第２操作）を含む。クリックタッチ操作は、タッチパネル２４内の任意の点Ｐ０へのタッチオン操作，および当該点Ｐ０からのタッチオフ操作を含む（図８（Ｂ），図９（Ａ）〜図９（Ｃ）参照）。スライドタッチ操作は、タッチパネル２４内の任意の第１点Ｐ０へのタッチオン操作，当該第１点Ｐ０からタッチパネル２４内の任意の第２点Ｐ１へのスライド操作，および当該第２点Ｐ１からのタッチオフ操作を含む（図８（Ａ）参照）。
【０１２８】
また、バッファ領域７４は、ＢｕｆＴｒｉｇｇｅｒ領域７４ａおよびＢｕｆＲｅｌｅａｓｅ領域７４ｂを含む。ＢｕｆＴｒｉｇｇｅｒ領域７４ａにはタッチオン操作に対応する命令要素が格納され、ＢｕｆＲｅｌｅａｓｅ領域７４ｂにはタッチオフ操作に対応する命令要素が格納される。
【０１２９】
また、このバッファ書込処理に応答して、バッファ領域７４に格納された命令要素のうち特定属性を有する第１命令要素（行動Ａ１，Ａ２，…）をＤａｔａ（０）領域７２ａ（第１メモリ）に書き込む第１メモリ書込処理、およびバッファ領域７４に格納された命令要素のうち特定属性とは異なる属性を有する第２命令要素（フィールドＦ１〜Ｆ４）をＤａｔａ（１）領域７２ｂ〜Ｄａｔａ（４）領域７２ｄ（第２メモリ）に書き込む第２メモリ書込処理、の少なくとも一方を実行する（Ｓ２３〜Ｓ５１）。
【０１３０】
そして、いずれかのメモリ書込処理が実行される度に、Ｄａｔａ（０）領域７２ａ〜Ｄａｔａ（４）領域７２ｄに格納された命令要素列が実行可能条件（Ｄａｔａ配列ＤＢ：７６ｃ）を満足するか否かを判別し（Ｓ５３）、命令要素列が実行可能条件を満足すると判別されると、この命令要素列に従う処理を実行する（Ｓ５５）。
【０１３１】
この実施例によれば、１回のタッチ操作毎に、対応する命令要素のうち行動をＤａｔａ（０）に、フィールドをＤａｔａ（１）〜Ｄａｔａ（４）にそれぞれ書き込むので、ユーザは、タッチ操作を行うにあたって、行動およびフィールドの間のタッチ順序を変更できる。また、タッチ操作として、クリックタッチ操作およびスライドタッチ操作のいずれか１つを任意に選択することができる。そして、スライドタッチ操作の選択頻度を高めれば、操作回数が削減される。
【０１３２】
なお、上述のステップＳ９においてフィールドが指定されたと判断されたときは、ステップＳ１５において、いずれかのフィールドが指定されたか否かのみを判断するようにしてもよい。つまり、タッチ開始でフィールドが指定されたときは、タッチ終了ではフィールドのみの指定を有効にし、行動の指定を許容しないようにしてもよい。このようにすれば、スライドタッチ操作の場合に、フィールド〜フィールドのみの操作を有効にし、フィールド〜行動といった操作を無効にすることができる。すなわち、英語式の入力順序による指定が、スライドタッチ操作で行われるのを防ぐことができる。
【０１３３】
また、クリックタッチ操作が正しく行われたか否かをタッチ開始からタッチ終了までの経過時間に基づいて判別するようにしてもよい。すなわち、スライドタッチ操作によって結果的にタッチ開始とタッチ終了で同じフィールドまたは行動が指定されることにより、誤ってクリックタッチ操作と判断されるのを防止するようにしてもよい。これを実現するためには、ステップＳ７の後に「カウント処理」のステップを設け、ステップＳ１９でＹＥＳの後に「カウント値は所定値以内か？」のステップを設ければよい。そして、カウント値が所定値以内である場合は、ステップＳ２１に進み、カウント値が所定値以内でない場合は、ステップＳ５に戻るようにすればよい。
【０１３４】
なお、この実施例では、スライドタッチ操作はタッチ開始位置およびタッチ終了位置に対応する２つの命令要素に対してのみ有効であるが、３つ以上の命令要素を１回のスライドタッチ操作で指定してもよい。以下、このような変形例について説明する。この変形例は、メモリマップの一部およびメインプログラムの一部を除いて、前述の実施例と同様である。よって、以下の説明にも、図１，図２および図４〜図９を援用する。
【０１３５】
この変形例に適用されるＲＡＭ４２のメモリマップを図１４に示す。図１４を図３と比較しつつ参照して、バッファ領域７４は、ＢｕｆＣｈａｎｇｅ（１）が格納されるＢｕｆＣｈａｎｇｅ（１）領域７４ｃ，ＢｕｆＣｈａｎｇｅ（２）が格納されるＢｕｆＣｈａｎｇｅ（２）領域７４ｄ，…をさらに含む。
【０１３６】
この変形例のメインプログラムに対応するフローが、図１５〜図１９に示されている。なお、図１５〜図１９では、前実施例のメインプログラム（図１０〜図１３）との間で共通する処理に同一の参照番号を付してある。
【０１３７】
図１５〜図１９のフローは、図１０〜図１３のフローにおいて、ステップＳ１１およびＳ１３の間にステップＳ１２ａ〜Ｓ１２ｅを追加し、ステップＳ３３およびＳ３５の間にステップＳ３４ａ〜Ｓ３４ｄを追加し、そしてステップＳ４５およびＳ４７の間にステップＳ４６ａ〜Ｓ４６ｄを追加したものである。
【０１３８】
以下では、ＣＰＵコア３４の処理を、前実施例との間で相違する点を中心に説明する。図１５を参照して、ステップＳ１〜Ｓ１１では、前実施例のステップＳ１〜Ｓ１１（図１０参照）と同様の処理を行う。ただし、ステップＳ５では、変数ＢｕｆＴｒｉｇｇｅｒおよび変数ＢｕｆＲｅｌｅａｓｅだけでなく、変数ＢｕｆＣｈａｎｇｅ（１），ＢｕｆＣｈａｎｇｅ（２），…の各々にも“ＮＯ＿ＵＳＥ”をセットする。
【０１３９】
続くステップＳ１２ａでは、今回のスライドタッチ操作で指定されたフィールド／行動の個数を示す変数ｍに“１”をセットする。図１６を参照して、ステップＳ１２ｂでは、スライド操作が実行されたか否かをタッチ位置の変化に基づいて判別する。タッチ位置の変化（つまりタッチパネル２４から前回出力されたタッチ座標と今回出力されたタッチ座標との間の差分）が閾値を下回れば、ステップＳ１２ｂでＮＯと判別し、ステップＳ１３に進む。
【０１４０】
ステップＳ１２ｂの判別結果がＹＥＳであれば、現在のタッチ位置が別のフィールドまたは別の行動に該当するか否かをステップＳ１２ｃでさらに判別し、ここでＮＯであればステップＳ１３に進む。
【０１４１】
スライドによってタッチ位置が別のフィールドまたは別の行動の表示領域に入ると、ステップＳ１２ｃでＹＥＳと判別し、ステップＳ１２ｄに移る。ステップＳ１２ｄでは、変数ＢｕｆＣｈａｎｇｅ（ｍ）に該当フィールドまたは該当行動をセットする。そして、ステップＳ１２ｅで変数ｍをインクリメントした後、ステップＳ１３に進む。
【０１４２】
ステップＳ１３では、前実施例のステップＳ１３と同様、タッチ操作が終了したか否かを判別し、判別結果がＹＥＳであればステップＳ１５に移るが、判別結果がＮＯであればステップＳ１２ｂに戻る。
【０１４３】
したがって、タッチ操作が終了されるまでの期間、ステップＳ１２ｂ〜Ｓ１２ｅが繰り返し実行され、この結果、タッチオン，スライドおよびタッチオフからなるスライドタッチ操作のスライド部分に対応する一連のフィールド／行動が、ＢｕｆＣｈａｎｇｅ（１），ＢｕｆＣｈａｎｇｅ（２），…にそれぞれセットされる。
【０１４４】
ステップＳ１５〜Ｓ３３では、前実施例のステップＳ１５〜Ｓ３３（図１０および図１１参照）と同様の処理を行う。ただし、ステップＳ２９の判別結果がＮＯであればステップＳ３４ａに進み、ステップＳ２９の判別結果がＹＥＳであればステップＳ３１およびＳ３３を経てステップＳ３４ａに進む。
【０１４５】
ステップＳ３４ａでは、変数ＢｕｆＣｈａｎｇｅ（ｍ）が“行動”に属するか否かを判別し、判別結果がＮＯであればステップＳ３５に進む。ステップＳ３４ａの判別結果がＹＥＳであれば、ステップＳ３４ｂでＤａｔａ（０）に変数ＢｕｆＣｈａｎｇｅ（ｍ）をセットし、ステップＳ３４ｃでは変数ＢｕｆＣｈａｎｇｅ（ｍ）をリセットし、そしてステップＳ３４ｄで変数ｍをデクリメントした後、ステップＳ３５に進む。
【０１４６】
したがって、変数ＢｕｆＣｈａｎｇｅ（ｍ）にいずれかの行動がセットされていれば、スライドタッチ操作の最後に指定された行動であるので、その行動はＤａｔａ（０）にセットされる。その後、ＢｕｆＣｈａｎｇｅ（ｍ）はリセットされ、変数ｍはデクリメントされる。
【０１４７】
ステップＳ３５〜Ｓ４５では、前実施例のＳ３５〜Ｓ４５（図１２参照）と同様の処理が実行される。ただし、ステップＳ４１の判別結果がＹＥＳであればステップＳ４６ａに進み、ステップＳ４１の判別結果がＮＯであればステップＳ４３およびＳ４５を経てステップＳ４６ａに進む。
【０１４８】
ステップＳ４６ａでは変数ｍが“０”であるか否かを判別し、判別結果がＹＥＳであれば、ステップＳ４７に進む。ステップＳ４６ａの判別結果がＮＯであれば、ステップＳ４６ｂでＤａｔａ（ｎ）に変数ＢｕｆＣｈａｎｇｅ（ｍ）をセットし、ステップＳ４６ｃで変数ｎをインクリメントし、そしてステップＳ４６ｄで変数ｍをデクリメントした後、ステップＳ４６ａに戻る。
【０１４９】
したがって、ｍ＝０となるまでの期間、ステップＳ４６ｂ〜Ｓ４６ｄが繰り返し実行され、この結果、たとえば、Ｄａｔａ（１）にＢｕｆＣｈａｎｇｅ（２）がセットされ、Ｄａｔａ（２）にはＢｕｆＣｈａｎｇｅ（１）がセットされる。
【０１５０】
図１９を参照して、ステップＳ４７〜Ｓ５７では、前実施例のステップＳ４７〜Ｓ５７と同様の処理を実行する。
【０１５１】
図１５〜図１９の処理に従えば、図１０〜図１３の処理に従う場合と同様、たとえば、ＡによるＣへの攻撃を行いたい場合、日本語式に“Ｆ１〜Ｆ３／Ａ１”を入力しても、英語式に“Ｆ１／Ａ１／Ｆ３”を入力しても、Ｄａｔａ配列ＤＢに適合するＤａｔａ配列が得られ、得られたＤａｔａ配列に対応する処理つまりＡによるＣへの攻撃処理が実行される結果となる。
【０１５２】
また、図１０〜図１３の処理に従う場合とは異なり、“Ｆ１〜Ｆ３／Ａ１”の代わりに“Ｆ１〜Ｆ３〜Ａ１”を入力しても、すなわち“Ｓ＋Ｏ＋Ｖ”を１回のスライドタッチ操作で入力しても、同様の攻撃処理が実行される。また、“Ｆ３〜Ｆ１／Ａ４／Ｆ２”の代わりに“Ｆ３〜Ｆ１〜Ｆ２〜Ａ４”を入力しても、ゲーム装置１０は“Ｃ”による“Ａ”および“Ｂ”の入れ替え処理を実行する。
【０１５３】
以上から明らかなように、この変形例では、ＣＰＵコア３４は、命令を構成する複数の命令要素（フィールドＦ１〜Ｆ４および行動Ａ１，Ａ２，…）のうち少なくとも１つを指定するタッチ操作を繰り返し受け付け（Ｓ７，Ｓ９，Ｓ１３，Ｓ１５，Ｓ１２ｂ，Ｓ１２ｃ）、受け付けられたタッチ操作に対応する命令要素をバッファ領域７４に書き込む（Ｓ１１，Ｓ１７，Ｓ１２ｄ）。
【０１５４】
ここで、タッチ操作は、クリックタッチ操作（第１操作）およびスライドタッチ操作（第２操作）を含む。また、バッファ領域７４は、ＢｕｆＴｒｉｇｇｅｒ領域７４ａおよびＢｕｆＲｅｌｅａｓｅ領域７４ｂに加えて、ＢｕｆＣｈａｎｇｅ（１）領域７４ｃ，ＢｕｆＣｈａｎｇｅ（２）領域７４ｄ，…をさらに含む。ＢｕｆＣｈａｎｇｅ（１）領域７４ｃ，ＢｕｆＣｈａｎｇｅ（２）領域７４ｄ，…には、スライド操作（スライドタッチ操作からタッチオン操作およびタッチオフ操作を除いた残り）に対応する一連の命令要素が格納される。
また、このバッファ書込処理に応答して、第１メモリ書込処理および第２メモリ書込処理の少なくとも一方を実行する（Ｓ２３〜Ｓ５１，Ｓ３４ａ〜Ｓ３４ｄ，Ｓ４６ａ〜Ｓ４６ｄ）。そして、いずれかのメモリ書込処理が実行される度に、Ｄａｔａ（０）〜Ｄａｔａ（４）に格納された命令要素列が実行可能条件（Ｄａｔａ配列ＤＢ：７６ｃ）を満足するか否かを判別し（Ｓ５３）、命令要素列が実行可能条件を満足すると判別されると、この命令要素列に従う処理を実行する（Ｓ５５）。
【０１５５】
これにより、３つ以上の命令要素を１回のスライドタッチ操作で指定できるようになる。
【０１５６】
なお、実施例および変形例の各々では、複数の命令要素を順次指定する操作を受け付ける手段としてタッチパネル２４を用いたが、マウス，トラックボール，タッチパッド，キーボードなど他のポインティングデバイスも利用できる。
【０１５７】
なお、以上ではゲーム装置１０について説明したが、この発明は、パーソナルコンピュータ，携帯情報端末，携帯電話機など他の情報処理装置にも適用できる。
【図面の簡単な説明】
【０１５８】
【図１】この発明の一実施例を示す図解図である。
【図２】図１実施例の電気的な構成を示すブロック図である。
【図３】図１実施例に適用されるＲＡＭのメモリマップを示す図解図である。
【図４】図１実施例に適用されるＤａｔａ配列ＤＢを示す図解図である。
【図５】図１実施例に適用される判定基準ＤＢを示す図解図である。
【図６】図１実施例に適用される操作画面の構成を示す図解図である。
【図７】操作画面の具体例を示す図解図である。
【図８】（Ａ）および（Ｂ）は図７画面に向けたタッチ操作の一例を時系列順に示す図解図である。
【図９】（Ａ）〜（Ｃ）は図７画面に向けたタッチ操作の他の一例を時系列順に示す図解図である。
【図１０】図１実施例に適用されるＣＰＵ動作の一部を示すフロー図である。
【図１１】図１実施例に適用されるＣＰＵ動作の他の一部を示すフロー図である。
【図１２】図１実施例に適用されるＣＰＵ動作のその他の一部を示すフロー図である。
【図１３】図１実施例に適用されるＣＰＵ動作のさらにその他の一部を示すフロー図である。
【図１４】図１実施例の変形例に適用されるＲＡＭのメモリマップを示す図解図である。
【図１５】図１４変形例に適用されるＣＰＵ動作の一部を示すフロー図である。
【図１６】図１４変形例に適用されるＣＰＵ動作の他の一部を示すフロー図である。
【図１７】図１４変形例に適用されるＣＰＵ動作のその他の一部を示すフロー図である。
【図１８】図１４変形例に適用されるＣＰＵ動作のさらにその他の一部を示すフロー図である。
【図１９】図１４変形例に適用されるＣＰＵ動作の他の一部を示すフロー図である。
【符号の説明】
【０１５９】
１０  …ゲーム装置
１２，１４  …ＬＣＤ
２２  …操作スイッチ
２４  …タッチパネル
２６  …スティック
２８ｂ，４２  …ＲＡＭ
３４  …ＣＰＵコア
４８  …Ｉ／Ｆ回路
Ｆ１〜Ｆ４  …フィールド
Ａ１〜Ａ４  …行動
【図１】
0004971908.tif 000002
【図２】
0004971908.tif 000003
【図３】
0004971908.tif 000004
【図４】
0004971908.tif 000005
【図５】
0004971908.tif 000006
【図６】
0004971908.tif 000007
【図７】
0004971908.tif 000008
【図８】
0004971908.tif 000009
【図９】
0004971908.tif 000010
【図１０】
0004971908.tif 000011
【図１１】
0004971908.tif 000012
【図１２】
0004971908.tif 000013
【図１３】
0004971908.tif 000014
【図１４】
0004971908.tif 000015
【図１５】
0004971908.tif 000016
【図１６】
0004971908.tif 000017
【図１７】
0004971908.tif 000018
【図１８】
0004971908.tif 000019
【図１９】
0004971908.tif 000020