では、さっそくスクリプトを書いてみましょう!
スクリプトエディタを起動して、準備完了!
はい、サンプル終わり。
えっ? 何も書いてないって?
ごめん、今日は気分が悪いんだ。
嘘です。
はいはい。そんなことはともかく、
上記のスクリプト (なにもなし) を実行してみてください。
実行は、メニューバーの「HSP」から、コンパイル+実行です。
F5キーで一発なので、それを使うと良いでしょう。
……
どうでしたか? 「Hot Soup Processor ver.3.2」という真っ白なウィンドウが出てきたと思います。
何も書いてないのに何故か?……仕様だからですね。HSPでは、自動的にこの真っ白なウィンドウが表示されます。
でも、何も書いてないので、それより多くのことは何もしませんけど。
このウィンドウは、クローズボタン(右上の赤い[×]ボタン) で閉じてください。
今のやつで、一瞬だけウィンドウが現れて、一瞬のうちに消えた人はいますか?
もしそうなら、あなたは HSP 2 を使用しています。
この講座は HSP3 向けに書かれていますので、HSP2 ではサンプルを実行したりできません。
HSP 3.2 に乗り換えるのをお勧めします。
※HSP2 と HSP3 の違いは後述。だいぶ違いますが。
話が逸れましたね。 ( 毎度のことですが )
今回は、本当にスクリプトを書こうと思います。
title "プログラ広場"
さて、これをエディタに入力して、実行してみてください。( F5 キーでしたね )
今回もまた、味気ないウィンドウが出てきました。
しかし、何もなかった前回と比べ、こちらには title 命令があるので……
なんと、タイトルバーが "Hot Soup Processor ver.3.2" ではなく、
我らが (?) "プログラ広場" になっています。
流石は命令ですね。
このように、PCに対して何かをさせる単語を、命令と言います。
また、命令の後ろに続いているものをパラメータ(または、引数[ひきすう])と言います。
です。
もちろん、[Tab] スペースも忘れずに。
これで、あなたも命令を使えるようになりました!
ここでプチ知識 (というかなんというか) ですが、エディタの title の上にカーソルを合わせた状態で
F1キー ( キーボード左上: [Esc][F1][F2][F3] etc... )
を押すと、その命令の説明が表示されます。(ワンキー・へルプといいます。)
サンプルとかで、見知らぬ命令さんに出会ったら、すぐさま「ワンキー・ヘルプ」で意味を確認しましょう!
それが、優れたHSPプログラマへの近道です。
さて、基本的な命令をもっと紹介しましょうか。
HSPで一番基本的な mes 命令の登場です。
mes "Hello, world!"
今回は、画面の中に"Hello, world!"が表示されましたねぇ。
※ Hello, world! というのは、こういうときにお約束の文字列です。世界中で使われてます。
ところで、 mes 命令のヘルプ(リファレンス)は見ましたか?
それに書いてある string とは、文字列という意味です。
※文字列 …… 文字の並び。そのままじゃん。
HSPでは、約束として文字列を " (ダブルクォーテーション) で囲まなければなりません。
そうしないと、文字列として扱ってくれませんので、気をつけてください。
ダブルクォーテーションは、「[Shift] キーを押しながら [2] キー」 で打ち込めます。
もちろんこれも半角で書いてくださいね。
では、あと3つばかし。
repeat 3 mes "mes 命令でござる" print "mes と同じです" wait 1 loop mes "繰り返し終了"
さて、一気に 4 つも新しい命令が出てきてしまいました。とほほ。
でもまぁ、print 命令は mes 命令と全く同じなので、新しい命令は 3つ だけなんですけどね。
まず、repeat 文の説明をします。サンプルを実行してみると分かるかもしれませんが、repeat と loop の間が 3 回繰り返されています。
repeat 文は、中にある命令を指定した回数だけ繰り返すものです。
loop は、repeat で繰り返す範囲の終わりの目印のようなものです。
※これを、repeat ループと呼ぶことにします。
repeat 文を書く場合、それが何を繰り返すのか分かりやすくするために、字下げ(インデント)というのを行います。
[tab] のスペースを、他より一段深くします。それだけです。
たったそれだけの苦労で、見やすくなります。忘れずにやりましょう。
ところで、wait 命令は何をしてたんでしょう?
mes(print)命令がせっせと repeat している間に、この wait 命令も 3 回あったはずなのに、何も起きていません。
もしかして、サボり!?
いえ、この wait 、実はしっかり働いていました。
こんなに引っ張るほどのモノでもなかったんですが、実行を少し遅らせる命令なのです。
この wait 命令を使用すると、repeat ループによるパソコン (CPU) への負担が軽くなるのです。
まぁ、本当は何万回も繰り返さない限りは不要なんですが、説明するために付けておきました (ぇ)。
さて、今回はこの辺にしておきましょうか。
最後に、今日やった命令&さらっと新しい命令、数個です。
いろいろ組み合わせて、使ってみてください。
命令名 | 第一パラメータ(p1) | p2 | 備考 |
---|---|---|---|
title | "文字列" | ---- | タイトルバーの文字列を変更 |
mes | "文字列" | ---- | 文字列を画面に表示 |
"文字列" | ---- | mes 命令と同じ | |
repeat | 数値 | 数値 | p1 の回数分繰り返す。 |
loop | ---- | ---- | repeatループの終了を示す。 |
wait | 数値 | ---- | 10ミリ秒間実行を止める。(1/100秒) |
await | 数値 | ---- | 1ミリ秒間実行を止める。(1/1000秒) |
break | ---- | ---- | repeatループから強制脱出 |
continue | 数値 | ---- | repeatに戻る |
では、第二章に進みましょう!
by 上大