for文とif文だけで作るプレイヤーの動きを再現する方法

プログラミング

プログラミング初心者でも理解しやすいように、マジックナンバーを使わず、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座標の偶奇を条件にすることで簡単にジグザグ動作を実現でき、可読性も高くなります。

コメント

タイトルとURLをコピーしました