プログラミング初心者でも理解しやすいように、マジックナンバーを使わず、for文とif文だけで2次元グリッド上をプレイヤーが動く動きを再現する方法を解説します。ここでは、左から右、右から左へと交互に動くパターンを考えます。
1. 変数とグリッドの準備
まず、プレイヤーの座標とグリッドのサイズを変数で定義します。HEIGHTは横幅6、WIDTHは縦幅5です。
int py = 0; // プレイヤーの y 座標の初期座標
int px = 0; // プレイヤーの x 座標の初期座標
int HEIGHT = 6;
int WIDTH = 5;
2. 左右に行き来する動きの実装
for文とif文を使い、y座標ごとに左右の移動方向を切り替えます。奇数行は右から左、偶数行は左から右に動くようにします。
for (int y = 0; y < HEIGHT; y++) {
if (y % 2 == 0) {
for (int x = 0; x < WIDTH; x++) {
py = y;
px = x;
place_p(py, px);
}
} else {
for (int x = WIDTH - 1; x >= 0; x--) {
py = y;
px = x;
place_p(py, px);
}
}
}
3. コードの解説
- y % 2 == 0 の場合は偶数行で左から右に移動
- y % 2 != 0 の場合は奇数行で右から左に移動
- place_p(py, px) でプレイヤーを指定座標に配置
この方法により、マジックナンバーを使わず、for文とif文だけでプレイヤーがジグザグに動くパターンを簡単に作成できます。
4. まとめ
マジックナンバーを使わず、for文とif文だけでプレイヤーをグリッド上で左右交互に動かす方法を紹介しました。y座標の偶奇を条件にすることで簡単にジグザグ動作を実現でき、可読性も高くなります。


コメント