ページ 11

マップ移動について

Posted: 2008年11月23日(日) 22:40
by 海老天
今マップ移動を作っているのですがゲームプログラミングの館の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]のようにするにはどうすればいいのでしょうか

Re:マップ移動について

Posted: 2008年11月23日(日) 23:43
by conio
配列を変える必要は無いのではないのでしょうか。
例えば以下のような場合、

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:マップ移動について

Posted: 2008年11月25日(火) 00:52
by 海老天
>>conioさん

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