質問: 1 に書き換えたら、 ゲームを実行すると停止状態(もしかして無限ループにはまってる状態?)になってしまいます。 なぜでしょうか?
回答: 質問1 そのとおりです (そのへんは適当に省略したのでしょう) 質問2 正しくは((max-1)/2)^2 かなー (自信がないのでパス) 質問3 プログラム全体で統一されていて、不具合がないならどっちでもいいです ただ、直感的にはx,yの順ですから、そっちを優先したのでしょう 質問4 _startPosは配列ですから、_startPos[0]は呼び出し元のメモリ領域です ですから、これを書き換えると呼び出し元の_startPos[0]の値が変わります 質問5 書き換えても問題ない、とは、xpos, yposの値が変わらない、と考えていますか? それなら、自分の式ををxpos2,ypos2として、デバッガなどで値を表示しながら実行してみるといいでしょう (結論から言えば、問題あります)