「WAIT 30」は「60分の30秒つまり0.5秒待つ」という命令です。これを入れておかないと、ボタンを押した後すぐパッと動いてしまうので、人間の眼では判断できないほど、速く動いてしまうのです。  REPEATとUNTILはセットで使う命令で「UNTILのすぐ後に書いてある条件をみたすまで、何度も繰り返す」という命令です。ここではUNTIL BUTTON()と書いていますが、これで「何でもいいからボタンを押すまで」という条件になります。  よくプログラム初心者で「キャラを移動させるプログラムを作ったが、BUTTON()を入れてもその瞬間で終わってしまう。なぜ?」という質問がありますが、それはREPEAT、WHILE、GOTOなどの繰り返し命令を入れていないため、一度しか実行されないという事が原因です。