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

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

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

#1

投稿記事 by やっくん » 16年前

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でやっても良いのでしょうか

non

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

#2

投稿記事 by non » 16年前

>これだけでも10進数で判定を扱うなら残りわずかでしか

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

やっくん

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

#3

投稿記事 by やっくん » 16年前

解答ありがとうございます。
charは1文字しか扱えないと思っていたので0~9だと思っていました。
unsignedなど使いどころがわからなかったのでもう一度本を見て学び直してみます。

やっくん

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

#4

投稿記事 by やっくん » 16年前

完全に勉強不足でしたorz
unsignedじゃなくても数値は-128~127ですね
確かに十分です。

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

やっくん

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

#5

投稿記事 by やっくん » 16年前

charは1バイト分でしたね。
2の7乗で0~127の128個とそれに負の数を合わせたら-128~127の256個(1バイト分で表示できる数値)になりましたー。

閉鎖

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