なぜ2を引いて1を足しているかは、もともとのWの乱数が0〜49だとして、これを周囲を加味して1〜48にしたいわけなので、式の変更により、0〜47の乱数に対して+1することで、1〜48までの乱数になるというわけです。このように求めたい乱数にあわせて式を調整する事はよくあるので覚えておくと良いですよ。 ちなみに今回そうしてないのは単純にコードを短くするためです。なので始めから上書きされるのがわかっている場所に配置する必要はないので長さを気にしないのなら始めからこの式にしておいた方がいいですね。(それでも前に置いた岩と同じ場所に配置されて100個じゃなくなる可能性は残ってますが)