ゲームプログラムなら俺に聞け23
■ このスレッドは過去ログ倉庫に格納されています
0166デフォルトの名無しさん
2012/01/16(月) 02:09:25.72例えばキャラが特定のアイテムを所持している場合にイベントを起こすとき、
アイテムの最大所持可能量が128ならfor(i=0;i<128;i++)で検索する
一方、普通にゲームを進めていて普通にアイテムを取得していく場合、
所持量が最大所持可能量を越えないようにするためにif(item_current_kosu>128)とでもするだろう
このとき最大所持可能量を256に拡張した場合、上記の2箇所を変更しなければならず、忘れてるとバグとなる
そういった際に#define MAX_ITEM 128とでもしておけば、そこだけ256に変更すればよく、
楽だし各箇所の変更のし忘れもなくて安心
それ以外に可読性が上がる場合がある
大量のコードの中ではfor(i=0;i<128;i++)が目に入っても128が何の数字なのか直感的に理解しにくい
他人に読ませる場合は特にそうだ
MAX_ITEMなら他人でも直感的に分かりやすい
そういう場合は1箇所でしか使ってないマジックナンバーでも定義しといたほうがよい
ただ、キャラのHPが0以下になったら死亡する場合、
if(char_hp<=0)でも直感的に分かるので、
こういった場合は定義する必要はないと思われる
■ このスレッドは過去ログ倉庫に格納されています