ページ 11

2Dマップを作る際にcharとintどっちを使う?

Posted: 2009年7月01日(水) 22:22
by やっくん
DXライブラリ使用で2Dのマップを作る際に変数はcharとintどちらを使うべきでしょうか。

現在、少しでも少ない容量でってことでcharを使ってるんですが、

例えば、当たり判定(マップ)の配列をcharですると
char map_01[10][10] = {{1,1,1,1,2,2,2,1,1,1,1},
                       {1,0,0,0,0,0,0,0,0,0,1},
                       {1,0,0,1,0,0,0,0,0,0,1},
                       {1,0,0,1,0,6,0,7,0,0,1},
                       {3,0,0,1,0,6,0,7,0,0,5},
                       {3,0,0,1,0,1,0,0,0,0,5},
                       {3,0,0,0,0,0,0,0,0,0,5},
                       {1,0,0,0,0,0,0,0,0,0,1},
                       {1,0,0,0,0,0,0,0,0,0,1},
                       {1,0,0,0,0,0,0,0,0,0,1},
                       {1,1,1,1,4,4,4,4,1,1,1},
                      };
と、あるとします。

0・・・キャラが移動できる場所
1・・・壁
2・・・次マップへ切り替わり
3・・・次マップへ切り替わり
4・・・次マップへ切り替わり
5・・・次マップへ切り替わり
6・・・障害物A
7・・・障害物B

これだけでも10進数で判定を扱うなら残りわずかでしか使えないようになってしまいます。

何か良い方法は無いでしょうか。

またはintでやっても良いのでしょうか

Re:2Dマップを作る際にcharとintどっちを使う?

Posted: 2009年7月01日(水) 22:50
by non
>これだけでも10進数で判定を扱うなら残りわずかでしか

10進数って?ちょっと意味がわかりません。
unsigned charは0から255ですよ。まだ、沢山扱えそうですけど・・・・

Re:2Dマップを作る際にcharとintどっちを使う?

Posted: 2009年7月01日(水) 23:00
by やっくん
解答ありがとうございます。
charは1文字しか扱えないと思っていたので0~9だと思っていました。
unsignedなど使いどころがわからなかったのでもう一度本を見て学び直してみます。

Re:2Dマップを作る際にcharとintどっちを使う?

Posted: 2009年7月01日(水) 23:03
by やっくん
完全に勉強不足でしたorz
unsignedじゃなくても数値は-128~127ですね
確かに十分です。

nonさんありがとうございましたm(__)m
解決とさせていただきます

Re:2Dマップを作る際にcharとintどっちを使う?

Posted: 2009年7月01日(水) 23:08
by やっくん
charは1バイト分でしたね。
2の7乗で0~127の128個とそれに負の数を合わせたら-128~127の256個(1バイト分で表示できる数値)になりましたー。