HSP講座

コンテンツ

作成中...

Google Ads

トップページ > HSP講座 トップ > 第11章 繰り返し

第11章 繰り返し

今回は、「繰り返し」についてです。
「繰り返し」もスクリプトを記述していく上でとても重要になってきます。

繰り返しはプログラム中で同じ処理を何回か繰り返したい場合に使用します。
同じ処理を何回も行わせる時に、同じプログラムを連続して記述していく方法もあります。
しかし、そうするとプログラムの文章自体が長くなってしまいます。

そこで、「繰り返し」を使うとそのような状態を防ぐことができ、さらにプログラムをスッキリさせることも出来ます。
今回は、繰り返し命令の中でも一番シンプルで扱いやすい「repeat - loop」命令を使います。

まずは簡単なサンプルスクリプトをご覧ください。

1|
2|
3|
4|
5|
6|
7|
8|
9|
10|
11|
12|
13|
14|
15|
16|
17|
; repeat - loop文を使った繰り返し処理

; repeat命令を使って処理をスタートさせる
repeat 10

    ; システム変数cntを使うと、今行っているの処理が
    ; 何回目なのかが分かるため、非常に便利です。
    mes "繰り返し処理 " + cnt + " 回目です。"

; 繰り返し処理はここまで、loop命令を使う
loop


; stop命令を使用してプログラムを終了する
stop

[EOF]

このスクリプトを実行すると、画面に「繰り返し処理 0 回目です。」から「繰り返し処理 9 回目です。」まで、
合計10回文章が表示されると思います。

一番最初に使った「repeat」命令で、ループ回数を10に指定したため10回繰り返されたわけです。
ここで1つ注意することがあります。

「repeat」命令の最初のパラメータ(今回は10と指定したところ)を指定しなかったり、マイナス値にしたりすると、
「無限ループ」となってしまいます。
パソコンの動作が鈍くなり、最悪の場合フリーズするかもしれないので注意してください。

ちなみにシステム変数「cnt」は、通常0から始まりますが、これを意図的に変更することもできます。
それでは、以下のスクリプトを実行してみてください。

1|
2|
3|
4|
5|
6|
7|
8|
9|
10|
11|
12|
13|
14|
15|
16|
17|
; repeat - loop文を使った繰り返し処理

; repeat命令を使って処理をスタートさせる
repeat 10,1

    ; システム変数cntを使うと、今行っているの処理が
    ; 何回目なのかが分かるため、非常に便利です。
    mes "繰り返し処理 " + cnt + " 回目です。"

; 繰り返し処理はここまで、loop命令を使う
loop


; stop命令を使用してプログラムを終了する
stop

[EOF]

上記のように記述すると、システム変数「cnt」を1からスタートさせることができます。
「repeat」命令の2つ目のパラメータに1と指定すればいいです。とても簡単ですね。

ただし、1つ目のパラメータに−1を指定すると無限ループになってしまうので注意してください。

1|
2|
3|
4|
5|
6|
7|
8|
9|
10|
11|
12|
13|
14|
15|
16|
; repeat - loop文を使った無限繰り返し処理

; repeat命令を使って処理をスタートさせる
; ただし↓こう記述すると無限ループになる

repeat -1

    mes "ずっと無限ループが続くよ。"

; 繰り返し処理はここまで、loop命令を使う
loop


; 無限ループなのでstop命令が無意味になる
stop

[EOF]

こうしてしまうとパソコンが重くなるので危険です。

また、1つ目のパラメータに0を指定するとループを飛ばすこともできます。

1|
2|
3|
4|
5|
6|
7|
8|
9|
10|
11|
12|
13|
14|
15|
16|
17|
18|
19|
20|
; repeat - loop文を使った繰り返し処理を飛ばす

mes "repeat命令直前、ここは表示されます。"

; repeat命令の1つ目のパラメータが0なので
; ループ処理が飛ばされる

repeat 0

    mes "ここは飛ばされます、表示されません。"

; loop命令以降は処理されます。
loop

mes "loop命令直後、ここは表示されます。"


; stop命令を使用してプログラムを終了する
stop

[EOF]

こうすると、「repeat命令直前、ここは表示されます。」のあとに改行されて「loop命令直後、ここは表示されます。」と表示されます。

今回は以上です。次回は「繰り返し その2」をやろうと思います。


[ ← 前へ ] [ 戻る ] [ 次へ → ]

Copyright (C)2006-2007 はむ / AHD  All Rights Reserved.