JP4971908B2 - 情報処理プログラムおよび情報処理装置 - Google Patents

情報処理プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP4971908B2
JP4971908B2 JP2007217829A JP2007217829A JP4971908B2 JP 4971908 B2 JP4971908 B2 JP 4971908B2 JP 2007217829 A JP2007217829 A JP 2007217829A JP 2007217829 A JP2007217829 A JP 2007217829A JP 4971908 B2 JP4971908 B2 JP 4971908B2
Authority
JP
Japan
Prior art keywords
memory
instruction
writing
command
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007217829A
Other languages
English (en)
Other versions
JP2009053781A (ja
Inventor
裕志 百瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2007217829A priority Critical patent/JP4971908B2/ja
Priority to US12/078,896 priority patent/US8151007B2/en
Publication of JP2009053781A publication Critical patent/JP2009053781A/ja
Priority to US13/410,462 priority patent/US9616337B2/en
Application granted granted Critical
Publication of JP4971908B2 publication Critical patent/JP4971908B2/ja
Priority to US15/461,074 priority patent/US10071309B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/301Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device using an additional display connected to the game console, e.g. on the controller
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Description

この発明は、情報処理プログラムおよび情報処理装置に関し、特にたとえば、操作を受け付け、受け付けられた操作に対応する命令に従って情報を処理する、情報処理プログラムおよび情報処理装置に関する。
この種の装置の一例が、特許文献1に開示されている。この従来の装置は、テンキーおよび演算キーを含む複数のキー(命令要素)をディスプレイに表示し、ディスプレイに設けられたタッチパネルへのタッチ操作を検出し、検出された一連のタッチ操作に対応する命令要素列に従って演算を実行する。たとえば、4つのキー“9”,“÷”,“3”および“=”が順次タッチされると、この命令要素列に従う演算“9÷3=”を実行する。
また、他の一例が特許文献2に開示されている。この背景技術では、操作対象をディスプレイに表示し、ディスプレイに設けられたタッチパネルへのタッチ操作を検出し、検出結果に基づいてディスプレイ上の操作対象を移動させる。
タッチ操作としては、任意の点へのタッチオンおよび当該点からのタッチオフで構成されるタッチ操作(クリックタッチ操作)、および任意の第1点へのタッチオン,当該第1点から任意の第2点へのスライドおよび当該第2点からのタッチオフで構成されるタッチ操作(スライドタッチ操作)の2種類がある。
操作対象の表示領域内に位置する第1点へのクリックタッチ操作の後に、この表示領域の外に位置する第2点へのクリックタッチ操作が行われると、表示対象は第2点の位置まで瞬時に移動する。一方、第1点から第2点へのスライドタッチ操作が行われると、表示対象はスライドの進行につれて第2点の位置まで段階的に移動する。
特開2005−44026号公報 特開平5−119946号公報
しかし、特許文献1では、ある1つの処理に対応する命令要素列はただ1通りで、複数の命令要素の間の指定順序を入れ替えることはできない。
一方、特許文献2は、クリックおよびスライドの2種類のタッチ操作、およびタッチ操作の種類によって操作対象の移動の仕方を変化させる方策について開示するものの、タッチ操作に対応する命令要素列に従う処理を実行することについては、何ら開示していない。
それゆえに、この発明の主たる目的は、新規な、情報処理プログラムおよび情報処理装置を提供することである。
この発明の他の目的は、命令を構成する複数の命令要素を順次指定する操作を行うにあたって、複数の命令要素の間の指定順序を変更できる、情報処理プログラムおよび情報処理装置を提供することである。
この発明のその他の目的は、さらに、操作として2種類のタッチ操作のいずれか1つを任意に選択できる、情報処理プログラムおよび情報処理装置を提供することである。
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
第1の発明に従う情報処理プログラムは、命令に従って情報を処理する情報処理装置のコンピュータに次のステップを実行させる:命令を構成する複数の命令要素のうち少なくとも1つを指定する操作を繰り返し受け付ける受付ステップ;受付ステップによって受け付けられた操作に対応する命令要素のうち特定属性を有する第1命令要素を第1メモリに書き込む第1メモリ書込処理、および受付ステップによって受け付けられた操作に対応する命令要素のうち特定属性とは異なる属性を有する第2命令要素を第2メモリに書き込む第2メモリ書込処理の少なくとも一方を実行するメモリ書込ステップ;第1メモリおよび第2メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを移動ステップの移動処理が実行される度に判別する第1判別ステップ;および第1判別ステップによって第1メモリおよび第2メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理ステップ。
第1の発明では、情報処理装置(10)のコンピュータ(34)は、情報処理プログラムに基づいて、受付ステップ(S7,S9,S13,S15,S12b,S12c),メモリ書込ステップ(S23〜S51,S34a〜S34d,S46a〜S46d),第1判別ステップ(S53)および情報処理ステップ(S55)を実行する。
コンピュータに情報処理を実行させるための命令は、複数の命令要素(F1〜F4,A1,A2,…)で構成される。ユーザは、命令を構成する複数の命令要素を順次指定する操作を行うが、1回の操作で複数の命令要素のうち少なくとも1つが指定される。したがって、たとえば、2つの命令要素で構成される命令には1回または2回の操作を要し、3つの命令要素で構成される命令には1回ないし3回の操作を要する。
受付ステップ(S7,S9,S13,S15,S12b,S12c)は、命令を構成する複数の命令要素(F1〜F4,A1,A2,…)のうち少なくとも1つを指定する操作を繰り返し受け付ける。
メモリ書込ステップ(S23〜S51,S34a〜S34d,S46a〜S46d)は、受付ステップによって受け付けられた操作に対応する命令要素のうち特定属性を有する第1命令要素(A1,A2,…)を第1メモリ(72a)に書き込む第1メモリ書込処理、および受付ステップによって受け付けられた操作に対応する命令要素のうち特定属性とは異なる属性を有する第2命令要素(F1〜F4)を第2メモリ(72b〜72d)に書き込む第2メモリ書込処理、の少なくとも一方を実行する。
第1判別ステップ(S53)は、いずれかのメモリ書込処理が実行される度に、第1メモリおよび第2メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを判別し、情報処理ステップ(S55)は、第1メモリおよび第2メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき、当該命令要素列に従って情報を処理する。
なお、第1メモリおよび第2メモリに跨って格納された命令要素列が実行可能条件を満足しないと判別されると、情報処理は実行されず、実行可能条件を満足すると判別されるまで、受付ステップによってさらなる操作が受け付けられる。
第1の発明によれば、1回の操作毎に、対応する命令要素のうち第1命令要素を第1メモリに、第2命令要素を第2メモリにそれぞれ書き込むので、ユーザは、操作を行うにあたって、第1命令要素および第2命令要素の間の指定順序を変更できる。
第2の発明に従う情報処理プログラムは、第1の発明に従属し、操作は、単一の命令要素を点で指定する第1操作、および複数の命令要素を線で指定する第2操作を含む。
第2の発明では、操作は第1操作および第2操作を含む。第1操作は単一の命令要素を点で指定し、第2操作は複数の命令要素を線で指定する。
第2の発明によれば、ユーザは、操作として第1操作および第2操作のいずれか1つを任意に選択することができる。また、第2操作の選択頻度を高めることで、操作回数の削減が可能となる。
第3の発明に従う情報処理プログラムは、第2の発明に従属し、命令を構成する複数の命令要素はディスプレイに表示され、第1操作は、ディスプレイに設けられたタッチパネル内の任意の点へのタッチオン操作および当該点からのタッチオフ操作を含むクリックタッチ操作であり、第2操作は、タッチパネル内の任意の第1点へのタッチオン操作,当該第1点から当該タッチパネル内の任意の第2点へのスライド操作および当該第2点からのタッチオフ操作を含むスライドタッチ操作である。
第3の発明では、命令を構成する複数の命令要素はディスプレイ(14)に表示され、第1操作はクリックタッチ操作であり、そして第2操作はスライドタッチ操作である。クリックタッチ操作は、ディスプレイに設けられたタッチパネル(24)内の任意の点(P0)へのタッチオン操作,および当該点からのタッチオフ操作を含む。スライドタッチ操作は、タッチパネル内の任意の第1点(P0)へのタッチオン操作,当該第1点から当該タッチパネル内の任意の第2点(P1)へのスライド操作,および当該第2点からのタッチオフ操作を含む。
第4の発明に従う情報処理プログラムは、第3の発明に従属し、コンピュータにバッファ書込ステップをさらに実行させる。バッファは第1バッファおよび第2バッファを含み、バッファ書込ステップは、タッチオン操作に対応する命令要素を第1バッファに書き込む一方、タッチオフ操作に対応する命令要素を第2バッファに書き込む。メモリ書込ステップは、バッファ書込ステップの書込処理に応答して、第1バッファおよび第2バッファに格納された命令要素を第1メモリまたは第2メモリに書き込む。
第4の発明では、バッファ書込ステップ(S11,S17,S12d)が、タッチオン操作に対応する命令要素を第1バッファ(74a)に書き込み、タッチオフ操作に対応する命令要素を第2バッファ(74b)に書き込む。メモリ書込ステップは、第1バッファおよび第2バッファに格納された命令要素を、バッファ書込処理に応答して第1メモリまたは第2メモリに書き込む。
第5の発明に従う情報処理プログラムは、第4の発明に従属し、コンピュータに次のステップをさらに実行させる:第1バッファに格納された命令要素および第2バッファに格納された命令要素が互いに一致するか否かをバッファ書込ステップの書込処理の後に判別する第2判別ステップ;および第2判別ステップによって第1バッファに格納された命令要素および第2バッファに格納された命令要素が互いに一致すると判別されたとき当該第2バッファをリセットするリセットステップ。
第5の発明では、バッファ書込ステップの書込処理の後、第1バッファに格納された命令要素および第2バッファに格納された命令要素が互いに一致するか否かが、第2判別ステップ(S19)によって判別される。リセットステップ(S21)は、第2判別ステップによって第1バッファに格納された命令要素および第2バッファに格納された命令要素が互いに一致すると判別されたとき、当該第2バッファをリセットする。
第5の発明によれば、第1バッファおよび第2バッファに共通の命令要素が格納された場合、第2バッファはリセットされるので、共通の命令要素へのスライドタッチ操作はクリックタッチ操作と見なされる。これにより、クリックタッチ操作およびスライドタッチ操作の使い分けが容易となる。
第6の発明に従う情報処理プログラムは、第4または第5の発明に従属し、バッファは第3バッファをさらに含み、バッファ書込ステップはさらにスライド操作に対応する1つまたは複数の命令要素を第3バッファに書き込む。
第6の発明では、スライド操作に対応する1つまたは複数の命令要素は、第3バッファ(74c,74d,…)に書き込まれる。
第6の発明によれば、3つ以上の命令要素を1回のスライドタッチ操作で指定できる。
第7の発明に従う情報処理プログラムは、第1ないし第6のいずれかの発明に従属し、第1命令要素は自然言語における動詞の機能を持つ命令要素であり、第2命令要素は動詞に関して主語および目的語のいずれかの機能を持つ命令要素である。
第8の発明に従う情報処理プログラムは、第7の発明に従属し、自然言語は、命令を示す文を主語,目的語および動詞の語順で構成する第1自然言語、ならびに命令を示す文を主語,動詞および目的語の語順で構成する第2自然言語を含み、操作は、命令を構成する複数の命令要素を第1自然言語および第2自然言語の中から任意に選択される自然言語の構文に従う順序で指定する。
第7および第8の発明によれば、自然言語の構文に従うことで、操作性が向上する。
第9の発明に従う情報処理プログラムは、第1ないし第8のいずれかの発明に従属し、第1判別ステップの判別処理は、実行可能な1つまたは複数の命令要素列を記述したデータベースに基づく。
第9の発明によれば、データベース(76c)を参照することで、容易かつ的確に判別を行うことができる。また、第1命令要素および第2命令要素の可能な組み合わせを登録するだけでよい(すなわち可能な順列をデータベースに網羅する必要がない)ので、データベースの情報量を削減できる。
第10の発明に従う情報処理装置(10)は、命令に従って情報を処理する情報処理装置であって、次の手段を備える:命令を構成する複数の命令要素(F1〜F4,A1,A2,…)のうち少なくとも1つを指定する操作を繰り返し受け付ける受付手段(S7,S9,S13,S15,S12b,S12c);受付手段によって受け付けられた操作に対応する命令要素のうち特定属性を有する第1命令要素(A1,A2,…)を第1メモリ(72a)に書き込む第1メモリ書込処理、および受付手段によって受け付けられた操作に対応する命令要素のうち特定属性とは異なる属性を有する第2命令要素(F1〜F4)を第2メモリ(72b〜72d)に書き込む第2メモリ書込処理の少なくとも一方を実行するメモリ書込手段(S23〜S51,S34a〜S34d,S46a〜S46d);第1メモリおよび第2メモリに跨って格納された命令要素列が実行可能条件を満足するか否かをメモリ書込手段の書込処理が実行される度に判別する判別手段(S53);および判別手段によって第1メモリおよび第2メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理手段(S55)。
第1の発明でも、第1の発明と同様に、第1命令要素および第2命令要素の間の指定順序を変更できる。
第11の発明(請求項1の発明)は、命令に従って情報を処理する情報処理装置のコンピュータに、命令を構成する複数の命令要素のうち少なくとも1つを指定する操作を繰り返し受け付ける受付ステップ、受付ステップによって受け付けられた操作に対応する各命令要素が特定属性を有するか否かを判別する属性判別ステップ、属性判別ステップによって特定属性を有すると判別された第1命令要素を第1メモリに書き込む第1メモリ書込処理、および属性判別ステップによって特定属性を有しないと判別された第2命令要素を第2メモリに書き込む第2メモリ書込処理の少なくとも一方を実行するメモリ書込ステップ、第1メモリおよび第2メモリに跨って格納された命令要素列が実行可能条件を満足するか否かをメモリ書込ステップの書込処理が実行される度に判別する第1判別ステップ、および第1判別ステップによって第1メモリおよび第2メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理ステップを実行させる、情報処理プログラムである。
第12(請求項2の発明)の発明は、第11の発明に従属し、第1判別ステップは、第1メモリおよび第2メモリに跨って格納された命令要素列が所定の命令要素列と一致する場合に実行可能条件を満足すると判別し、第1メモリおよび第2メモリに跨って格納された命令要素列が所定の命令要素列と一致しない場合には実行可能条件を満足しないと判別し、情報処理プログラムはコンピュータに、第1判別ステップによって実行可能条件を満足しないと判別されたとき第1メモリおよび第2メモリを初期化する第1初期化ステップをさらに実行させる。
第13の発明(請求項3の発明)は、第12の発明に従属し、第1判別ステップは、第1メモリに第1命令要素が格納されていない場合、または第1メモリおよび第2メモリに跨って格納された命令要素列の要素数が所定の命令要素列の要素数に満たない場合には判別を保留し、受付ステップは、情報処理ステップが判別を保留したときさらなる操作を受け付ける。
第14の発明(請求項4の発明)は、第12または第13の発明に従属し、情報処理プログラムはコンピュータに、受付ステップによる操作の受け付けに応答して第1メモリに第1命令要素が記憶されない場合に第1メモリおよび第2メモリを初期化する第2初期化ステップをさらに実行させる。
第15の発明(請求項5の発明)は、第11ないし第14のいずれかの発明に従属し、第1命令要素は行動を、第2命令要素は当該行動の主体または客体をそれぞれ示し、毎回の操作は、1つの第1命令要素または1つの第2命令要素を指定する第1操作、および複数の第2命令要素を順次指定する第2操作のいずれかであり、属性判別ステップは、1回の操作が受け付けられる毎に、当該操作に対応する各命令要素について特定属性を有するか否かの判別を行う。
この発明によれば、命令を構成する複数の命令要素を順次指定する操作を行うにあたって、これら複数の命令要素のうち互いに異なる属性を有する第1命令要素および第2命令要素の間の指定順序を変更することができる。また、操作として、クリックおよびスライドの2種類のタッチ操作を任意に選択することができる。この結果、操作性が向上する。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1を参照して、この実施例のゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。LCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるよう
にしてもよい。
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bの平面形状およびサイズも上側ハウジング16aと同等に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。下側ハウジング16bの右側面には電源スイッチ18が設けられる。
また、上側ハウジング16aには、LCD12を挟んで左右に、スピーカ36aおよび36b(図2)のための音抜き孔20aおよび20bが形成される。
上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
そして、上側ハウジング16aと下側ハウジング16bとの連結部の中央には、マイク(図示せず)のためのマイク孔20cが形成される。マイクから取り込んだ音、音声または息などによる音声信号に基づいてゲーム処理を行うことが可能である。
また、下側ハウジング16bには、操作スイッチ22(22a,22b,22c,22d,22e,22Lおよび22R)が設けられる。
操作スイッチ22は、方向指示スイッチ(十字スイッチ)22a,スタートスイッチ22b、セレクトスイッチ22c、動作スイッチ(Aボタン)22d、動作スイッチ(Bボタン)22e、動作スイッチ(Xボタン)22f、動作スイッチ(Yボタン)22g、動作スイッチ(Lボタン)22Lおよび動作スイッチ(Rボタン)22Rを含む。スイッチ22aは、下側ハウジング16bの一方主面であり、LCD14の左側に配置される。その他のスイッチ22b−22gは、下側ハウジング16bの一方主面であり、LCD14の右側に配置される。さらに、動作スイッチ22Lおよび22Rは、それぞれ下側ハウジング16bの上端面の左右角部に配置される。なお、動作スイッチ22Lおよび22Rは下側ハウジング16bの背面に設けられており、図1のような正面視では連結部の背後に隠れているので破線で示されている。
方向指示スイッチ22aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、ユーザないしプレイヤによって操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)の進行方向(移動方向)を指示したり、カーソルの進行方向を指示したりする等に用いられる。また、各押圧部には、特定の役割を割り当てることができ、4つの押圧部の1つを操作することによって、割り当てられた役割を指示(指定)することができる。
スタートスイッチ22bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止(Pause)したりする等に用いられる。また、セレクトスイッチ22cは、プッ
シュボタンで構成され、ゲームモードの選択等に用いられる。
動作スイッチ22dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤオブジェクトに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ22eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ22cで選択したゲームモードの変更やAボタン22dで決定したアクションの取り消し等のために用いられる。
動作スイッチ22fすなわちXボタン、および動作スイッチ22gすなわちYボタンは、プッシュボタンで構成され、Aボタン22dとBボタン22eだけでは、ゲーム進行ができないときに、補助的な操作に用いられる。ただし、Xボタン22fおよびYボタン2
2gは、Aボタン22dおよびBボタン22eと同様の操作に用いることも可能である。もちろん、ゲームプレイにおいてXボタン22fとYボタン22gとを必ずしも使用しなくてよい。
動作スイッチ22L(左押しボタン)および動作スイッチ22R(右押しボタン)は、プッシュボタンで構成され、左押しボタン(Lボタン)22Lおよび右押しボタン(Rボタン)22Rは、Aボタン22dおよびBボタン22eと同様の操作に用いることができ、また、Aボタン22dおよびBボタン22eの補助的な操作に用いることができる。さらに、Lボタン22LおよびRボタン22Rは、方向スイッチ22a、Aボタン22d,Bボタン22e,Xボタン22f,Yボタン22gに割り当てられた役割を、他の役割に変更することができる。
また、LCD14の上面には、タッチパネル24が装着される。タッチパネル24としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル24は、その上面をスティック26ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック26等」という場合がある。)で、押圧したり、撫でたり、触れたりすることにより操作(タッチ入力)すると、スティック26等の操作位置の座標を検出して、当該検出座標に対応する座標データを出力する。
なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotである。タッチパネル24の検出精度も表示画面に対応して256dot×192dotとしてあるが、タッチパネル24の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
LCD12およびLCD14には異なるゲーム画面が表示されてもよい。たとえば、レースゲームでは一方のLCDに運転席からの視点による画面を表示し、他方のLCDにレース(コース)全体の画面を表示することができる。また、RPGでは、一方のLCDにマップやプレイヤオブジェクト等のキャラクタを表示し、他方のLCDにプレイヤオブジェクトが所有するアイテムを表示することができる。さらに、一方のLCDにプレイヤオブジェクトやノンプレイヤオブジェクトなどを含むゲーム画面を表示し、他方のLCDに当該プレイヤオブジェクトやノンプレイヤオブジェクトに関する情報を含む他のゲーム画面または当該プレイヤオブジェクトを操作するための操作画面を表示することができる。さらには、2つのLCD12およびLCD14を合わせて1つの画面として用いることにより、プレイヤオブジェクトが倒さなければならない巨大な怪物(敵オブジェクト)を表示することもできる。
したがって、プレイヤはスティック26等でタッチパネル24を操作することにより、LCD14の画面に表示されるプレイヤオブジェクト、敵オブジェクト、アイテムオブジェクト、操作オブジェクトなどの画像を指示(操作)したり、コマンドを選択(入力)したりすることができる。また、仮想ゲーム空間(3次元ゲーム空間)に設けられる仮想カメラ(視点)の方向(視線の向き)を変化させたり、ゲーム画面(マップ)のスクロール(徐々に移動表示)方向を指示したりすることもできる。
なお、ゲームの種類によっては、タッチパネル24を用いることにより、その他の入力指示も可能である。たとえば、LCD14において文字,数字,記号等を手書き入力することができる。
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル24が設けられるので、2画面(12,14)と2系統の操作部(22,24)とを有する構成になっている。
なお、この実施例では、第1のLCD12と第2のLCD14とを縦方向に並べて配置するようにしているが、2つのLCDの配置は適宜に変更され得る。他の実施例では、第1のLCD12と第2のLCD14とを横方向に並べて配置するようにしてもよい。
また、この実施例では、2つのLCDを設けるようにしていたが、表示手段としてのLCDの数は適宜変更され得る。他の実施例では、縦長形状の1つのLCDを設けて、表示領域を上下に分けて、2つのゲーム画面をそれぞれの表示領域に表示するようにしてもよいし、あるいは、横長形状の1つのLCDを設けて、表示領域を左右に分割し、2つゲーム画面をそれぞれの表示領域に表示するようにしてもよい。
また、スティック26は、たとえば下側ハウジング16bに設けられる収納部(図示せず)に収納することができ、必要に応じて取り出される。ただし、スティック26を設けない場合には、その収納部も設ける必要はない。
さらに、ゲーム装置10はメモリカード(またはカートリッジ)28を含み、このメモリカード28は着脱自在であり、下側ハウジング16bの上端面に設けられる挿入部30(図1では点線で示す)に挿入される。図1では省略するが、挿入部30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタと接合するためのコネクタ32(図2参照)が設けられており、したがって、メモリカード28が挿入部30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア34(図2参照)がメモリカード28にアクセス可能となる。
なお、図1では表現できないが、上側ハウジング16aの音抜き孔20aおよび20bと対応する位置であり、この上側ハウジング16aの内部にはスピーカ36aおよび36b(図2参照)が設けられる。
また、図1では省略するが、たとえば、下側ハウジング16bにおいて、その裏面には電池収容ボックスが設けられ、下端面(底面)には、音量スイッチおよびイヤフォンジャックなどが設けられ、上端面(天面)には、外部拡張コネクタなどが設けられる。
ゲーム装置10の電気的な構成が図2に示されている。図2を参照して、ゲーム装置10は電子回路基板38を含み、この電子回路基板38には上述のCPUコア34等の回路コンポーネントが実装される。CPUコア34は、バス40を介して前述のコネクタ32に接続されるととともに、RAM42、第1のグラフィック処理ユニット(GPU)44、第2のGPU46、入出カインターフエース回路(以下、「I/F回路」という。)48、LCDコントローラ50および無線通信部58に接続される。
コネクタ32には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ32と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア34は、ROM28aおよびRAM28bにアクセスすることができる。
ROM28aは、ゲーム装置10で実行すべきゲームのためのゲームプログラム、画像データ(文字やオブジェクトの画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)およびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの
結果データなどを記憶(セーブ)する。セーブ用メモリとしてはフラッシュメモリなどが用いられてよい。
RAM42は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア34は、メモリカード28のROM28aに記憶されたプログラム、画像データおよび音データ等をRAM42にロードし、ロードしたプログラムを実行する。また、CPUコア34は、ゲームの進行に応じて一時的に生成するデータ(ゲームデータやフラグデータ)をRAM42に記憶しつつゲーム処理を実行する。
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部、または部分的かつ順次的に読み出され、RAM42に記憶される。
ただし、ゲーム装置10ではゲーム以外の他のアプリケーションが実行されてよく、この場合、メモリカード28のROM28aには、当該アプリケーションについてのプログラムおよび画像データ等の必要なデータが記憶されてよい。また、必要に応じて、音(音楽)データが記憶されてもよい。
GPU44およびGPU46は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア34からのグラフィックスコマンド(作画命令)を受け、そのグラフィックスコマンドに従って画像データを生成する。ただし、CPUコア34は、グラフィックスコマンドに加えて、画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU44およびGPU46のそれぞれに与える。
また、GPU44には、第1のビデオRAM(以下、「VRAM」という。)52が接続され、GPU46には、第2のVRAM54が接続される。GPU44およびGPU46が作画コマンドを実行するにあたって必要なデータ(画像データ:ポリゴンやテクスチャ等のデータ)は、GPU44およびGPU46が、それぞれ、第1のVRAM52および第2のVRAM54にアクセスして取得する。
なお、CPUコア34は、描画に必要な画像データをGPU44およびGPU46を介して第1のVRAM52および第2のVRAM54に書き込む。GPU44はVRAM52にアクセスして描画のための画像データを作成し、GPU46はVRAM54にアクセスして描画のための画像データを作成する。
VRAM52およびVRAM54は、LCDコントローラ50に接続される。LCDコントローラ50はレジスタ56を含み、レジスタ56はたとえば1ビットで構成され、CPUコア34の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ50は、レジスタ56のデータ値が「0」である場合には、GPU44によって作成された画像データをLCD12に出力し、GPU46によって作成された画像データをLCD14に出力する。また、LCDコントローラ50は、レジスタ56のデータ値が「1」である場合には、GPU44によって作成された画像データをLCD14に出力し、GPU46によって作成された画像データをLCD12に出力する。
なお、LCDコントローラ50は、VRAM52およびVRAM54から直接画像データを読み出したり、GPU44およびGPU46を介してVRAM52およびVRAM54から画像データを読み出したりする。
I/F回路48には、操作スイッチ22,タッチパネル24およびスピーカ36a,36bが接続される。ここで、操作スイッチ22は、上述したスイッチ22a,22b,2
2c,22d,22e,22g,22Lおよび22Rであり、操作スイッチ22が操作されると、対応する操作信号(操作データ)がI/F回路48を介してCPUコア34に入力される。また、タッチパネル24からの座標データがI/F回路48を介してCPUコア34に入力される。さらに、CPUコア34は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM42から読み出し、I/F回路48を介してスピーカ36a,36bから当該音を出力する。
無線通信部58は他のゲーム装置(10)や通信機器との間で無線によってデータを送受信するための通信手段である。なお、この実施例で示すゲーム装置10が送受信する微弱電波は、電波法による規制のかからない強度に設定されている。CPUコア34がゲームデータやコマンドなどのデータを無線通信部58に与えると、無線通信部58は、相手方へのデータを無線信号に変調してアンテナから送信する。また、無線通信部58は、相手方からの無線信号を同じアンテナで受信してデータに復調し、当該データをCPUコア34に与える。この無線通信部58を介して、ゲーム装置10は、他のゲーム装置(10)との間でデータを通信して通信ゲームを実行することが可能である。また、ゲーム装置10は、無線通信部58を介してネットワークに接続することができ、ネットワーク上のサーバからプログラムやデータをダウンロードしたり、ネットワークを介して他のゲーム装置(10)と通信したりすることが可能である。
このように構成されたゲーム装置10で、ある種のゲームをプレイするときのRAM42のメモリマップが、図3に示されている。図3を参照して、RAM42には、プログラム領域70,Data配列領域72,バッファ領域74およびデータベース領域76が形成される。
プログラム領域70は、メインプログラムが格納されるメインプログラム領域70a,表示制御プログラムが格納される表示制御プログラム領域70bおよびタッチ検出プログラムが格納されるタッチ検出プログラム領域70cを含む。Data配列領域72は、Data(0)が格納されるData(0)領域72a,Data(1)が格納されるData(1)領域72b,Data(2)が格納されるData(2)領域72c,およびData(3)が格納されるData(3)領域72dを含む。
バッファ領域74は、BufTriggerが格納されるBufTrigger領域74a,およびBufReleaseが格納されるBufRelease領域74bを含む。データベース領域76は、フィールドデータベース(DB)が格納されるフィールドDB領域76a,行動DBが格納される行動DB領域76b,Data配列DBが格納されるData配列DB領域76c,および判定基準DBが格納される判定基準DB領域76dを含む。
タッチ検出プログラムは、LCD14の画面へのタッチ操作(たとえば図8(A),図8(B)参照)をタッチパネル24により検出し、現時刻におけるタッチ点の座標を示すタッチ座標を繰り返し算出する。表示制御プログラムは、フィールドDBおよび行動DBに基づいて、LCD14の画面内にフィールドF1〜F4および行動A1,A2,…を表示する(図6参照)。フィールドF1〜F4の各々には、必要に応じてキャラクタが付加される。
図6の画面の具体例が図7に示されている。図7を図6と比較しつつ参照して、この画面では、フィールドF1はキャラクタAが割り当てられたキャラクタA付フィールドであり、フィールドF2はキャラクタBが割り当てられたキャラクタB付フィールドであり、フィールドF3はキャラクタCが割り当てられたキャラクタC付フィールドであり、そしてフィールドF4はどのキャラクタも割り当てられていない空フィールドである。また、行動A1は“攻撃する”であり、行動A2は“移動する”であり、行動A3は“パワーアップする”であり、そして行動A4は“場所を入れ替える”である。
図3に戻って、メインプログラムは、タッチ検出プログラムによって算出されたタッチ座標に基づいて、表示制御プログラムによってLCD14に表示されたフィールドおよび行動のうち、ユーザによって指定されたフィールドおよび行動を特定し、これらのフィールドおよび行動に該当する処理を実行する。
具体的には、図7の画面で、たとえば、最初キャラクタA付のフィールドF1が指定され、次にキャラクタC付のフィールドF3が指定され、そして行動A1つまり“攻撃する”が指定された場合、キャラクタAによるキャラクタCへの攻撃処理が実行される。ここでフィールドF1およびF3の指定順序が逆であれば、キャラクタCによるキャラクタAへの攻撃処理が実行される。すなわち、どのフィールドが行動の主体となり、どのフィールドが行動の客体となるかは、フィールドを指定する順序に依存する。
また、最初キャラクタA付のフィールドF1が指定され、次に空のフィールドF4が指定され、そして行動A2つまり“移動する”が指定されると、キャラクタAのフィールドF1からフィールドF4への移動処理が実行される。ここでフィールドF1およびF4の指定順序が逆であれば、移動すべきキャラクタが存在しないので、移動処理は実行されない。行動A2に代えて行動A1が指定されても、空フィールドへの攻撃は不適切と見なされ、攻撃処理は実行されない。このように、指定されたフィールドおよび行動に該当する処理が実行されるのは、これらフィールドおよび行動の間の関係が適切である場合に限られる。
図3に戻って、Data(0)〜Data(3)の各々は、メインプログラムによって利用される変数であり、いずれかのフィールドまたはいずれかの行動が必要に応じてセットされる。BufTriggerおよびBufReleaseもまた、メインプログラムによって利用される変数であり、いずれかのフィールドまたはいずれかの行動が必要に応じてセットされる。
フィールドDBには、座標およびキャラクタがフィールド毎に登録されている。なお、どのキャラクタも割り当てられていないフィールドも存在する。行動DBには、行動がキャラクタ毎に登録されている。
Data配列DBには、Data(0)〜Data(3)の適切な配列が行動毎に登録されている。判定基準DBには、現時点のData配列が適切(○)か不適切(×)か、あるいはそのいずれでもない(△)かを、Data配列DBに基づいて判定するための基準が登録されている。
Data配列DBの一例が図4に示されている。図4を参照して、Data配列DBは、次の4種類のData配列を含む。第1は、Data(0)が“攻撃する”で、Data(1)およびData(2)の各々がキャラクタ有フィールドかつData(3)が不使用のData配列である。第2は、Data(0)が“移動する”で、Data(1)がキャラクタ有のフィールドかつData(2)がキャラクタ無のフィールドかつData(3)が不使用のData配列である。第3は、Data(0)が“パワーアップする”で、Data(1)がキャラクタ有のフィールドかつData(2)およびData(3)の各々が不使用のデータ配列である。そして第4は、Data(0)が“場所を入れ替える”であり、かつData(1)〜Data(3)の各々がキャラクタ有のフィールドのデータ配列である。
判定基準DBの一例が図5に示されている。図5を参照して、この判定基準DBによれば、まずData(0)に関し、いずれかの行動がセットされているか否かが判別される。ここで“行動あり”と判別されると、Data(1),Data(2),…に関し、フィールド有のDataの個数、および各フィールドの行動に対する適合性が検討され、次の3つの場合に分類される。
第1は、フィールド有のdata数が行動に必要なdata数に達しており、かつ各フィールドが行動に適合する場合であり、適合(○)と判定される。第2は、いずれかのフィールドが行動に適合しない場合であり、不適合(×)と判定される。そして第3は、フィールド有のdata数が必要Data数に満たない場合であり、適合および不適合のいずれでもない(△)と判定される。
一方、“行動なし”と判別されると、適合および不適合のいずれでもない(△)と判定される。
なお、“行動なし”と判別された場合にフィールド有のDataの個数を検出して、次の2つの場合に分類してもよい。第1は、フィールド有のDataの個数が“2”以上の場合であり、不適合(×)と判定される。第2は、フィールド有のDataの個数が“1”以下の場合であり、適合および不適合のいずれでもない(△)と判定される。
さて、先述のように、フィールドおよび行動を指定するにあたって、ユーザは、これらの要素を適切な順序で指定する必要があるが、適切な順序は1通りとは限らない。たとえば、図7の画面で、キャラクタAによるキャラクタCへの攻撃を行うための指示は、次の2通りの順序が可能である。
第1の順序は、図8(A)および図8(B)に示すように、日本語の構文に則った順序であり、ユーザは、まず主語である“A”にタッチし、次に目的語である“C”にタッチし、最後に動詞である“攻撃する”にタッチする(S+O+V)。
ここでは特に、主語を指定するための1回目のタッチおよび目的語を指定するための2回目のタッチは、単一のタッチ操作で行われる。このタッチ操作は、主語へのタッチオン,主語から目的語へのスライド,および目的語からのタッチオフの3要素で構成される。このようなタッチ操作を“スライドタッチ操作”と呼ぶ。
一方、動詞を指定するための3回目のタッチは、別の単一のタッチ操作であり、動詞へのタッチオンおよび当該動詞からのタッチオフの2要素で構成される。このようなタッチ操作を“クリックタッチ操作”と呼ぶ。したがって、“A”による“C”への“攻撃”の実行を第1の順序で(すなわち日本語的に)指示する場合、1回のスライドタッチ操作および1回のクリックタッチ操作を要する(この一連の操作を“F1〜F3/A1”のように記述する)。
これに対して、第2の順序は、図9(A)〜図9(C)に示すように、英語の構文に則った順序である。すなわち、ユーザは、まず主語である“A”にタッチし、次に動詞である“攻撃する”にタッチし、最後に目的語である“C”にタッチする(S+V+O)。したがって、“A”から“C”への攻撃の実行を第2の順序で(すなわち英語的に)指示する場合、3回のクリックタッチ操作を要する(この一連の操作を“F1/A1/F3”のように記述する)。
以上をまとめると、ユーザの指示が“F1〜F3/A1”および“F1/A1/F3”のいずれかに該当すれば、ゲーム装置10は“A”から“C”への攻撃処理を実行する。同様に、ユーザの指示が“F1〜F4/A2”および“F1/A2/F4”のいずれかに該当すれば、ゲーム装置10は“A”の空フィールドへの移動処理を実行する。ユーザの指示が“F2/A3”に該当すれば、ゲーム装置10は“B”のパワーアップ処理を実行する。ユーザの指示が“F3〜F1/A4/F2”,“F3〜F2/A4/F1”,“F3/A4/F1/F2”,“F3/A4/F2/F1”,“F3/A4/F1〜F2”,および“F3/A4/F2〜F1”のいずれかに該当すれば、ゲーム装置10は“C”による“A”および“B”の入れ替え処理を実行する。
このように、ユーザは、1つまたは複数のフィールド(Data(1),Data(2),…)および1つの行動(Data(0))を適切に指定することで、ゲーム装置10に所望の処理を実行させることができるが、指定を行うにあたっては、動詞(V)に対応するData(0),主語(S)に対応するData(1),および目的語(O)に対応するData(2),…の間の順序として、日本語の構文(S+O+V)に従う第1順序、および英語の構文(S+V+O)に従う第2順序のどちらも可能である。
また、第1順序(日本語式)を選択した場合、主語および目的語を1回のスライドタッチ操作(S〜O)で指定することができる。
なお、行動A1〜A4は、キャラクタ毎にそれぞれ異なり、いずれのキャラクタも指定されていないときは非表示とされ、主語を指定するための1回目のタッチでいずれかのキャラクタが指定されたとき、当該指定されたキャラクタに対応する行動が表示される。
このゲームをプレイするとき、CPUコア34は、図10〜図13に示された処理を実行する。なお、これらのフロー図は、RAM42のプログラム領域70に格納されたメインプログラム(70a:図3参照)に対応する。
図10を参照して、最初のステップS1では、Data配列つまりData配列領域72に格納されたData(0)〜Data(3)(72a〜72d:図3参照)を初期化する。次のステップS3では、注目するDataを示す変数nに“1”をセットする。その次のステップS5では、タッチオン座標およびタッチオフ座標をそれぞれ示す変数BufTriggerおよび変数BufRelease(74aおよび74b:図3参照)の各々に、初期値として“NO_USE”をセットする。一連の初期設定が完了すると、ステップS7に移って、タッチ操作の開始(タッチオン)を待つ。
タッチパネル24によってタッチオンが検出されると、ステップS7からステップS9に移って、タッチオン位置がLCD14に表示されたいずれかのフィールドまたはいずれかの行動(F1〜F3,A1,A2,…:図6参照)に該当するか否かを判別し、判別結果がNOであればステップS7に戻る。
ステップS9の判別結果がYESであれば、ステップS11に移って、変数Buftriggerに該当フィールドまたは該当行動をセットする。そしてステップS13に移り、タッチ操作の終了(タッチオフ)を待つ。
タッチパネル24によってタッチオフが検出されると、ステップS13からステップS15に移って、タッチオフ位置がLCD14に表示されたいずれかのフィールドまたはいずれかの行動に該当するか否かを判別し、判別結果がNOであればステップS5に戻る。
ステップS15の判別結果がYESであれば、ステップS17に移って、変数BufReleaseに該当フィールドまたは該当行動をセットする。セット後、ステップS19に移る。
図11を参照して、ステップS19では、変数BufTriggerが変数BufReleaseと一致するか否かを判別する。両変数の差分が閾値を超えていれば、ステップS19でNOと判別し、ステップS23に進む。両変数の差分が閾値に満たなければ、ステップS19でYESと判別し、ステップS21で変数BufReleaseをリセットした後、ステップS23に進む。
したがって、いずれか1つのフィールド/行動と対応する単一の領域内で行われたスライドタッチ操作は、クリックタッチ操作と見なされる。
ステップS23では、変数BufTriggerが“行動”に属するか否か(すなわち、いずれかの行動がセットされているか否か)を判別し、判別結果がNOであればステップS29に進む。ステップS23の判別結果がYESであれば、ステップS25でData(0)に変数BufTriggerをセットした後、ステップS27で変数BufTriggerをリセットし、そしてステップS29に進む。
ステップS29では、変数BufReleaseが“行動”に属するか否かを判別し、判別結果がNOであればステップS35に進む。ステップS29の判別結果がYESであれば、ステップS31でData(0)に変数BufReleaseをセットした後、ステップS33で変数BufReleaseをリセットし、そしてステップS35に進む。
したがって、ユーザが1回のスライドタッチ操作で2つ以上の行動を指定した場合、最後に指定された行動が採用される。
図12を参照して、ステップS35では、Data(0)が“NO_USE”であるか否かを判別し、判別結果がNOであればステップS41に進む。ステップS35の判別結果がYESであれば、ステップS37でData配列をリセットし、そしてステップS39で変数nに再び“1”をセットした後、ステップS41に移る。このステップS37の処理を行うことにより、タッチ操作で行動(動詞)が指定されていない(Data(0)に行動が登録されていない)ときは、前回のタッチ操作で指定された(Data(n)に登録された)フィールドが無効にされる。従って、日本語の構文に従う順序で指示する場合には、1回目のタッチ操作で主語となるキャラクタ(フィールド)と目的語となるキャラクタ(フィールド)を指定した後、2回目のタッチ操作で動詞となる行動を指定する必要があるため、1回目のタッチ操作ではスライドタッチ操作が要求されることになる。一方、英語の構文に従う順序で指示する場合には、1回目のタッチ操作で主語となるキャラクタを指定した後、2回目のタッチ操作で動詞となる行動を指定し、3回目のタッチ操作で目的語となるキャラクタを指定すればよいので、それぞれのタッチ操作はクリックタッチ操作で行うことができる。このように、異なる2種類の入力順序による指定をそれぞれ異なる2種類のタッチ操作方法によって実現することができる。
ステップS41では、変数BufTriggerが“NO_USE”であるか否かを判別し、判別結果がNOであればステップS47に進む。ステップS41の判別結果がYESであれば、ステップS43でData(n)に変数BufTriggerをセットした後、ステップS45で変数nをインクリメントし、そしてステップS47に進む。
図13を参照して、ステップS47では、変数BufReleaseが“NO_USE”であるか否かを判別し、判別結果がYESであればステップS53に進む。ステップS47の判別結果がNOであれば、ステップS49でData(n)に変数BufReleaseをセットした後、ステップS51で再び変数nをインクリメントし、そしてステップS53に進む。
したがって、タッチ操作の後、Data(0)に何ら行動がセットされていなければ、Data配列はリセットされる。そして、変数BufTriggerにいずれかのフィールドがセットされていれば、このフィールドはData(1)にセットされ、変数BufTriggerにいずれかのフィールドがセットされていれば、このフィールドはData(2)にセットされる。
ステップS53では、Data配列DBおよび判定基準DB(76cおよび76d:図14参照)に基づいて、Data配列が適切(○)であるか否かを判定し、判定結果がYESであれば、ステップS55でData(0)を実行した後、処理を終了する。
ステップS53の判定結果がNOであれば、ステップS57でData配列が不適切(×)であるか否かをさらに判定し、この判定結果がYESであればステップS1に戻る。ステップS57の判定結果がNOであれば、すなわちData配列が適切でも不適切でもない(△)ときには、ステップS5に戻る。
図10〜図13の処理に従えば、たとえば、AによるCへの攻撃を行いたい場合、ユーザが日本語式に“F1〜F3/A1”を入力したとすると、最初のスライドタッチ操作“F1〜F3” が完了した時点で(図8(A)参照)、Data配列は次のようになる。
Data(0)=NO_USE,Data(1)=F1,Data(2)=F3
そして、続くクリックタッチ操作“A1”が完了した時点で(図8(B)参照)、Data配列は次のようになる。
Data(0)=A1,Data(1)=F1,Data(2)=F3
一方、ユーザが英語式に“F1/A1/F3”を入力したとすると、最初のクリックタッチ操作“F1” が完了した時点で(図9(A)参照)、Data配列は次のようになる。
Data(0)=NO_USE,Data(1)=F1,Data(2)=NO_USE
続くクリックタッチ操作“A1”が完了した時点では(図9(B)参照)、Data配列は次のようになる。
Data(0)=A1,Data(1)=F1,Data(2)=NO_USE
そして、続くクリックタッチ操作“F3”が完了した時点で(図9(C)参照)、Data配列は次のようになる。
Data(0)=A1,Data(1)=F1,Data(2)=F3
このように、日本語式および英語式のいずれによっても、Data配列DB(76c:図3参照)に適合するData配列が得られる。こうして得られたData配列は、判定基準DB(76d)に従いステップS53で“適切(○)”と判定され、このData配列に対応する処理、つまりAによるCへの攻撃処理がステップS55で実行される結果となる。

以上から明らかなように、この実施例では、CPUコア34は、命令を構成する複数の命令要素(フィールドF1〜F4および行動A1,A2,…:図6参照)のうち少なくとも1つを指定するタッチ操作を繰り返し受け付け(S7,S9,S13,S15)、受け付けられたタッチ操作に対応する命令要素をバッファ領域74に書き込む(S11,S17)。
ここで、タッチ操作は、単一の命令要素を点で指定するクリックタッチ操作(第1操作)、および複数の命令要素を線で指定するスライドタッチ操作(第2操作)を含む。クリックタッチ操作は、タッチパネル24内の任意の点P0へのタッチオン操作,および当該点P0からのタッチオフ操作を含む(図8(B),図9(A)〜図9(C)参照)。スライドタッチ操作は、タッチパネル24内の任意の第1点P0へのタッチオン操作,当該第1点P0からタッチパネル24内の任意の第2点P1へのスライド操作,および当該第2点P1からのタッチオフ操作を含む(図8(A)参照)。
また、バッファ領域74は、BufTrigger領域74aおよびBufRelease領域74bを含む。BufTrigger領域74aにはタッチオン操作に対応する命令要素が格納され、BufRelease領域74bにはタッチオフ操作に対応する命令要素が格納される。
また、このバッファ書込処理に応答して、バッファ領域74に格納された命令要素のうち特定属性を有する第1命令要素(行動A1,A2,…)をData(0)領域72a(第1メモリ)に書き込む第1メモリ書込処理、およびバッファ領域74に格納された命令要素のうち特定属性とは異なる属性を有する第2命令要素(フィールドF1〜F4)をData(1)領域72b〜Data(4)領域72d(第2メモリ)に書き込む第2メモリ書込処理、の少なくとも一方を実行する(S23〜S51)。
そして、いずれかのメモリ書込処理が実行される度に、Data(0)領域72a〜Data(4)領域72dに格納された命令要素列が実行可能条件(Data配列DB:76c)を満足するか否かを判別し(S53)、命令要素列が実行可能条件を満足すると判別されると、この命令要素列に従う処理を実行する(S55)。
この実施例によれば、1回のタッチ操作毎に、対応する命令要素のうち行動をData(0)に、フィールドをData(1)〜Data(4)にそれぞれ書き込むので、ユーザは、タッチ操作を行うにあたって、行動およびフィールドの間のタッチ順序を変更できる。また、タッチ操作として、クリックタッチ操作およびスライドタッチ操作のいずれか1つを任意に選択することができる。そして、スライドタッチ操作の選択頻度を高めれば、操作回数が削減される。
なお、上述のステップS9においてフィールドが指定されたと判断されたときは、ステップS15において、いずれかのフィールドが指定されたか否かのみを判断するようにしてもよい。つまり、タッチ開始でフィールドが指定されたときは、タッチ終了ではフィールドのみの指定を有効にし、行動の指定を許容しないようにしてもよい。このようにすれば、スライドタッチ操作の場合に、フィールド〜フィールドのみの操作を有効にし、フィールド〜行動といった操作を無効にすることができる。すなわち、英語式の入力順序による指定が、スライドタッチ操作で行われるのを防ぐことができる。
また、クリックタッチ操作が正しく行われたか否かをタッチ開始からタッチ終了までの経過時間に基づいて判別するようにしてもよい。すなわち、スライドタッチ操作によって結果的にタッチ開始とタッチ終了で同じフィールドまたは行動が指定されることにより、誤ってクリックタッチ操作と判断されるのを防止するようにしてもよい。これを実現するためには、ステップS7の後に「カウント処理」のステップを設け、ステップS19でYESの後に「カウント値は所定値以内か?」のステップを設ければよい。そして、カウント値が所定値以内である場合は、ステップS21に進み、カウント値が所定値以内でない場合は、ステップS5に戻るようにすればよい。
なお、この実施例では、スライドタッチ操作はタッチ開始位置およびタッチ終了位置に対応する2つの命令要素に対してのみ有効であるが、3つ以上の命令要素を1回のスライドタッチ操作で指定してもよい。以下、このような変形例について説明する。この変形例は、メモリマップの一部およびメインプログラムの一部を除いて、前述の実施例と同様である。よって、以下の説明にも、図1,図2および図4〜図9を援用する。
この変形例に適用されるRAM42のメモリマップを図14に示す。図14を図3と比較しつつ参照して、バッファ領域74は、BufChange(1)が格納されるBufChange(1)領域74c,BufChange(2)が格納されるBufChange(2)領域74d,…をさらに含む。
この変形例のメインプログラムに対応するフローが、図15〜図19に示されている。なお、図15〜図19では、前実施例のメインプログラム(図10〜図13)との間で共通する処理に同一の参照番号を付してある。
図15〜図19のフローは、図10〜図13のフローにおいて、ステップS11およびS13の間にステップS12a〜S12eを追加し、ステップS33およびS35の間にステップS34a〜S34dを追加し、そしてステップS45およびS47の間にステップS46a〜S46dを追加したものである。
以下では、CPUコア34の処理を、前実施例との間で相違する点を中心に説明する。図15を参照して、ステップS1〜S11では、前実施例のステップS1〜S11(図10参照)と同様の処理を行う。ただし、ステップS5では、変数BufTriggerおよび変数BufReleaseだけでなく、変数BufChange(1),BufChange(2),…の各々にも“NO_USE”をセットする。
続くステップS12aでは、今回のスライドタッチ操作で指定されたフィールド/行動の個数を示す変数mに“1”をセットする。図16を参照して、ステップS12bでは、スライド操作が実行されたか否かをタッチ位置の変化に基づいて判別する。タッチ位置の変化(つまりタッチパネル24から前回出力されたタッチ座標と今回出力されたタッチ座標との間の差分)が閾値を下回れば、ステップS12bでNOと判別し、ステップS13に進む。
ステップS12bの判別結果がYESであれば、現在のタッチ位置が別のフィールドまたは別の行動に該当するか否かをステップS12cでさらに判別し、ここでNOであればステップS13に進む。
スライドによってタッチ位置が別のフィールドまたは別の行動の表示領域に入ると、ステップS12cでYESと判別し、ステップS12dに移る。ステップS12dでは、変数BufChange(m)に該当フィールドまたは該当行動をセットする。そして、ステップS12eで変数mをインクリメントした後、ステップS13に進む。
ステップS13では、前実施例のステップS13と同様、タッチ操作が終了したか否かを判別し、判別結果がYESであればステップS15に移るが、判別結果がNOであればステップS12bに戻る。
したがって、タッチ操作が終了されるまでの期間、ステップS12b〜S12eが繰り返し実行され、この結果、タッチオン,スライドおよびタッチオフからなるスライドタッチ操作のスライド部分に対応する一連のフィールド/行動が、BufChange(1),BufChange(2),…にそれぞれセットされる。
ステップS15〜S33では、前実施例のステップS15〜S33(図10および図11参照)と同様の処理を行う。ただし、ステップS29の判別結果がNOであればステップS34aに進み、ステップS29の判別結果がYESであればステップS31およびS33を経てステップS34aに進む。
ステップS34aでは、変数BufChange(m)が“行動”に属するか否かを判別し、判別結果がNOであればステップS35に進む。ステップS34aの判別結果がYESであれば、ステップS34bでData(0)に変数BufChange(m)をセットし、ステップS34cでは変数BufChange(m)をリセットし、そしてステップS34dで変数mをデクリメントした後、ステップS35に進む。
したがって、変数BufChange(m)にいずれかの行動がセットされていれば、スライドタッチ操作の最後に指定された行動であるので、その行動はData(0)にセットされる。その後、BufChange(m)はリセットされ、変数mはデクリメントされる。
ステップS35〜S45では、前実施例のS35〜S45(図12参照)と同様の処理が実行される。ただし、ステップS41の判別結果がYESであればステップS46aに進み、ステップS41の判別結果がNOであればステップS43およびS45を経てステップS46aに進む。
ステップS46aでは変数mが“0”であるか否かを判別し、判別結果がYESであれば、ステップS47に進む。ステップS46aの判別結果がNOであれば、ステップS46bでData(n)に変数BufChange(m)をセットし、ステップS46cで変数nをインクリメントし、そしてステップS46dで変数mをデクリメントした後、ステップS46aに戻る。
したがって、m=0となるまでの期間、ステップS46b〜S46dが繰り返し実行され、この結果、たとえば、Data(1)にBufChange(2)がセットされ、Data(2)にはBufChange(1)がセットされる。
図19を参照して、ステップS47〜S57では、前実施例のステップS47〜S57と同様の処理を実行する。
図15〜図19の処理に従えば、図10〜図13の処理に従う場合と同様、たとえば、AによるCへの攻撃を行いたい場合、日本語式に“F1〜F3/A1”を入力しても、英語式に“F1/A1/F3”を入力しても、Data配列DBに適合するData配列が得られ、得られたData配列に対応する処理つまりAによるCへの攻撃処理が実行される結果となる。
また、図10〜図13の処理に従う場合とは異なり、“F1〜F3/A1”の代わりに“F1〜F3〜A1”を入力しても、すなわち“S+O+V”を1回のスライドタッチ操作で入力しても、同様の攻撃処理が実行される。また、“F3〜F1/A4/F2”の代わりに“F3〜F1〜F2〜A4”を入力しても、ゲーム装置10は“C”による“A”および“B”の入れ替え処理を実行する。
以上から明らかなように、この変形例では、CPUコア34は、命令を構成する複数の命令要素(フィールドF1〜F4および行動A1,A2,…)のうち少なくとも1つを指定するタッチ操作を繰り返し受け付け(S7,S9,S13,S15,S12b,S12c)、受け付けられたタッチ操作に対応する命令要素をバッファ領域74に書き込む(S11,S17,S12d)。
ここで、タッチ操作は、クリックタッチ操作(第1操作)およびスライドタッチ操作(第2操作)を含む。また、バッファ領域74は、BufTrigger領域74aおよびBufRelease領域74bに加えて、BufChange(1)領域74c,BufChange(2)領域74d,…をさらに含む。BufChange(1)領域74c,BufChange(2)領域74d,…には、スライド操作(スライドタッチ操作からタッチオン操作およびタッチオフ操作を除いた残り)に対応する一連の命令要素が格納される。

また、このバッファ書込処理に応答して、第1メモリ書込処理および第2メモリ書込処理の少なくとも一方を実行する(S23〜S51,S34a〜S34d,S46a〜S46d)。そして、いずれかのメモリ書込処理が実行される度に、Data(0)〜Data(4)に格納された命令要素列が実行可能条件(Data配列DB:76c)を満足するか否かを判別し(S53)、命令要素列が実行可能条件を満足すると判別されると、この命令要素列に従う処理を実行する(S55)。
これにより、3つ以上の命令要素を1回のスライドタッチ操作で指定できるようになる。
なお、実施例および変形例の各々では、複数の命令要素を順次指定する操作を受け付ける手段としてタッチパネル24を用いたが、マウス,トラックボール,タッチパッド,キーボードなど他のポインティングデバイスも利用できる。
なお、以上ではゲーム装置10について説明したが、この発明は、パーソナルコンピュータ,携帯情報端末,携帯電話機など他の情報処理装置にも適用できる。
この発明の一実施例を示す図解図である。 図1実施例の電気的な構成を示すブロック図である。 図1実施例に適用されるRAMのメモリマップを示す図解図である。 図1実施例に適用されるData配列DBを示す図解図である。 図1実施例に適用される判定基準DBを示す図解図である。 図1実施例に適用される操作画面の構成を示す図解図である。 操作画面の具体例を示す図解図である。 (A)および(B)は図7画面に向けたタッチ操作の一例を時系列順に示す図解図である。 (A)〜(C)は図7画面に向けたタッチ操作の他の一例を時系列順に示す図解図である。 図1実施例に適用されるCPU動作の一部を示すフロー図である。 図1実施例に適用されるCPU動作の他の一部を示すフロー図である。 図1実施例に適用されるCPU動作のその他の一部を示すフロー図である。 図1実施例に適用されるCPU動作のさらにその他の一部を示すフロー図である。 図1実施例の変形例に適用されるRAMのメモリマップを示す図解図である。 図14変形例に適用されるCPU動作の一部を示すフロー図である。 図14変形例に適用されるCPU動作の他の一部を示すフロー図である。 図14変形例に適用されるCPU動作のその他の一部を示すフロー図である。 図14変形例に適用されるCPU動作のさらにその他の一部を示すフロー図である。 図14変形例に適用されるCPU動作の他の一部を示すフロー図である。
符号の説明
10 …ゲーム装置
12,14 …LCD
22 …操作スイッチ
24 …タッチパネル
26 …スティック
28b,42 …RAM
34 …CPUコア
48 …I/F回路
F1〜F4 …フィールド
A1〜A4 …行動

Claims (16)

  1. 命令に従って情報を処理する情報処理装置のコンピュータに、
    前記命令を構成する複数の命令要素のうち少なくとも1つを指定する操作を繰り返し受け付ける受付ステップ、
    前記受付ステップによって受け付けられた操作に対応する各命令要素が特定属性を有するか否かを判別する属性判別ステップ、
    前記属性判別ステップによって特定属性を有すると判別された第1命令要素を第1メモリに書き込む第1メモリ書込処理、および前記属性判別ステップによって特定属性を有しないと判別された第2命令要素を第2メモリに書き込む第2メモリ書込処理の少なくとも一方を実行するメモリ書込ステップ、
    前記第1メモリおよび前記第2メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを前記メモリ書込ステップの書込処理が実行される度に判別する第1判別ステップ、および
    前記第1判別ステップによって前記第1メモリおよび前記第2メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理ステップを実行させる、情報処理プログラム。
  2. 前記第1判別ステップは、
    前記第1メモリおよび前記第2メモリに跨って格納された命令要素列が所定の命令要素列と一致する場合に実行可能条件を満足すると判別し、
    前記第1メモリおよび前記第2メモリに跨って格納された命令要素列が前記所定の命令要素列と一致しない場合には実行可能条件を満足しないと判別し、
    前記コンピュータに、前記第1判別ステップによって実行可能条件を満足しないと判別されたとき前記第1メモリおよび前記第2メモリを初期化する第1初期化ステップをさらに実行させる、請求項1記載の情報処理プログラム。
  3. 前記第1判別ステップは、前記第1メモリに前記第1命令要素が格納されていない場合、または前記第1メモリおよび前記第2メモリに跨って格納された命令要素列の要素数が前記所定の命令要素列の要素数に満たない場合には判別を保留し、
    前記受付ステップは、前記情報処理ステップが判別を保留したときさらなる操作を受け付ける、請求項2記載の情報処理プログラム。
  4. 前記コンピュータに、前記受付ステップによる前記操作の受け付けに応答して前記第1メモリに前記第1命令要素が記憶されない場合に前記第1メモリおよび前記第2メモリを初期化する第2初期化ステップをさらに実行させる、請求項2または3記載の情報処理プログラム。
  5. 前記第1命令要素は行動を、前記第2命令要素は当該行動の主体または客体をそれぞれ示し、
    毎回の前記操作は、1つの前記第1命令要素または1つの前記第2命令要素を指定する第1操作、および複数の前記第2命令要素を順次指定する第2操作のいずれかであり、
    前記属性判別ステップは、1回の前記操作が受け付けられる毎に、当該操作に対応する各命令要素について特定属性を有するか否かの判別を行う、請求項1ないし4のいずれかに記載の情報処理プログラム。
  6. 前記第1操作は、単一の命令要素を点で指定前記第2操作は、複数の命令要素を線で指定する、請求項記載の情報処理プログラム。
  7. 前記命令を構成する複数の命令要素はディスプレイに表示され、
    前記第1操作は、前記ディスプレイに設けられたタッチパネル内の任意の点へのタッチオン操作および当該点からのタッチオフ操作を含むクリックタッチ操作であり、
    前記第2操作は、前記タッチパネル内の任意の第1点へのタッチオン操作,当該第1点から当該タッチパネル内の任意の第2点へのスライド操作および当該第2点からのタッチオフ操作を含むスライドタッチ操作である、請求項記載の情報処理プログラム。
  8. 前記コンピュータに、
    前記受付ステップによって受け付けられた操作に対応する命令要素をバッファに書き込むバッファ書込ステップをさらに実行させ、
    前記バッファは第1バッファおよび第2バッファを含み、
    前記バッファ書込ステップは、前記タッチオン操作に対応する命令要素を前記第1バッファに書き込む一方、前記タッチオフ操作に対応する命令要素を前記第2バッファに書き込み、
    前記メモリ書込ステップは、前記バッファ書込ステップの書込処理に応答して、前記第1バッファおよび前記第2バッファに格納された命令要素を前記第1メモリまたは前記第2メモリに書き込む、請求項記載の情報処理プログラム。
  9. 前記コンピュータに、
    前記第1バッファに格納された命令要素および前記第2バッファに格納された命令要素が互いに一致するか否かを前記バッファ書込ステップの書込処理の後に判別する第2判別ステップ、および
    前記第2判別ステップによって前記第1バッファに格納された命令要素および前記第2バッファに格納された命令要素が互いに一致すると判別されたとき当該第2バッファをリセットするリセットステップをさらに実行させる、請求項記載の情報処理プログラム。
  10. 前記バッファは第3バッファをさらに含み、
    前記バッファ書込ステップはさらに、前記スライド操作に対応する1つまたは複数の命令要素を前記第3バッファに書き込む、請求項または記載の情報処理プログラム。
  11. 前記第1命令要素は自然言語における動詞の機能を持つ命令要素であり、前記第2命令要素は前記動詞に関して主語および目的語のいずれかの機能を持つ命令要素である、請求項1ないし10いずれかに記載の情報処理プログラム。
  12. 前記自然言語は、前記命令を示す文を主語,目的語および動詞の語順で構成する第1自然言語、および前記命令を示す文を主語,動詞および目的語の語順で構成する第2自然言語を含み、
    前記操作は、前記命令を構成する複数の命令要素を前記第1自然言語および前記第2自然言語の中から任意に選択される自然言語の構文に従う順序で指定する、請求項11記載の情報処理プログラム。
  13. 前記第1判別ステップの判別処理は、実行可能な1つまたは複数の命令要素列を記述したデータベースに基づく、請求項1ないし12のいずれかに記載の情報処理プログラム。
  14. 命令に従って情報を処理する情報処理装置であって、
    前記命令を構成する複数の命令要素のうち少なくとも1つを指定する操作を繰り返し受け付ける受付手段、
    前記受付手段によって受け付けられた操作に対応する各命令要素が特定属性を有するか否かを判別する属性判別手段、
    前記属性判別手段によって特定属性を有すると判別された第1命令要素を第1メモリに書き込む第1メモリ書込処理、および前記属性判別手段によって特定属性を有しないと判別された第2命令要素を第2メモリに書き込む第2メモリ書込処理の少なくとも一方を実行するメモリ書込手段、
    前記第1メモリおよび前記第2メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを前記メモリ書込手段の書込処理が実行される度に判別する判別手段、および
    前記判別手段によって前記第1メモリおよび前記第2メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理手段を備える、情報処理装置。
  15. 命令に従って情報を処理する情報処理方法であって、
    前記命令を構成する複数の命令要素のうち少なくとも1つを指定する操作を繰り返し受け付ける受付ステップ、
    前記受付ステップによって受け付けられた操作に対応する各命令要素が特定属性を有するか否かを判別する属性判別ステップ、
    前記属性判別ステップによって特定属性を有すると判別された第1命令要素を第1メモリに書き込む第1メモリ書込処理、および前記属性判別ステップによって特定属性を有しないと判別された第2命令要素を第2メモリに書き込む第2メモリ書込処理の少なくとも一方を実行するメモリ書込ステップ、
    前記第1メモリおよび前記第2メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを前記メモリ書込ステップの書込処理が実行される度に判別する第1判別ステップ、および
    前記第1判別ステップによって前記第1メモリおよび前記第2メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理ステップを含む、情報処理方法。
  16. 命令に従って情報を処理する情報処理システムであって、
    前記命令を構成する複数の命令要素のうち少なくとも1つを指定する操作を繰り返し受け付ける受付手段、
    前記受付手段によって受け付けられた操作に対応する各命令要素が特定属性を有するか否かを判別する属性判別手段、
    前記属性判別手段によって特定属性を有すると判別された第1命令要素を第1メモリに書き込む第1メモリ書込処理、および前記属性判別手段によって特定属性を有しないと判別された第2命令要素を第2メモリに書き込む第2メモリ書込処理の少なくとも一方を実行するメモリ書込手段、
    前記第1メモリおよび前記第2メモリに跨って格納された命令要素列が実行可能条件を満足するか否かを前記メモリ書込手段の書込処理が実行される度に判別する判別手段、および
    前記判別手段によって前記第1メモリおよび前記第2メモリに跨って格納された命令要素列が実行可能条件を満足すると判別されたとき当該命令要素列に従って情報を処理する情報処理手段を備える、情報処理システム。
JP2007217829A 2007-08-24 2007-08-24 情報処理プログラムおよび情報処理装置 Active JP4971908B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007217829A JP4971908B2 (ja) 2007-08-24 2007-08-24 情報処理プログラムおよび情報処理装置
US12/078,896 US8151007B2 (en) 2007-08-24 2008-04-08 Information processing program and information processing apparatus
US13/410,462 US9616337B2 (en) 2007-08-24 2012-03-02 Information processing program and information processing apparatus
US15/461,074 US10071309B2 (en) 2007-08-24 2017-03-16 Information processing program and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007217829A JP4971908B2 (ja) 2007-08-24 2007-08-24 情報処理プログラムおよび情報処理装置

Publications (2)

Publication Number Publication Date
JP2009053781A JP2009053781A (ja) 2009-03-12
JP4971908B2 true JP4971908B2 (ja) 2012-07-11

Family

ID=40383233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007217829A Active JP4971908B2 (ja) 2007-08-24 2007-08-24 情報処理プログラムおよび情報処理装置

Country Status (2)

Country Link
US (3) US8151007B2 (ja)
JP (1) JP4971908B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012150566A (ja) * 2011-01-17 2012-08-09 Sharp Corp 表示装置、表示方法、コンピュータプログラム、及び記録媒体
JP2014147511A (ja) * 2013-01-31 2014-08-21 Gree Inc プログラム、表示システム及びサーバ装置
JP2016073663A (ja) * 2015-11-25 2016-05-12 グリー株式会社 プログラム、及び表示システム
TWI753146B (zh) 2017-04-14 2022-01-21 日商索尼股份有限公司 非接觸通訊裝置及通訊系統
CN107066191A (zh) * 2017-05-19 2017-08-18 广州视源电子科技股份有限公司 电子课堂的编辑方法、系统、可读存储介质及计算机设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4516156A (en) * 1982-03-15 1985-05-07 Satellite Business Systems Teleconferencing method and system
US4710758A (en) * 1985-04-26 1987-12-01 Westinghouse Electric Corp. Automatic touch screen calibration method
US5210834A (en) * 1988-06-01 1993-05-11 Digital Equipment Corporation High speed transfer of instructions from a master to a slave processor
JP3256994B2 (ja) 1991-10-30 2002-02-18 富士通株式会社 タッチ入力による表示対象移動方法
US5949012A (en) * 1995-12-27 1999-09-07 Kabushiki Kaisha Kawai Gakki Seisakusho Electronic musical instrument and music performance information inputting apparatus capable of inputting various music performance information with simple operation
EP1054387A3 (en) * 1999-05-21 2001-11-14 Winbond Electronics Corporation Method and apparatus for activating voice controlled devices
JP4301469B2 (ja) 1999-08-02 2009-07-22 株式会社バンダイナムコゲームス 画像生成システム及び情報記憶媒体
GB2395645B (en) 1999-08-25 2004-07-21 Namco Ltd Image generation system and program
US6608624B1 (en) * 2000-09-06 2003-08-19 Image Tech Incorporation Method for accelerating 3D animation production
CA2460836A1 (en) * 2001-09-18 2003-03-27 Karen Gourgey Tactile graphic-based interactive overlay assembly and computer system for the visually impaired
JP3760347B2 (ja) * 2002-07-30 2006-03-29 株式会社光栄 プログラム、記録媒体、ゲームキャラクタ描画方法及びゲーム装置
JP2005044026A (ja) 2003-07-24 2005-02-17 Fujitsu Ltd 命令実行方法、命令実行プログラムおよび命令実行装置
JP2006192246A (ja) * 2004-12-13 2006-07-27 Nintendo Co Ltd ゲーム装置およびゲームプログラム
JP4719494B2 (ja) * 2005-04-06 2011-07-06 任天堂株式会社 入力座標処理プログラムおよび入力座標処理装置
US7750893B2 (en) * 2005-04-06 2010-07-06 Nintendo Co., Ltd. Storage medium storing input position processing program, and input position processing device
JP4603931B2 (ja) * 2005-05-16 2010-12-22 任天堂株式会社 オブジェクト移動制御装置およびオブジェクト移動制御プログラム

Also Published As

Publication number Publication date
US9616337B2 (en) 2017-04-11
US8151007B2 (en) 2012-04-03
JP2009053781A (ja) 2009-03-12
US20120166678A1 (en) 2012-06-28
US20170203212A1 (en) 2017-07-20
US20090055614A1 (en) 2009-02-26
US10071309B2 (en) 2018-09-11

Similar Documents

Publication Publication Date Title
JP4603931B2 (ja) オブジェクト移動制御装置およびオブジェクト移動制御プログラム
JP4134008B2 (ja) 画像処理装置および画像処理プログラム
US8113954B2 (en) Game apparatus, storage medium storing game program and game controlling method for touch input monitoring
EP1645949B1 (en) Information processing apparatus and information input program
US20060109259A1 (en) Storage medium storing image display program, image display processing apparatus and image display method
EP1557209A1 (en) Game system using touch panel input
US8851986B2 (en) Game program and game apparatus
JP2007026129A (ja) オブジェクト移動制御プログラムおよび情報処理装置
JP2007102499A (ja) オブジェクト移動制御プログラムおよび情報処理装置
US10071309B2 (en) Information processing program and information processing apparatus
JP2006288532A (ja) ゲームプログラム
JP5143503B2 (ja) プログラム、情報処理装置、情報処理システムおよび情報処理方法
JP4922797B2 (ja) 情報処理装置およびそのプログラム
JP5426066B2 (ja) 表示更新プログラムおよび表示更新装置
JP5000132B2 (ja) トレーニングプログラム、トレーニング装置、トレーニングシステム、トレーニング制御方法、ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム制御方法
JP4913178B2 (ja) オブジェクト移動制御プログラムおよび情報処理装置
JP4920942B2 (ja) ゲームシステム
JP4943658B2 (ja) ゲームプログラムおよびゲーム装置
JP4445793B2 (ja) タッチパネルを用いた入力装置およびプログラム
JP5449432B2 (ja) ゲームプログラムおよびゲーム装置
JP4979779B2 (ja) 情報処理装置および情報入力プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120406

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4971908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250