检查一个变量是否没有Bitwise&X?
问题描述:
我一直在使用按位比较来检查实体和地图是否在roguelike游戏中有标志,但我遇到了一个问题 - 我需要检查if()如果tile/ent没有标志,但我不知道如何做到这一点,而不使用空if(){}和else {condition; },一个例子是:检查一个变量是否没有Bitwise&X?
if(Tile->Flags & TILE_INVIEW) {} else { attron(A_DIM); }
或
if(Tile->Flags & TILE_RENDER) {} else { SetTileFlags(GetTileFlags() + TILE_RENDER); }
有一个更清洁的方式做到这一点?
答
只是扭转你的条件:
if(!(Tile->Flags & TILE_INVIEW)) {
attron(A_DIM);
}
有一个不操作:)
感谢。我认为这可能是!运营商,我只是没有正确使用它。 – 2010-01-21 16:36:08