サブルーチンの目的としては
・まとまった処理を別にまとめて書ける
・何度も呼ぶ処理をいちいち書かなくてすむ
という感じ。
だにえるさんのコードの @SUB は @MAIN の中にそのまま書くこともできるけど、
@MAINの中身が長くなってしまって、@MAINは何をする処理なんだろうってわけわからなくなるので、
それを @SUBで分けると、@MAINがすっきりして見やすくなります。
そして、@SUBはボタンの入力で XとYを変更する処理なので、@MENUみたいな別の処理で使いたい場合、@SUBを呼び出せばまた同じコードを書かなくて済みます。
プログラムを作るときは「主人公の処理」「敵の処理」「メニューの処理」など、目的によって分けることが多いので、そういう処理をサブルーチンで分けると、プログラムが見やすくなって修正しやすくなります。
1そうだね プレイ済み