Hot Soup Processor スクリプト言語システム
HSP . ループ、ラベル


PSH x HSP 講座 オブジェクト COM MCI 用語 ソフト HTMLタグ リンク

フリーウェアのスクリプト言語システムHSPを利用したプログラミング講座です。ONION softさんが開発したものです。HSPは無料ソフトですよー。

ラベル

「goto」でラベルにジャンプ (HSP命令)

HSPには「ラベル」という概念がある。ラベルの文字には半角で「*」を付ける。「goto」命令はそのラベルへ処理を移動させるもの。下のコードは、「あいうえお」の文字表示処理は行われないことになる。ちなみに、ラベルにはTABスペースを設けないようにすると見やすくなる。

  mes "HSPの命令コマンド"
  goto *hata

  mes "あいうえお"

*hata
  mes "終わり"

ループ (ラベル)

ラベルによるループです。プログラムを動かしている間、処理を繰り返すことになる。「あいうえお」がひたすら表示され続けるが、HSPウィンドウ画面から消えても処理は継続し止まらない。

*hata
mes "あいうえお"
wait 50

  goto *hata

限りがあるループなら問題ないが上のような無限に終わらないループの場合は、必ずHSPの「wait」命令を入れる。これは処理を一時的にウェイトするもので、これがないといっさいのユーザー操作を受け付けなくなる(プログラムのフリーズ状態)。

ループ (repeat)

「repeat〜loop」命令によるループです。ラベルによる繰り返しと同じだが、「repeat」命令には何回繰り返すか、繰り返した回数を取得する変数「cnt」が用意されている(0から始まる)のが特徴。ループの中の部分も再度TABスペースを設けると見やすくなる。

repeat
mes "あいうえお"
title ""+cnt+""
wait 50

loop

ラベルによるループと違って、他にもrepeat〜loopにはループを抜け出す命令break、途中でループの最初に戻る命令continueがある。下は5回文字の表示が行われループからそのまま抜ける。(cntのカウントは0から始まるのでタイトルバーは4になる)

repeat 5
mes "あいうえお"
title ""+cnt+""

loop
mes "1おわり"

repeat
mes "あいうえお"
title ""+cnt+""

if cnt = 4 : break
loop
mes "2おわり"

HSP入門MENU

HSP入門1 : 文字の表示、タイトルバー
HSP入門2 : ループ、ラベル
HSP入門3 : 色、ポジション
HSP入門4 : 文字処理
HSP入門5 : 日時・時間
HSP入門6 : フォント、画像
HSP入門7 : ウィンドウ、ダイアログ

Q&A (準備中)

0.HSPを利用していくうえでポイントは?

1. HSPでプログラム言語を作成できる?
 ちょっと難しいです。HSPはインタプリタというスタイルの言語なので。

2. ウィンドウにメニューを作成するには?
 Windows APIというのを使うと作成できるみたいですが、分からない人ようにメニューを表示するHSPモジュールが付いてます。「mod_menu.as」というファイルです。

3.ダイアログボックスで「はい」「いいえ」以外の文字を表示するには?
 できません。Windows APIというのを使うとたがう種類のダイアログは表示できますが、文字はいじれません。

4.ホームページをブラウザで開きたい。
 execが使えます。URアドレスを指定して起動タイプは16です。デフォルト設定になってるインターネットブラウザで立ち上がります。

〜〜〜〜〜

HSP

PSH x HSP | HSP講座 | 実行ファイルの作成方法 | オブジェクトの用意 | 音楽・動画の再生 | HSPの用語