マップ移動について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
海老天

マップ移動について

#1

投稿記事 by 海老天 » 16年前

今マップ移動を作っているのですがゲームプログラミングの館の24章を参考にして
int hantei[20][20] = {
        { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
        { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
        { 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
        { 1,1,1,1,1,0,2,0,0,0,0,0,0,0,0,2,0,0,1,1 },
        { 1,1,1,1,1,0,0,0,0,0,0,0,0,2,0,0,0,0,1,1 },
        { 1,1,1,1,1,0,0,2,0,0,0,0,0,0,0,0,0,0,1,1 },
        { 1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1 },
        { 1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,2,1,1 },
        { 0,0,0,0,0,0,2,0,0,0,1,0,2,0,1,0,0,0,0,0 },
        { 1,1,1,1,1,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1 },
        { 1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1 },
        { 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,2,0,1,1 },
        { 1,1,1,1,1,0,0,2,0,0,0,0,2,0,0,0,0,0,1,1 },
        { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
        { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
        { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
        { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
};
のように書きました
右端の0より右に行くと他のマップに出るようにしたかったので
[20][21]のように配列を定義していたのですがこれだと上と左端に追加しようとするとマップ全体がずれてしまいます
[-1][/url]や[/url][-1]のようにするにはどうすればいいのでしょうか

conio

Re:マップ移動について

#2

投稿記事 by conio » 16年前

配列を変える必要は無いのではないのでしょうか。
例えば以下のような場合、

int hantei[20][20] = {
        { 1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
        { 1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,1,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,1 },
        { 1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,1 },
        { 1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1 },
        { 1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,1,1 },
        { 0,0,0,0,0,0,2,0,0,0,1,0,2,0,1,0,0,0,0,0 },
        { 1,0,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,1 },
        { 1,1,1,1,1,0,0,2,0,0,0,0,2,0,0,0,0,0,1,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
        { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
        { 1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1 },
};

hantei[y][x]とすると、移動した時に

【条件】x < 20, x >= 0, y < 20, y >= 0
を満たさなかった場合、別のマップに移動、と言う風に。

もしくは、"主人公が移動した時、hantei[0][10]の場所ならば移動"という風にしてもいいかと
思うのですが、どうでしょう?

海老天

Re:マップ移動について

#3

投稿記事 by 海老天 » 16年前

>>conioさん

返信が遅れ申し訳ありません
言われた通りにしたところうまく動かすことができました
本当にありがとうございます

閉鎖

“C言語何でも質問掲示板” へ戻る