(57)【要約】【課題】  ユーザのプログラミング学習を適切に支援すること。【解決手段】  ユーザにより設定された１以上のコマンドに基づいて定まる第１の座標が、表示部１２に表示させた座標系の座標値によって規定される表示範囲Ｂ内に属する場合、表示部１２に表示させた座標系の第１の座標に応じた位置に、アバターＤｂを表示させ、第１の座標が、表示範囲Ｂ内には属さず、かつ、動作範囲Ｃ内に属する場合、特定の表示体を表示範囲Ｂ内に表示せず、第１の座標の座標値を記憶部２２に記憶させ、かつ、１以上のコマンド以降のコマンドの実行を続行するように制御する、表示制御部２１を備える。【選択図】図１
2019124764.tif 000002
【特許請求の範囲】
【請求項１】
ユーザにより設定された１以上の命令に基づいて定まる第１の座標が、表示部に表示させた座標系の座標値によって規定される第１の範囲内に属する第１の条件を満たす場合、前記表示部に表示させた前記座標系の前記第１の座標に応じた位置に、特定の表示体を表示させ、
前記第１の座標が、前記第１の範囲内には属さず、かつ、第２の範囲内に属する第２の条件を満たす場合、前記特定の表示体を前記第１の範囲内に表示せず、前記第１の座標の座標値を記憶部に記憶させ、かつ、前記１以上の命令以降の命令の実行を続行するように制御する、
制御部を備える、表示制御装置。
【請求項２】
前記制御部は、
前記第１の座標が、前記座標系の座標値によって規定されかつ前記第１の範囲を一部に含む第２の範囲内に属さない第３の条件を満たす場合、前記第３の条件を満たすことを報知部から報知させ、かつ、前記１以上の命令以降の命令の実行を中断するように、さらに制御する、
請求項１に記載の表示制御装置。
【請求項３】
前記制御部は、
前記実行の中断中に第１の操作を受け付けたことに応じて、その命令を実行することにより前記第３の条件を満たすに至った命令を編集できる状態へ処理を遷移させ、
前記実行の中断中に前記第１の操作とは異なる第２の操作を受け付けたことに応じて、前記１以上の命令の先頭の命令を前記表示部に表示させる、
請求項２に記載の表示制御装置。
【請求項４】
前記制御部は、
前記第３の条件を満たす場合、前記第３の条件を満たすことを示す情報を、記憶部に記憶させ、
特定の操作を受け付けたことに応じて、前記記憶部に記憶された情報のうち、前記第３の条件を満たすことを、前記表示部に表示させる、
請求項２または３に記載の表示制御装置。
【請求項５】
前記制御部は、前記第３の条件を満たす場合、
前記第２の範囲の最大値よりも大きい第１の範囲外へ当該第２の範囲を外れている場合と、前記第２の範囲の最小値よりも小さい第２の範囲外へ当該第２の範囲を外れている場合と、を区別して、前記第３の条件を満たすことを示す情報を前記記憶部に記憶させ、
前記特定の操作を受け付けたことに応じて、前記記憶部に記憶された情報のうち、前記第１の範囲外へ外れている場合と、前記第２の範囲外へ外れている場合と、を区別できるように、前記表示部に表示させる、
請求項４に記載の表示制御装置。
【請求項６】
前記制御部は、
前記第１の条件を満たす場合、前記第１の座標の座標値を記憶部に記憶させ、かつ、前記１以上の命令以降の命令の実行を続行するように制御する、
請求項１から５のいずれか一項に記載の表示制御装置。
【請求項７】
前記制御部は、
特定の操作を受け付けたことに応じて、前記記憶部に記憶された情報のうち、前記第１の座標の座標値を、前記表示部に表示させる、
請求項１から６のいずれか一項に記載の表示制御装置。
【請求項８】
前記制御部は、
前記１以上の命令の実行を中断することを指示する中断命令が、当該１以上の命令に含まれる場合、前記中断命令を実行したことに応じて、前記１以上の命令の実行を中断するように制御し、
前記実行の中断中に、特定の操作を受け付けたことに応じて、前記記憶部に記憶された情報を、前記表示部に表示させる、
請求項１から７のいずれか一項に記載の表示制御装置。
【請求項９】
制御部を備える表示制御装置の前記制御部によって実行される表示制御方法であって、
ユーザにより設定された１以上の命令に基づいて定まる第１の座標が、表示部に表示させた座標系の座標値によって規定される第１の範囲内に属する第１の条件を満たす場合、前記表示部に表示させた前記座標系の前記第１の座標に応じた位置に、特定の表示体を表示させ、
前記第１の座標が、前記第１の範囲内には属さず、かつ、第２の範囲内に属する第２の条件を満たす場合、前記特定の表示体を前記第１の範囲内に表示せず、前記第１の座標の座標値を記憶部に記憶させ、かつ、前記１以上の命令以降の命令の実行を続行するように制御する、
表示制御方法。
【請求項１０】
表示制御装置の制御部によって、
ユーザにより設定された１以上の命令に基づいて定まる第１の座標が、表示部に表示させた座標系の座標値によって規定される第１の範囲内に属する第１の条件を満たす場合、前記表示部に表示させた前記座標系の前記第１の座標に応じた位置に、特定の表示体を表示させ、
前記第１の座標が、前記第１の範囲内には属さず、かつ、第２の範囲内に属する第２の条件を満たす場合、前記特定の表示体を前記第１の範囲内に表示せず、前記第１の座標の座標値を記憶部に記憶させ、かつ、前記１以上の命令以降の命令の実行を続行するように制御させる、
コンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばグラフ関数電卓のような電子機器のディスプレイのための表示制御装置、表示制御方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、グラフ関数電卓は、グラフの描画、連立方程式の計算、変数を用いた演算ができる電卓である。この種のグラフ関数電卓は、ディスプレイを有し、ディスプレイから、複数行のテキストや、計算結果のグラフを表示することができる。
【０００３】
このようにグラフ関数電卓は、ディスプレイを有していることから、近年では、プログラミング教育への利用も考えられている。
【０００４】
グラフ関数電卓をプログラミング教育のために使用することを想定した場合、グラフ関数電卓は、自機の動作モードを、計算を実行するための計算モードから、プログラミングを学習するためのモード（以下、「プログラミング学習モード」と称する）に切り替え可能な構成とすればよい。
【０００５】
プログラミング学習モードでは、例えば、ディスプレイ上にアバターを表示させ、アバターをユーザによって入力されたコマンドに応じて移動させたり、アバターの軌跡を描画させるなどして、ユーザがアルゴリズムを学習することができる。ここで、アバターとは、ディスプレイに表示される画面に設定される座標系内の、コマンドに応じて定められる座標値に対応する位置に表示される表示体のことである。アバターは、動物などのキャラクターの画像であってもよいし、矢印やドットなどの抽象的な画像であってもよい。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】https://www.youtube.com/watch?v=eORDWe7vxdU（"Scratch - Why does my sprite get stuck on the edge"）（2017年12月14日検索）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般に、コマンドに応じて定められる座標値が、画面に設定された座標系の表示範囲外となることがあり得る。
【０００８】
従来のプログラミング学習支援装置においては、アバターの表示位置に対応する座標値が、画面に設定された座標系の表示範囲外となった場合、アバターが座標系が設定された画面の隅に固定表示されてしまっていた。このため、入力したコマンドに応じて、アバターを適切に移動させることができなかった。
【０００９】
本発明はこのような事情に鑑みてなされたものであり、ユーザのプログラミング学習を適切に支援することができる表示制御装置、表示制御方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る表示制御装置は、ユーザにより設定された１以上の命令に基づいて定まる第１の座標が、表示部に表示させた座標系の座標値によって規定される第１の範囲内に属する第１の条件を満たす場合、表示部に表示させた座標系の第１の座標に応じた位置に、特定の表示体を表示させ、第１の座標が、第１の範囲内には属さず、かつ、第２の範囲内に属する第２の条件を満たす場合、特定の表示体を第１の範囲内に表示せず、第１の座標の座標値を記憶部に記憶させ、かつ、１以上の命令以降の命令の実行を続行するように制御する、制御部を備える。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る表示制御方法が適用された表示制御装置が搭載された電子機器の外観構成を示す正面図である。
【図２】電子機器の電子回路の構成を示すブロック図である。
【図３】表示制御プログラムに含まれるサブプログラムを示す構成図である。
【図４】表示範囲と動作範囲との関係を示す模式図である。
【図５Ａ】本発明の実施形態に係る電子機器１０の動作例を示すフローチャートである。
【図５Ｂ】本発明の実施形態に係る電子機器１０の動作例を示すフローチャートである。
【図５Ｃ】本発明の実施形態に係る電子機器１０の動作例を示すフローチャートである。
【図５Ｄ】本発明の実施形態に係る電子機器１０の動作例を示すフローチャートである。
【図５Ｅ】本発明の実施形態に係る電子機器１０の動作例を示すフローチャートである。
【図６Ａ】描画された直線がディスプレイから表示された例を示す模式図である。
【図６Ｂ】描画された直線がディスプレイから表示された例を示す模式図である。
【図７】描画された直線がディスプレイから表示された例を示す模式図である。
【図８】アバターの移動後の座標値に従って更新されたパラメータの一例を示す模式図である。
【図９】移動後の座標値に従って更新されたパラメータの別の例を示す模式図である。
【図１０】アバターの移動後の座標値に従って更新されたパラメータのさらに別の例を示す模式図である。
【図１１】アバターの移動後の座標値に従って更新されたパラメータのさらにまた別の例を示す模式図である。
【図１２】アバターの移動先の座標が動作範囲を超えている場合におけるディスプレイによる表示例を示す模式図である。
【図１３】コマンドの編集画面例を示す図である。
【図１４】スクリプトの閲覧画面例を示す図である。
【図１５】アバターの移動後の座標値に従って更新されたパラメータの別の例を示す模式図である。
【発明を実施するための形態】
【００１２】
以下に、本発明の実施形態に係る表示制御方法が適用された表示制御装置を実現する電子機器を、図面を参照して説明する。
【００１３】
図１は、本発明の実施形態に係る表示制御方法が適用された表示制御装置が搭載された電子機器１０の外観構成を示す正面図である。
【００１４】
図１は、電子機器１０をグラフ関数電卓として実施した場合を示す図である。しかしながら、電子機器１０は、グラフ関数電卓として構成されるのに限定されず、タブレット端末、パーソナルコンピュータ、スマートフォン、携帯電話機、タッチパネル式ＰＤＡ(personal digital assistants)、電子ブック、携帯ゲーム機等として構成することもできる。
【００１５】
なお、グラフ関数電卓のような物理的なキー（ボタン）が実装されていないタブレット端末のような電子機器（図示せず）は、グラフ関数電卓のキーと同様なソフトウェアキーボードを表示し、このソフトウェアキーボードに対するキー操作に応じて処理を実行する。
【００１６】
グラフ関数電卓として構成される電子機器１０は、その携帯性の必要からユーザが片手で十分把持し片手で操作可能な小型サイズからなり、本体正面にはキー入力部１１およびディスプレイ１２が設けられる。
【００１７】
キー入力部１１には、数値、数式、およびプログラム命令を入力したり、計算やプログラムの実行を指示したりするための数値・演算記号キー群１１１、各種の関数を入力したりメモリ機能を立ち上げたりするための関数機能キー群１１２、計算モードやプログラミング学習モードといった各種動作モードのメニュー画面を表示させたり、これら動作モードの設定を指示したりするためのモード選択キー「ＭＯＤＥ」等を含む設定キー群１１３、ディスプレイ１２の下端に沿って表示された各種の機能を１回のキー操作で立ち上げるためのファンクションキー群１１４、ディスプレイ１２に表示されたカーソルの移動操作やデータ項目の選択操作などを行うためのカーソルキー１１５が備えられる。
【００１８】
数値・演算記号キー群１１１としては、［０］〜［９］（数値）キー、［＋］［−］［×］［÷］（四則記号）キー、［ＥＸＥ］（実行）キー、［ＡＣ］（クリア）キーなどが配列される。
【００１９】
関数機能キー群１１２としては、［ｓｉｎ］（サイン）キー、［ｃｏｓ］（コサイン）キー、［ｔａｎ］（タンジェント）キーなどが配列される。
【００２０】
設定キー群１１３としては、モード選択キー「ＭＯＤＥ」の他に、［ＭＥＮＵ］（メニュー）キー、［ＳＨＩＦＴ］（シフト）キーなどが配列される。
【００２１】
ファンクションキー群１１４としては、［Ｆ１］キー〜［Ｆ６］キーが配列される。
【００２２】
なお、数値・演算記号キー群１１１、関数機能キー群１１２、設定キー群１１３、ファンクションキー群１１４のキーは、［ＳＨＩＦＴ］キーが操作された後に続けて操作されることで、そのキートップに記載されたキー機能ではなく、そのキーの上方に記載されたキーとして機能できるようになっている。例えば、［ＳＨＩＦＴ］キー操作後に［ＡＣ］キーが操作（以下、［ＳＨＩＦＴ］＋［ＡＣ］キーと記す。）されると［ＯＦＦ］（電源オフ）キーとなる。［ＳＨＩＦＴ］＋［ＭＥＮＵ］キーは［ＳＥＴ  ＵＰ］（セットアップ）キー、［ＳＨＩＦＴ］＋［Ｆ３］キーは［Ｖ−Ｗｉｎｄｏｗ］（ビューウインドウ：描画領域設定画面の表示を指示する）キーとなる。
【００２３】
ディスプレイ１２は、ドットマトリクス型の液晶表示ユニットからなる。なお、電子機器１０がタブレット端末である場合、ディスプレイ１２は、タッチパネルを重ねて設けた液晶表示ユニットからなる。
【００２４】
図２は、電子機器１０の電子回路の構成を示すブロック図である。
【００２５】
電子機器１０の電子回路は、キー入力部１１およびディスプレイ１２に加えて、コンピュータであるＣＰＵ２１、メモリ２２、および記録媒体読取部２４を備えている。
【００２６】
ＣＰＵ２１は、メモリ２２に記憶されている表示制御プログラム２２ａに従い回路各部の動作を制御し、キー入力部１１からのキー入力信号に応じた各種の処理を実行する。表示制御プログラム２２ａは、メモリ２２に予め記憶されていてもよいし、あるいはメモリカード等の外部記録媒体２３から記録媒体読取部２４を介してメモリ２２に読み込まれて記憶されたものであってもよい。表示制御プログラム２２ａは、ユーザがキー入力部１１の操作によって書き換えできないようになっている。
【００２７】
メモリ２２には、このようなユーザ書き換え不可能な情報の他に、ユーザが書き換え可能なデータを記憶するエリアとして、キー入力部１１によりキー入力されたキーコードのデータが順次入力され、これにより構成される数式のデータや表データ、グラフデータ等が記憶されるエリアである書込可能データエリア２２ｂが確保されている。
【００２８】
このように構成された電子機器１０は、ＣＰＵ２１が表示制御プログラム２２ａに記述された命令に従い回路各部の動作を制御し、ソフトウェアとハードウエアとが協働して動作することにより、以下に説明するように、表示制御機能を実現する。
【００２９】
すなわち、表示制御プログラム２２ａは、プログラミング学習モードにおいて、アバター（表示体）ＤｂおよびアバターＤｂの軌跡をディスプレイ１２から表示させるための表示させるプログラムである。なお、表示制御プログラム２２ａは、アバターＤｂが、ディスプレイ１２の表示範囲（後述する図４におけるＢ）の外に出た場合であっても、アバターＤｂの軌跡については、ディスプレイ１２から表示させる。
【００３０】
電子機器１０のプログラミング学習モードへの設定は、設定キー群１１３における「ＭＯＤＥ」キー１１３ａを押圧することによってなされる。すなわち、電子機器１０は、計算モードやプログラミング学習モードといった各種動作モードを備えており、「ＭＯＤＥ」キー１１３ａが押圧されると、計算モードとプログラミング学習モードとが交互に切り替わるようになっている。また、電子機器１０は、これ以外のモードを備えていてもよく、３つ以上のモードを備えている場合であっても、「ＭＯＤＥ」キー１１３ａを押圧する毎に、モードが順次切り替わるようにすることによって対応可能である。
【００３１】
図３は、表示制御プログラム２２ａに含まれるサブプログラムを示す構成図である。
【００３２】
表示制御プログラム２２ａは、図３に示すように、表示制御サブプログラム２２ａ１、記憶制御サブプログラム２２ａ２、報知制御サブプログラム２２ａ３、および実行制御サブプログラム２２ａ４を備えている。
【００３３】
モードがプログラミング学習モードに設定されると、表示制御プログラム２２ａによって、数値・演算記号キー群１１１から、コマンドを受け付けることが可能な状態となる。
【００３４】
これに応じて、ユーザは、数値・演算記号キー群１１１を操作することによって、種々のコマンドを入力し、スクリプトを作成、編集することができる。ここで、スクリプトとは、１つ以上のコマンドを含むプログラムリストのことである。スクリプトに含まれる各コマンドとは、本実施形態の電子機器１０のプログラミング学習モードで、スクリプトの編集画面において選択、入力可能な最小単位の命令のことである。以下では、スクリプトを例示しながら、コマンドについて具体的に説明する。
【００３５】
以下は、３つのコマンドからなるスクリプトの一例（例１）である。
（例１）
ＰＥＮ  ＤＯＷＮ
ＧＯＴＯ  ｘ＝１０、ｙ＝１０
ＭＯＶＥ（１０）
ＰＥＮ  ＵＰ
「ＰＥＮ  ＤＯＷＮ」は、アバターＤｂの軌跡を描画することを指示するコマンドであり、「ＰＥＮ  ＵＰ」は、アバターＤｂの軌跡を描画しないことを指示するコマンドである。また、「ＧＯＴＯ」は指定された絶対座標への移動を指示するコマンドであり、「ＭＯＶＥ」は、アバターＤｂの現在位置からの相対的な移動量を指定するコマンドである。なお、「ＭＯＶＥ」コマンドを実行する際のアバターＤｂの移動の向きは、後述するように別途指定される。
【００３６】
ところで、電子機器１０では、取扱可能な座標範囲では有限である。本明細書では、グラフ関数電卓が取扱可能な座標範囲を、動作範囲と称する。電子機器１０は、動作範囲を超える座標値を取り扱うことができず、オーバフローとして取り扱う。また、電子機器１０は、動作範囲のうち、一部の座標範囲のみを、ディスプレイ１２から表示することができる。本明細書では、電子機器１０が、ディスプレイ１２から表示可能な座標範囲を、表示範囲と称する。
【００３７】
図４は、表示範囲と動作範囲との関係を示す模式図である。
【００３８】
表示範囲（第１の範囲）Ｂおよび動作範囲（第２の範囲）Ｃとも、ｘｙ座標系によって規定され、表示範囲Ｂはｘｙ座標におけるｘminb≦ｘ≦ｘmaxb、ｙminb≦ｙ≦ｙmaxbであり、動作範囲Ｃはｘｙ座標におけるｘminc≦ｘ≦ｘmaxc、ｙminc≦ｙ≦ｙmaxcである。一例として、表示範囲Ｂはｘｙ座標における−９６≦ｘ≦９６、−２３≦ｙ≦２３であり、動作範囲Ｃはｘｙ座標における−９９９≦ｘ≦９９９、−９９９≦ｙ≦９９９である。
【００３９】
表示制御サブプログラム２２ａ１は、入力されたスクリプトにおいて、コマンドの種類、および、ＰＥＮ  ＤＯＷＮコマンドが有効であるか否かを調べ、ＰＥＮ  ＤＯＷＮが有効であり、かつ、「ＧＯＴＯ」コマンドまたは「ＭＯＶＥ」コマンドがあることを把握する。さらに、「ＧＯＴＯ」コマンドまたは「ＭＯＶＥ」コマンドによって指定されているアバターＤｂの移動が、表示範囲Ｂ内でなされる場合、アバターＤｂの軌跡を、ディスプレイ１２から表示させる。
【００４０】
一方、ＰＥＮ  ＤＯＷＮが有効であり、かつ、アバターＤｂの移動が、表示範囲Ｂを超えるものであっても、動作範囲Ｃ内でなされるのであれば、アバターＤｂをディスプレイ１２から非表示にするとともに、移動前の座標と、移動後の座標とを結ぶ直線、つまり、アバターＤｂの軌跡のうち、表示範囲Ｂ内に属する部分を、ディスプレイ１２から表示させる。
【００４１】
具体的には、表示制御サブプログラム２２ａ１は、アバターＤｂの移動前の座標、および、移動後の座標がともに、動作範囲Ｃ内にあるか否か、および、表示範囲Ｂ内にあるか否かを判定する。そして、アバターＤｂの移動前の座標、および、移動後の座標がともに、動作範囲Ｃ内かつ表示範囲Ｂ外にあると判定した場合、表示制御サブプログラム２２ａ１は、アバターＤｂを非表示のまま、移動前の座標と移動後の座標とを結ぶ直線と、表示範囲Ｂの境界とが交わる２つの座標を算出し、算出された２つの座標を結ぶ直線を、ディスプレイ１２から表示させる。
【００４２】
一方、アバターＤｂの移動前の座標と移動後の座標とのうちの少なくとも一方が、表示範囲Ｂ内にあり、他の一方が、動作範囲Ｃ内かつ表示範囲Ｂ外にあると判定した場合、表示制御サブプログラム２２ａ１は、移動前の座標と移動後の座標とを結ぶ直線と、表示範囲Ｂの境界とが交わる１つの座標を算出し、算出された座標と、表示範囲Ｂ内にある移動前または移動後の座標とを結ぶ直線を、ディスプレイ１２から表示させる。ここで、アバターＤｂの移動前の座標と移動後の座標とのうちの少なくとも一方の座標は、表示範囲Ｂ内にあるので、その少なくとも一方の座標に、アバターＤｂをディスプレイ１２から表示させる。
【００４３】
表示制御サブプログラム２２ａ１はさらに、アバターＤｂの座標値を、移動後の座標値に更新し、更新された座標値を、ディスプレイ１２から表示させる。なお、アバターＤｂの移動後のｘ座標値またはｙ座標値の何れかが、動作範囲Ｃ外にあり、オーバフローにより、動作範囲Ｃ外にありオーバフローしている座標値を電子機器１０が取り扱うことができない場合、オーバフローしている座標値を、エラー情報（例えば、「ＯＶＥＲ」というキャラクタ）に更新する。例えば、アバターＤｂの移動後の座標（ｘ、ｙ）が（１００、１０００）である場合、ｘ＝１００、ｙ＝ＯＶＥＲのように更新し、ディスプレイ１２から表示させる。
【００４４】
記憶制御サブプログラム２２ａ２は、表示制御サブプログラム２２ａ１によって更新されたアバターＤｂの移動後の座標（ｘ、ｙ）の値を、書込可能データエリア２２ｂに記憶させる。オーバフローにより、例えばｘ＝１００、ｙ＝ＯＶＥＲのように更新された場合も、書込可能データエリア２２ｂに記憶させる。
【００４５】
また、アバターＤｂの移動後の座標が動作範囲Ｃ内に属さないというオーバフロー条件を満たす場合、報知制御サブプログラム２２ａ３は、オーバフロー条件を満たすことを報知させる。報知方法としては、例えば、ディスプレイ１２から文字情報（例えば、「Ｒａｎｇｅ  Ｅｒｒｏｒ」）を表示させたり、図示しないスピーカからビープ音や音声ガイダンスなどの音声情報を出力させることであって良い。
【００４６】
オーバフロー条件を満たす場合、さらに、実行制御プログラム２２ａ４は、スクリプトにおける以降のコマンドの処理が実行されないように制御する。
【００４７】
次に、以上のように構成した本発明の実施形態に係る電子機器１０の動作を、図５Ａ〜図５Ｅに示すフローチャートを用いて説明する。
【００４８】
ユーザによって、例えば例１のようなスクリプトが入力されると、表示制御プログラム２２ａによって、スクリプトの１行目から最終行まで順に読み取られ、各行を読み込むたびに、図５Ａ，図５Ｂに示す処理が実行される。
【００４９】
まず、１行目のコマンド「ＰＥＮ  ＤＯＷＮ」が読み取られ、読み取ったコマンドの種類が「ＧＯＴＯ」コマンドまたは「ＭＯＶＥ」コマンドであるか否かが把握される（Ｓ１）。例えば、例１のようなスクリプトの場合、１行目は「ＧＯＴＯ」コマンドでも「ＭＯＶＥ」コマンドでもないと判定される（Ｓ１：Ｎｏ）。
【００５０】
さらに、読み取ったコマンドの種類が「ＷＡＩＴ」コマンドであるか否かが把握される（Ｓ１４）。同様に、例１のようなスクリプトの場合、１行目は「ＷＡＩＴ」コマンドではないと判定される（Ｓ１４：Ｎｏ）。なお、ステップＳ１４において、読み取ったコマンドの種類が「ＷＡＩＴ」コマンドであった場合には（Ｓ１４：Ｙｅｓ）、スクリプトの実行が一時中断される（Ｓ１５）。スクリプトの実行が中断した後の処理については、後述する。
【００５１】
「ＷＡＩＴ」コマンドではないと判定された後、コマンドに従った処理がなされ（Ｓ１６）、ＰＥＮ  ＤＯＷＮが有効の状態になる。ＰＥＮ  ＤＯＷＮが有効であるか否かについては、メモリ２２の書込可能データエリア２２ｂに一時記憶される。
【００５２】
次いで、２行目のコマンド「ＧＯＴＯ  ｘ＝１０、ｙ＝１０」が読み取られ、読み取ったコマンドの種類が「ＧＯＴＯ」コマンドまたは「ＭＯＶＥ」コマンドであるか否かが把握される（Ｓ１）。例えば、例１のようなスクリプトの場合、２行目は「ＧＯＴＯ」コマンドがあると判定される（Ｓ１：Ｙｅｓ）。
【００５３】
スクリプトに「ＧＯＴＯ」コマンドまたは「ＭＯＶＥ」コマンドがあると判定された場合（Ｓ１：Ｙｅｓ）、表示制御プログラム２２ａによって、アバターＤｂの移動前後の座標に基づいて、該移動が表示範囲Ｂ内でなされるか否か、つまり、アバターＤｂの移動前後の座標がともに、表示範囲Ｂ内であるか否かが判定される（Ｓ２）。例１の場合、コマンド表示制御プログラム２２ａによって、移動前の座標、つまり、アバターＤｂの初期位置座標（０、０）と、移動先の座標（１０、１０）とから、アバターＤｂの移動が表示範囲Ｂ内でなされる、つまり、第１の条件を満たすと判定される（Ｓ２：Ｙｅｓ）。
【００５４】
アバターＤｂの移動が表示範囲Ｂ内でなされると判定された場合（Ｓ２：Ｙｅｓ）、表示制御プログラム２２ａによって、メモリ２２の書込可能データエリア２２ｂの特定の領域が読み出され、ＰＥＮ  ＤＯＷＮが有効であるか否かが判定される（Ｓ３）。例１の場合、２行目の「ＧＯＴＯ」コマンド読み取り時には「ＰＥＮ  ＤＯＷＮ」コマンドが有効であると判定される（Ｓ３：Ｙｅｓ）。
【００５５】
表示制御プログラム２２ａによって、スクリプトに「ＰＥＮ  ＤＯＷＮ」コマンドが有効であると判定された場合、（Ｓ３：Ｙｅｓ）、さらに、表示範囲ＢにおけるアバターＤｂの移動前の座標から、移動先の座標までの軌跡を示す直線が描画され、描画された軌跡のうち表示範囲Ｂ内の部分が、ディスプレイ１２から表示される（Ｓ７）。図６Ａは、移動前の座標が（０、０）であり、移動先の座標が（１０、１０）である場合に、描画された軌跡が、ディスプレイ１２から表示された例を示す模式図である。また、表示制御プログラム２２ａによって、ステップＳ７が実行されるとともに、図６Ａに示すように、移動先の座標にアバターＤｂが、ディスプレイ１２から表示される（Ｓ８）。
【００５６】
ステップＳ８の後、表示制御プログラム２２ａによって、アバターＤｂの移動後の座標（ｘ、ｙ）の値が更新される（Ｓ９）とともに、記憶制御サブプログラム２２ａ２によって、書込可能データエリア２２ｂに記憶される（Ｓ１０）。
【００５７】
ステップＳ１０の後、実行すべき次のコマンドがあるかどうかが判別され（Ｓ１１）、ここでは、次のコマンドがあるので（Ｓ１１：Ｙｅｓ）、次のコマンドを実行する処理へ進み（Ｓ１２）、その後、ステップＳ１へ戻る。なお、次のコマンドがなかった場合（Ｓ１１：Ｎｏ）には、アバターＤｂがディスプレイ１２から表示された状態のまま、スクリプトの実行が終了する（Ｓ１３）。なお、スクリプトの実行が終了した後の動作については、後述する。
【００５８】
一方、ステップＳ３において、スクリプトに「ＰＥＮ  ＤＯＷＮ」コマンドが有効でないと判定された場合（Ｓ３：Ｎｏ）もまた、前述したステップＳ８〜Ｓ１３の処理へ進む。
【００５９】
次いで、３行目のコマンド「ＭＯＶＥ（１０）」が読み取られ、読み取ったコマンドの種類が「ＭＯＶＥ」コマンドであることが把握される（Ｓ１：Ｙｅｓ）。ここで、表示制御プログラム２２ａによって、メモリ２２の書込可能データエリア２２ｂの特定の領域が読み出され、アバターＤｂの移動の向き「θ＝０」が取得される。ここで、θは、原点を中心とする極座標での角度を示す数値であり、ｘ軸の正方向を基準角「０°」とする。したがって、「θ＝０」の場合、表示制御プログラム２２ａによって、アバターＤｂはｘ軸の正方向へ沿って移動される。
【００６０】
さらに、２行目のコマンド処理と同様に、表示制御プログラム２２ａによって、アバターＤｂの移動前後の座標に基づいて、該移動が表示範囲Ｂ内でなされると判定され（Ｓ２：Ｙｅｓ）、メモリ２２の書込可能データエリア２２ｂの特定の領域が読み出され、ＰＥＮ  ＤＯＷＮが有効であると判定される（Ｓ３：Ｙｅｓ）。また、表示範囲ＢにおけるアバターＤｂの移動前の座標から、移動先の座標までの軌跡を示す直線が描画され、描画された軌跡のうち表示範囲Ｂ内の部分が、ディスプレイ１２から表示される（Ｓ７）。
【００６１】
図６Ｂは、移動前の座標が（１０、１０）であり、移動先の座標が（２０、１０）である場合に、描画された軌跡が、ディスプレイ１２から表示された例を示す模式図である。また、表示制御プログラム２２ａによって、ステップＳ７が実行されるとともに、図６Ｂに示すように、移動先の座標にアバターＤｂが、ディスプレイ１２から表示される（Ｓ８）。
【００６２】
ステップＳ８の後、表示制御プログラム２２ａによって、アバターＤｂの移動後の座標（ｘ、ｙ）の値が更新される（Ｓ９）とともに、記憶制御サブプログラム２２ａ２によって、書込可能データエリア２２ｂに記憶される（Ｓ１０）。ステップＳ９の後、実行すべき次のコマンドがあるかどうかが判別され（Ｓ１１）、ここでは、次のコマンドがあるので（Ｓ１１：Ｙｅｓ）、次のコマンドを実行する処理へ進み（Ｓ１２）、その後、ステップＳ１へ戻る。
【００６３】
次いで、４行目のコマンド「ＰＥＮ  ＵＰ」が読み取られ、読み取ったコマンドの種類が「ＧＯＴＯ」コマンドでも「ＭＯＶＥ」コマンドでもないと判定される（Ｓ１：Ｎｏ）。そして、ステップＳ１４へ進み、「ＷＡＩＴ」コマンドでもないと判定され（Ｓ１４：Ｎｏ）、コマンドに従った処理がなされ（Ｓ１８）、ＰＥＮ  ＤＯＷＮが無効の状態になる。ＰＥＮ  ＤＯＷＮが無効であることが、メモリ２２の書込可能データエリア２２ｂに一時記憶される。以上で、例１のようなスクリプトの実行が完了する。
【００６４】
次に、以下のようなスクリプト（例２）を処理する場合における電子機器１０の動作について説明する。上述の例１と共通する部分については、説明を適宜省略する。
（例２）
ＰＥＮ  ＤＯＷＮ
ＧＯＴＯ  ｘ＝−１００、ｙ＝−１００
ＧＯＴＯ  ｘ＝１００、ｙ＝１００
例２の場合も、表示制御プログラム２２ａによって、スクリプトに「ＧＯＴＯ」コマンドがあると判定される（Ｓ１：Ｙｅｓ）。しかしながら、アバターＤｂの移動先の座標（１００、１００）は表示範囲Ｂを超えると判定される（Ｓ２：Ｎｏ）。
【００６５】
アバターＤｂの移動先の座標が表示範囲Ｂを超えると判定された場合（Ｓ２：Ｎｏ）、表示制御プログラム２２ａによって、アバターＤｂの移動先の座標が動作範囲Ｃ内であるか否かが判定される（Ｓ４）。例２の場合、アバターＤｂの移動先の座標（１００、１００）は、動作範囲Ｃ内である、つまり、第２の条件を満たすと判定される（Ｓ４：Ｙｅｓ）。
【００６６】
アバターＤｂの移動先の座標が、動作範囲Ｃ内であると判定された場合（Ｓ４：Ｙｅｓ）、表示制御プログラム２２ａによって、スクリプトに「ＰＥＮ  ＤＯＷＮ」コマンドが有効であるか否かが判定される（Ｓ５）。例２の場合、スクリプトに「ＰＥＮ  ＤＯＷＮ」コマンドが有効であると判定される（Ｓ５：Ｙｅｓ）。
【００６７】
スクリプトに「ＰＥＮ  ＤＯＷＮ」コマンドが有効であると判定された場合（Ｓ５：Ｙｅｓ）、表示制御プログラム２２ａによって、以下のように、表示範囲ＢにおけるアバターＤｂの始点座標と、終点座標とが決定される（Ｓ６）。
【００６８】
一般に、アバターＤｂの移動前の座標（ｘ１，ｙ１）と、移動後の座標（ｘ２，ｙ２）との２点を結ぶ直線（以下、軌跡直線と称する。）は、ｍを傾きとした場合、式ｙ＝ｍ（ｘ−ｘ１）＋ｙ１によって表される。ここで、ｍ＝（ｙ２ーｙ１）／（ｘ２−ｘ１）である。表示制御サブプログラム２２ａ１によって、この式が用いられ、傾きｍの値が正または負である場合に、（１）表示範囲Ｂの上辺を表す直線ｙ＝ｙmaxb（図７の例では、ｙ＝２３。以下同様）と軌跡直線との交点の座標（ｘ（ｙmaxb）、ｙmaxb）の算出、および、（２）表示範囲Ｂの下辺を表す直線ｙ＝ｙminb（ｙ＝−２３）と軌跡直線との交点の座標（ｘ（ｙminb）、ｙminb）の算出が行われる。
【００６９】
さらに、ｘminb＜ｘ（ｙmaxb）＜ｘmaxbおよびｘminb＜ｘ（ｙminb）＜ｘmaxbの判定結果に応じて、軌跡直線が表示範囲Ｂの四辺のうちどの２辺と交点を有するか、および、軌跡直線と交点を有する２辺との２つの交点の座標が算出される。傾きｍの値が０の場合は、ｘmaxb、ｘminbと軌跡直線との２つの交点、∞の場合は、ｙmaxb、ｙminbと軌跡直線との２つの交点がそれぞれ求められる。ここで、ｘ（ｙmaxb）はｙmaxbのときのｘの値、ｙ（ｘmaxb）はｘmaxbのときのｙの値等をそれぞれ表す。
【００７０】
例２の場合、移動前の座標は（−１００，−１００）であり、移動先の座標は（１００，１００）であるので、（１）において、ｙmaxb＝ｙ＝２３との交点として、ｘ＝２３が算出され、ｙminb＝ｙ＝−２３の交点として、ｘ＝−２３が算出される。このようにして得られた２つの交点の座標（−２３，−２３）および（２３，２３）が、表示範囲Ｂにおける始点座標および終点座標として決定される。
【００７１】
ステップＳ６の処理の後、表示制御プログラム２２ａによって、ステップＳ６において決定された始点座標から終点座標への直線が描画され、アバターＤｂの軌跡としてディスプレイ１２から表示される（Ｓ７）。図７は、始点座標が（−２３、−２３）であり、終点座標が（２３、２３）である場合に描画された直線が、ディスプレイ１２から表示された例を示す模式図である。
【００７２】
このように、アバターＤｂが表示範囲Ｂ外に出る場合であっても、アバターＤｂの軌跡が、ディスプレイ１２から表示可能な限り表示される。なお、軌跡の描画は、始点座標と終点座標との２点を、電子機器１０に組み込まれたオペレーティングシステムの描画関数を使って、直線で結ぶことによって実行される。これは、ディスプレイ１２の表示ドットごとにｘ座標に対するｙ座標の値を逐一算出しながら軌跡して行く場合よりも高速に実行される。
【００７３】
ステップＳ７の処理の後、および、ステップＳ５において、スクリプトに「ＰＥＮ  ＤＯＷＮ」コマンドが有効でないと判定された場合（Ｓ５：Ｎｏ）もまた、前述したステップＳ８〜Ｓ１３の処理へ進む。例２の場合、移動先の座標は（１００、１００）であり、表示範囲Ｂ外であるので、ステップＳ８において、アバターＤｂはディスプレイ１２から表示されない（Ｓ８）。ステップＳ８の後、表示制御プログラム２２ａによって、アバターＤｂの移動後の座標（ｘ、ｙ）の値が、ｘ＝１００、ｙ＝１００と更新される（Ｓ９）とともに、記憶制御サブプログラム２２ａ２によって、書込可能データエリア２２ｂへ記憶される（Ｓ１０）。
【００７４】
ステップＳ１０の後、実行すべき次のコマンドがあるかどうかが判別され（Ｓ１１）、次のコマンドがあれば（Ｓ１１：Ｙｅｓ）、次のコマンドを実行する処理へ進み（Ｓ１２）、その後、ステップＳ１へ戻る。次のコマンドがなかった場合（Ｓ１１：Ｎｏ）には、アバターＤｂがディスプレイ１２から表示されない状態のまま、スクリプトの実行が終了する（Ｓ１３）。
【００７５】
次に、以下のようなスクリプト（例３）を処理する場合における電子機器１０の動作について説明する。上述の例１、例２と共通する部分については、説明を適宜省略する。
（例３）
ＰＥＮ  ＤＯＷＮ
ＧＯＴＯ  ｘ＝−１００、ｙ＝−１００
ＧＯＴＯ  ｘ＝１００、ｙ＝１０００
例３の場合、表示制御サブプログラム２２ａ１によって、スクリプトに「ＧＯＴＯ」コマンドがあると判定され（Ｓ１：Ｙｅｓ）、アバターＤｂの移動先の座標（１００、１０００）が、表示範囲Ｂを超えていると判定され（Ｓ２：Ｎｏ）、さらに、動作範囲Ｃをも超えている、つまり、第３の条件を満たすと判定される（Ｓ４：Ｎｏ）。
【００７６】
アバターＤｂの移動先の座標が動作範囲Ｃを超えていると判定された場合（Ｓ４：Ｎｏ）、表示制御プログラム２２ａによって、アバターＤｂの移動先のｘ座標が動作範囲Ｃ内であるか否かが判定される（Ｓ２１）。例３の場合、アバターＤｂの移動先のｘ座標は１００であるので、動作範囲Ｃ内であると判定される（Ｓ２１：Ｙｅｓ）。
【００７７】
表示制御プログラム２２ａによって、アバターＤｂの移動先のｘ座標が動作範囲Ｃ内であると判定され（Ｓ２１：Ｙｅｓ）、すなわち、アバターＤｂの移動先のｙ座標が動作範囲Ｃを超えていると判定されると、さらに、図１０に示すように、ｘ座標の値と、ｙ座標の値とが更新される。ただし、ｙ座標の値としては、動作範囲Ｃの最大値よりも大きいので、例えば「ＯＶＥＲ」という文字列のような動作範囲Ｃを超えていることを示すエラー情報に更新されて（Ｓ２２）、書込可能データエリア２２ｂに記憶される（Ｓ２６）。次いで、報知制御サブプログラム２２ａ３によって、例えば図１２に示すような「Ｒａｎｇｅ  Ｅｒｒｏｒ」のような文字情報が、エラー画面として、ディスプレイ１２から表示される（Ｓ２７）。その後、実行制御プログラム２２ａ４によって、スクリプトの実行が終了される（Ｓ２８）。なお、図１２の「Ｐｒｅｓｓ［▲］［▼］→ＥｄｉｔＣｏｍｍａｎｄ」および「Ｐｒｅｓｓ［ＡＣ］→ＶｉｅｗＳｃｒｉｐｔ」については、スクリプトの実行が終了した後の動作とあわせて、後述する。
【００７８】
次に、以下のようなスクリプト（例４）を処理する場合における電子機器１０の動作について説明する。上述の各例１〜３と共通する部分については、説明を適宜省略する。
（例４）
ＰＥＮ  ＤＯＷＮ
ＧＯＴＯ  ｘ＝−１００、ｙ＝−１００
ＧＯＴＯ  ｘ＝−１０００、ｙ＝１００
例４の場合、表示制御サブプログラム２２ａ１によって、スクリプトに「ＧＯＴＯ」コマンドがあると判定され（Ｓ１：Ｙｅｓ）、アバターＤｂの移動先の座標（１０００、１００）は、表示範囲Ｂを超え（Ｓ２：Ｎｏ）、さらに、動作範囲Ｃをも超えていると判定される（Ｓ４：Ｎｏ）。
【００７９】
さらに、アバターＤｂの移動先の座標が動作範囲Ｃを超えていると判定された場合（Ｓ４：Ｎｏ）、表示制御プログラム２２ａによって、アバターＤｂの移動先のｘ座標が動作範囲Ｃ内であるか否かが判定される（Ｓ２１）。例４の場合、アバターＤｂの移動先のｘ座標は１０００であるので、動作範囲Ｃ外であると判定される（Ｓ２１：Ｎｏ）。
【００８０】
したがって、表示制御プログラム２２ａによって、アバターＤｂの移動先のｙ座標は動作範囲Ｃ内であると判定される（Ｓ２３：Ｙｅｓ）と、さらに、図１１に示すように、アバターＤｂの移動先のｘ座標の値と、ｙ座標の値とが更新される。ただし、ｘ座標の値としては、動作範囲Ｃの最小値よりも小さいので、例えば「ＵＮＤＥＲ」という文字列のような動作範囲Ｃを超えていることを示すエラー情報に更新されて（Ｓ２４）、書込可能データエリア２２ｂに記憶される（Ｓ２６）。次いで、報知制御サブプログラム２２ａ３によって、例えば図１２に示すような「Ｒａｎｇｅ  Ｅｒｒｏｒ」のような文字情報が、エラー画面として、ディスプレイ１２から表示される（Ｓ２７）。その後、実行制御プログラム２２ａ４によって、スクリプトの実行が終了される（Ｓ２８）。
【００８１】
さらに、以下のようなスクリプト（例５）を処理する場合における電子機器１０の動作について説明する。上述の各例１〜４と共通する部分については、説明を適宜省略する。
（例５）
ＰＥＮ  ＤＯＷＮ
ＧＯＴＯ  ｘ＝−１００、ｙ＝−１００
ＧＯＴＯ  ｘ＝１０００、ｙ＝−１０００
例５の場合、表示制御プログラム２２ａによって、スクリプトに「ＧＯＴＯ」コマンドがあると判定され（Ｓ１：Ｙｅｓ）、アバターＤｂの移動先の座標（１０００、１０００）は、表示範囲Ｂを超えていると判定され（Ｓ２：Ｎｏ）、さらに、動作範囲Ｃをも超えていると判定される（Ｓ４：Ｎｏ）。
【００８２】
その後、ステップＳ２１に進み、表示制御プログラム２２ａによって、アバターＤｂの移動先のｘ座標が動作範囲Ｃ内であるか否かが判定される（Ｓ２１）。例５の場合、アバターＤｂの移動先のｘ座標は１０００であるので、動作範囲Ｃ外であると判定される（Ｓ２１：Ｎｏ）。
【００８３】
その後、表示制御プログラム２２ａによって、ステップＳ２３の処理がなされる。例５の場合、アバターＤｂの移動先のｙ座標も動作範囲Ｃ外である（Ｓ２３：Ｎｏ）ので、表示制御プログラム２２ａによって、ｘ＝ＯＶＥＲ、ｙ＝ＵＮＤＥＲと更新されて（Ｓ２５）、書込可能データエリア２２ｂに記憶される（Ｓ２６）。次いで、報知制御サブプログラム２２ａ３によって、図１２に示すような「Ｒａｎｇｅ  Ｅｒｒｏｒ」のような文字情報が、エラー画面として、ディスプレイ１２から表示される（Ｓ２７）。その後、記憶制御サブプログラム２２ａ２によって、更新されたｘ座標の値（ＯＶＥＲ）およびｙ座標の値（ＵＮＤＥＲ）が、書込可能データエリア２２ｂへ記憶され、実行制御プログラム２２ａ４によって、スクリプトの実行が終了される（Ｓ２８）。
【００８４】
次に、前述のステップＳ１３、Ｓ２８によって、スクリプトの実行が終了した後の動作と、前述のステップＳ１５によって、スクリプトの実行が中断した後の動作について、図５Ｃ、図５Ｄ、および、図５Ｅを用いて説明する。
【００８５】
図５Ｃは、前述の（例１）、（例２）の各スクリプトの実行が終了後の動作を説明するためのフローチャートである。前述のステップＳ１３でスクリプトの実行が終了後、第１の特定の操作が行われたかどうかが、表示制御サブプログラム２２ａ１によって判定される（Ｓ３１）。具体的には、例えば、ＳＨＩＦＴキーとＶＡＲＳ（ＰＲＧＭ）キーが順次押下されたことに応じて、第１の特定の操作が行われたと判定されて（Ｓ３１：Ｙｅｓ）、前述のステップＳ１０において、記憶制御サブプログラム２２ａ２によって、書込可能データエリア２２ｂに記憶された座標値が、ディスプレイ１２から表示される（Ｓ３２）。
【００８６】
具体的には、前述の（例１）のスクリプトの実行が終了後、第１の特定の操作が行われたと判定された場合には（Ｓ３１：Ｙｅｓ）、図８に示すように、前述のステップＳ１０において、書込可能データエリア２２ｂに記憶された座標値であるｘ＝２０、ｙ＝１０が、ディスプレイ１２から表示される（Ｓ３２）。
【００８７】
また、前述の（例２）のスクリプトの実行が終了後、第１の特定の操作が行われたと判定された場合には（Ｓ３１：Ｙｅｓ）、図９に示すように、前述のステップＳ１０において、書込可能データエリア２２ｂに記憶された座標値であるｘ＝１００、ｙ＝１００が、ディスプレイ１２から表示される（Ｓ３２）。なお、第１の特定の操作が行われなかった場合には（Ｓ３１：Ｎｏ）、実行制御プログラム２２ａ４による処理が終了する。
【００８８】
図５Ｄは、前述の（例３）、（例４）、（例５）の各スクリプトの実行が終了後の動作を説明するためのフローチャートである。前述のステップＳ２８でスクリプトの実行が終了後、第２の特定の操作が行われたかどうかが、表示制御サブプログラム２２ａ１によって判定される（Ｓ４１）。具体的には、例えば、上カーソルキー［▲］または下カーソルキー［▲］が押下されたことに応じて、第２の特定の操作が行われたと判定されて（Ｓ４１：Ｙｅｓ）、スクリプトのコマンドを編集可能な画面へと遷移する。このとき、スクリプトに含まれる１以上のコマンドが表示されるとともに、スクリプトの実行が終了するに至ったときに実行された最後のコマンドにカーソルが表示されて、つまり、当該最後のコマンドが選択されて、すぐに編集可能な状態である編集画面Ｇｅが、ディスプレイ１２から表示される（Ｓ４２）。
【００８９】
図１３に、（例３）のスクリプトの実行が終了後、第２の特定の操作が行われたと判定された場合に（Ｓ４１：Ｙｅｓ）、ディスプレイ１２から表示される編集画面Ｇｅを示す。図１３では、背景色が識別可能に変更された行（コマンド「ＧＯＴＯ  ｘ＝１００、ｙ＝１０００」が入力された行）が、カーソルが表示された行であり、当該コマンド行が選択されている状態を示している。編集画面Ｇｅでは、ユーザによるコマンドを修正のための入力操作を受け付け、その後、予め定められた操作を受け付けたことに応じて、実行制御プログラム２２ａ４による処理が終了する。
【００９０】
第２の特定の操作が行われなかった場合（Ｓ４１：Ｎｏ）、続いて、第３の特定の操作が行われたかどうかが、表示制御サブプログラム２２ａ１によって判定される（Ｓ４３）。具体的には、例えば、電源ＯＮキー［ＡＣ］が押下されたことに応じて、第３の特定の操作が行われたと判定されて（Ｓ４３：Ｙｅｓ）、スクリプトのコマンドを閲覧可能な画面へと遷移する。このとき、スクリプトに含まれる１以上のコマンドのうち、先頭行のコマンドが少なくとも表示されるとともに、その先頭行のコマンドにカーソルが表示されて、つまり、先頭行のコマンドが選択された状態である閲覧画面Ｇｖが、ディスプレイ１２から表示される（Ｓ４４）。
【００９１】
図１４に、（例３）のスクリプトの実行が終了後、第３の特定の操作が行われたと判定された場合に（Ｓ４３：Ｙｅｓ）、ディスプレイ１２から表示される閲覧画面Ｇｖを示す。図１４においても、背景色が識別可能に変更された行（コマンド「ＰＥＮ  ＤＯＷＮ」が入力された行）が、カーソルが表示された行であり、当該コマンド行が選択されている状態を示している。閲覧画面Ｇｖを表示後は、予め定められた操作を受け付けたことに応じて、実行制御プログラム２２ａ４による処理が終了する。また、第３の特定の操作が行われなかった場合（Ｓ４３：Ｎｏ）、続いて、予め定められた操作を受け付けたことに応じて、「Ｒａｎｇｅ  Ｅｒｒｏｒ」などの文字情報が表示されたエラー画面が解除されたかどうかが、表示制御サブプログラム２２ａ１によって判定される（Ｓ４５）。
【００９２】
エラー画面が解除されると（Ｓ４５：Ｙｅｓ）、続いて、第１の特定の操作が行われたかどうかが、表示制御サブプログラム２２ａ１によって判定される（Ｓ４６）。具体的には、例えば、ＳＨＩＦＴキーとＶＡＲＳ（ＰＲＧＭ）キーが順次押下されたことに応じて、第１の特定の操作が行われたと判定されて（Ｓ４６：Ｙｅｓ）、前述のステップＳ２６において、記憶制御サブプログラム２２ａ２によって、書込可能データエリア２２ｂに記憶された座標値が、ディスプレイ１２から表示される（Ｓ４７）。
【００９３】
具体的には、前述の（例３）のスクリプトの実行が終了後、第１の特定の操作が行われたと判定された場合には（Ｓ３１：Ｙｅｓ）、図１０に示すように、前述のステップＳ２６において、書込可能データエリア２２ｂに記憶された座標値であるｘ＝１００、ｙ＝ＯＶＥＲが、ディスプレイ１２から表示される。
【００９４】
また、前述の（例４）のスクリプトの実行が終了後、第１の特定の操作が行われたと判定された場合には（Ｓ３１：Ｙｅｓ）、図１１に示すように、前述のステップＳ２６において、書込可能データエリア２２ｂに記憶された座標値であるｘ＝ＵＮＤＥＲ、ｙ＝１００が、ディスプレイ１２から表示される。
【００９５】
さらに、前述の（例５）のスクリプトの実行が終了後、第１の特定の操作が行われたと判定された場合には（Ｓ３１：Ｙｅｓ）、図示しないが、前述のステップＳ２６において、書込可能データエリア２２ｂに記憶された座標値であるｘ＝ＯＶＥＲ、ｙ＝ＵＮＤＥＲが、ディスプレイ１２から表示される。なお、第１の特定の操作が行われなかった場合には（Ｓ４６：Ｎｏ）、実行制御プログラム２２ａ４による処理が終了する。
【００９６】
図５Ｅは、スクリプト実行中に「ＷＡＩＴ」コマンドが実行されて、スクリプトの実行が中断した後の動作を説明するためのフローチャートである。ここでは、下記に示すスクリプト（例６）の場合における、スクリプトの実行が中断した後の動作を説明する。
（例６）
ＰＥＮ  ＤＯＷＮ
ＧＯＴＯ  ｘ＝１０、ｙ＝１０
ＷＡＩＴ
ＭＯＶＥ（１０）
ＰＥＮ  ＵＰ
上記のスクリプトのうち、２行目の「ＧＯＴＯ」コマンド実行後、表示制御プログラム２２ａによって、アバターＤｂの移動後の座標（ｘ、ｙ）の値が、ｘ＝１０、ｙ＝１０に更新される（Ｓ９）とともに、記憶制御サブプログラム２２ａ２によって、書込可能データエリア２２ｂに記憶される（Ｓ１０）。その後、３行目の「ＷＡＩＴ」コマンドを実行時に、「ＷＡＩＴ」コマンドであると判定されて（Ｓ１４：Ｙｅｓ）、スクリプトの実行が中断される（Ｓ１５）。
【００９７】
前述のステップＳ１５でスクリプトの実行が中断後、第１の特定の操作が行われたかどうかが、表示制御サブプログラム２２ａ１によって判定される（Ｓ５１）。具体的には、例えば、ＳＨＩＦＴキーとＶＡＲＳ（ＰＲＧＭ）キーが順次押下されたことに応じて、第１の特定の操作が行われたと判定されて（Ｓ５１：Ｙｅｓ）、図１５に示すように、前述のステップＳ１０において、記憶制御サブプログラム２２ａ２によって、書込可能データエリア２２ｂに記憶された座標値ｘ＝１０、ｙ＝１０が、ディスプレイ１２から表示される（Ｓ５２）。
【００９８】
座標値がディスプレイ１２から表示された後、または、ステップＳ５１において第１の特定の操作が行われなかった場合には（Ｓ５１：Ｎｏ）、実行制御プログラム２２ａ４によって、次に、ステップＳ５３の処理が実行される。ステップＳ５３では、第４の特定の操作が行われたかどうかが、表示制御サブプログラム２２ａ１によって判定される（Ｓ５３）。具体的には、例えば、ＥＸＥキーが押下されたことに応じて、第４の特定の操作が行われたと判定されて（Ｓ５３：Ｙｅｓ）、スクリプトの実行が再開され（Ｓ５４）て、実行すべき次のコマンドがあるかどうかが判別される（Ｓ１１）。このステップＳ１１以降の処理については、前述した通りであるので、説明を省略する。
【００９９】
以上説明したような、本発明の実施形態に係る表示制御方法が適用された表示制御装置が搭載された電子機器１０によって奏される作用効果について説明する。
【０１００】
グラフ関数電卓のディスプレイ１２は一般に狭いために、生徒のようなユーザが、教科書の例題などのパラメータを使ってアバターＤｂを移動させるためのスクリプトを作成し、実行した場合、アバターＤｂは、表示範囲Ｂを超えてしまうことがある。
【０１０１】
しかしながら、本発明の実施形態に係る表示制御方法が適用された表示制御装置が搭載された電子機器１０によれば、表示範囲Ｂと動作範囲Ｃとを考慮することによって、アバターＤｂの移動先の座標が、ディスプレイ１２の表示範囲Ｂ外に出る場合であっても、動作範囲Ｃ内であれば、ディスプレイ１２から表示可能な限り、アバターＤｂの軌跡を表示させることができ、また、移動後の座標の値を記憶することができる。
【０１０２】
これによって、ユーザは、アバターＤｂを、ディスプレイ１２の表示範囲外へ移動させるスクリプトを実行した場合であっても、アバターＤｂがどのように移動するのかを確認できるようになる。
【０１０３】
また、アバターＤｂの移動先が、動作範囲Ｃをも超えるような場合には、アバターＤｂの軌跡は表示されないが、アバターＤｂの移動先の座標を表す値として、オーバフローを表す例えば「ＯＶＥＲ」や「ＵＮＤＥＲ」の様なキャラクタを記憶したり、「Ｒａｎｇｅ  Ｅｒｒｏｒ」の様な文字情報を、エラー画面として、ディスプレイ１２から表示することができるので、ユーザは、アバターＤｂの軌跡が表示されない理由を把握することができる。
【０１０４】
このように、本発明の実施形態に係る表示制御方法が適用された表示制御装置が搭載された電子機器１０は、ユーザによるアルゴリズムの効率的な学習の実現に寄与することが可能となる。
【０１０５】
なお、本発明の実施形態に係る表示制御方法が適用された表示制御装置が搭載された電子機器１０では、ディスプレイ１２からのアバターＤｂの軌跡の表示は、始点座標と終点座標との２点を直線で結ぶことによって実行される。これによって、ｘ座標に対するｙ座標の値を逐一算出しながら軌跡して行く場合よりも、軌跡の表示を、より高速に実行することも可能である。
【０１０６】
本願発明は、各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組合せにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【０１０７】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【０１０８】
［１］
ユーザにより設定された１以上の命令に基づいて定まる第１の座標が、表示部に表示させた座標系の座標値によって規定される第１の範囲内に属する第１の条件を満たす場合、前記表示部に表示させた前記座標系の前記第１の座標に応じた位置に、特定の表示体を表示させ、
前記第１の座標が、前記第１の範囲内には属さず、かつ、第２の範囲内に属する第２の条件を満たす場合、前記特定の表示体を前記第１の範囲内に表示せず、前記第１の座標の座標値を記憶部に記憶させ、かつ、前記１以上の命令以降の命令の実行を続行するように制御する、
制御部を備える、表示制御装置。
【０１０９】
［２］
前記制御部は、
前記第１の座標が、前記座標系の座標値によって規定されかつ前記第１の範囲を一部に含む第２の範囲内に属さない第３の条件を満たす場合、前記第３の条件を満たすことを報知部から報知させ、かつ、前記１以上の命令以降の命令の実行を中断するように、さらに制御する、
発明１に記載の表示制御装置。
【０１１０】
［３］
前記制御部は、
前記実行の中断中に第１の操作を受け付けたことに応じて、その命令を実行することにより前記第３の条件を満たすに至った命令を編集できる状態へ処理を遷移させ、
前記実行の中断中に前記第１の操作とは異なる第２の操作を受け付けたことに応じて、前記１以上の命令の先頭の命令を前記表示部に表示させる、
発明２に記載の表示制御装置。
【０１１１】
［４］
前記制御部は、
前記第３の条件を満たす場合、前記第３の条件を満たすことを示す情報を、記憶部に記憶させ、
特定の操作を受け付けたことに応じて、前記記憶部に記憶された情報のうち、前記第３の条件を満たすことを、前記表示部に表示させる、
発明２または３に記載の表示制御装置。
【０１１２】
［５］
前記制御部は、前記第３の条件を満たす場合、
前記第２の範囲の最大値よりも大きい第１の範囲外へ当該第２の範囲を外れている場合と、前記第２の範囲の最小値よりも小さい第２の範囲外へ当該第２の範囲を外れている場合と、を区別して、前記第３の条件を満たすことを示す情報を前記記憶部に記憶させ、
前記特定の操作を受け付けたことに応じて、前記記憶部に記憶された情報のうち、前記第１の範囲外へ外れている場合と、前記第２の範囲外へ外れている場合と、を区別できるように、前記表示部に表示させる、
発明４に記載の表示制御装置。
【０１１３】
［６］
前記制御部は、
前記第１の条件を満たす場合、前記第１の座標の座標値を記憶部に記憶させ、かつ、前記１以上の命令以降の命令の実行を続行するように制御する、
発明１から５のいずれかに記載の表示制御装置。
【０１１４】
［７］
前記制御部は、
特定の操作を受け付けたことに応じて、前記記憶部に記憶された情報のうち、前記第１の座標の座標値を、前記表示部に表示させる、
発明１から６のいずれかに記載の表示制御装置。
【０１１５】
［８］
前記制御部は、
前記１以上の命令の実行を中断することを指示する中断命令が、当該１以上の命令に含まれる場合、前記中断命令を実行したことに応じて、前記１以上の命令の実行を中断するように制御し、
前記実行の中断中に、特定の操作を受け付けたことに応じて、前記記憶部に記憶された情報を、前記表示部に表示させる、
発明１から７のいずれかに記載の表示制御装置。
【０１１６】
［９］
制御部を備える表示制御装置の前記制御部によって実行される表示制御方法であって、
ユーザにより設定された１以上の命令に基づいて定まる第１の座標が、表示部に表示させた座標系の座標値によって規定される第１の範囲内に属する第１の条件を満たす場合、前記表示部に表示させた前記座標系の前記第１の座標に応じた位置に、特定の表示体を表示させ、
前記第１の座標が、前記第１の範囲内には属さず、かつ、第２の範囲内に属する第２の条件を満たす場合、前記特定の表示体を前記第１の範囲内に表示せず、前記第１の座標の座標値を記憶部に記憶させ、かつ、前記１以上の命令以降の命令の実行を続行するように制御する、
表示制御方法。
【０１１７】
［１０］
表示制御装置の制御部によって、
ユーザにより設定された１以上の命令に基づいて定まる第１の座標が、表示部に表示させた座標系の座標値によって規定される第１の範囲内に属する第１の条件を満たす場合、前記表示部に表示させた前記座標系の前記第１の座標に応じた位置に、特定の表示体を表示させ、
前記第１の座標が、前記第１の範囲内には属さず、かつ、第２の範囲内に属する第２の条件を満たす場合、前記特定の表示体を前記第１の範囲内に表示せず、前記第１の座標の座標値を記憶部に記憶させ、かつ、前記１以上の命令以降の命令の実行を続行するように制御させる、
コンピュータ読み取り可能なプログラム。
【符号の説明】
【０１１８】
１０  ・・電子機器
１１  ・・キー入力部
１２  ・・ディスプレイ
２１  ・・ＣＰＵ
２２  ・・メモリ
２２ａ・・表示制御プログラム
２２ａ１・・表示制御サブプログラム
２２ａ２・・記憶制御サブプログラム
２２ａ３・・報知制御サブプログラム
２２ａ４・・実行制御サブプログラム
２２ｂ・・書込可能データエリア
２３  ・・外部記録媒体
２４  ・・記録媒体読取部
１１１・・数値・演算記号キー群
１１２・・関数機能キー群
１１３・・設定キー群
１１４・・ファンクションキー群
１１５・・カーソルキー
【図１】
2019124764.tif 000003
【図２】
2019124764.tif 000004
【図３】
2019124764.tif 000005
【図４】
2019124764.tif 000006
【図５Ａ】
2019124764.tif 000007
【図５Ｂ】
2019124764.tif 000008
【図５Ｃ】
2019124764.tif 000009
【図５Ｄ】
2019124764.tif 000010
【図５Ｅ】
2019124764.tif 000011
【図６Ａ】
2019124764.tif 000012
【図６Ｂ】
2019124764.tif 000013
【図７】
2019124764.tif 000014
【図８】
2019124764.tif 000015
【図９】
2019124764.tif 000016
【図１０】
2019124764.tif 000017
【図１１】
2019124764.tif 000018
【図１２】
2019124764.tif 000019
【図１３】
2019124764.tif 000020
【図１４】
2019124764.tif 000021
【図１５】
2019124764.tif 000022