コード例 #1
0
Abbrev getParserCommandName(const RoomRidableType x)
{
#define CASE3(UPPER, s, n) \
    do { \
    case RoomRidableType::UPPER: \
        return Abbrev{s, n}; \
    } while (false)
    switch (x) {
        CASE3(UNDEFINED, "undefined", -1);
        CASE3(RIDABLE, "ride", -1);
        CASE3(NOT_RIDABLE, "noride", -1);
    }
    return Abbrev{};
#undef CASE3
}
コード例 #2
0
Abbrev getParserCommandName(const RoomLightType x)
{
#define CASE3(UPPER, s, n) \
    do { \
    case RoomLightType::UPPER: \
        return Abbrev{s, n}; \
    } while (false)
    switch (x) {
        CASE3(UNDEFINED, "undefined", -1);
        CASE3(LIT, "lit", -1);
        CASE3(DARK, "dark", -1);
    }
    return Abbrev{};
#undef CASE3
}
コード例 #3
0
Abbrev getParserCommandName(const RoomSundeathType x)
{
#define CASE3(UPPER, s, n) \
    do { \
    case RoomSundeathType::UPPER: \
        return Abbrev{s, n}; \
    } while (false)
    switch (x) {
        CASE3(UNDEFINED, "undefined", -1);
        CASE3(NO_SUNDEATH, "nosundeath", -1);
        CASE3(SUNDEATH, "sundeath", -1);
    }
    return Abbrev{};
#undef CASE3
}
コード例 #4
0
Abbrev getParserCommandName(const RoomAlignType x)
{
#define CASE3(UPPER, s, n) \
    do { \
    case RoomAlignType::UPPER: \
        return Abbrev{s, n}; \
    } while (false)
    switch (x) {
        CASE3(UNDEFINED, "undefined", -1);
        CASE3(GOOD, "good", -1);
        CASE3(NEUTRAL, "neutral", -1);
        CASE3(EVIL, "evil", -1);
    }
    return Abbrev{};
#undef CASE3
}
コード例 #5
0
ファイル: 3.02.escape.c プロジェクト: liuyang1/test
int test() {
	CASE0("abc");
	CASE0("a\tc");
	CASE0("a\bc");
	CASE0("a\b\nc");
	CASE0("a\'\"\\c");
	CASE0("ac\x0e");
	CASE0("ac\x7f");
	CASE1("abc");
	CASE1("a\\tc");
	CASE1("a\\bc");
	CASE1("a\\b\\nc");
	CASE1("a\\\'\\\"\\\\c");
	CASE1("ac\\x0e");
	CASE1("ac\\x7f");
	CASE2("abc");
	CASE2("a\tc");
	CASE2("a\bc");
	CASE2("a\b\nc");
	CASE2("a\'\"\\c");
	CASE2("ac\x0e");
	CASE2("ac\x7f");
	CASE3("abc");
	CASE3("a\\tc");
	CASE3("a\\bc");
	CASE3("a\\b\\nc");
	CASE3("a\\\'\\\"\\\\c");
	CASE3("ac\\x0e");
	CASE3("ac\\x7f");
	return 0;
}
コード例 #6
0
Abbrev getParserCommandName(const DoorActionType action)
{
#define CASE3(UPPER, s, n) \
    do { \
    case DoorActionType::UPPER: \
        return Abbrev{s, n}; \
    } while (false)
    switch (action) {
        CASE3(OPEN, "open", 2);
        CASE3(CLOSE, "close", 3);
        CASE3(LOCK, "lock", 3);
        CASE3(UNLOCK, "unlock", 3);
        CASE3(PICK, "pick", -1);
        CASE3(ROCK, "rock", -1);
        CASE3(BASH, "bash", -1);
        CASE3(BREAK, "break", -1);
        CASE3(BLOCK, "block", -1);
    case DoorActionType::NONE:
        break;
    }

    return Abbrev{};
#undef CASE3
}
コード例 #7
0
Abbrev getParserCommandName(const DoorFlag x)
{
#define CASE3(UPPER, s, n) \
    do { \
    case DoorFlag::UPPER: \
        return Abbrev{s, n}; \
    } while (false)
    switch (x) {
        CASE3(HIDDEN, "hidden", 3);
        CASE3(NEED_KEY, "needkey", -1);
        CASE3(NO_BLOCK, "noblock", -1);
        CASE3(NO_BREAK, "nobreak", -1);
        CASE3(NO_PICK, "nopick", -1);
        CASE3(DELAYED, "delayed", 5);
        CASE3(CALLABLE, "callable", 4);
        CASE3(KNOCKABLE, "knockable", 5);
        CASE3(MAGIC, "magic", 3);
        CASE3(ACTION, "action", 3);
        CASE3(NO_BASH, "nobash", -1);
    }
    return Abbrev{};
#undef CASE3
}
コード例 #8
0
Abbrev getParserCommandName(const ExitFlag x)
{
#define CASE3(UPPER, s, n) \
    do { \
    case ExitFlag::UPPER: \
        return Abbrev{s, n}; \
    } while (false)
    switch (x) {
        CASE3(DOOR, "door", -1);
        CASE3(EXIT, "exit", -1);
        CASE3(ROAD, "road", -1);
        CASE3(CLIMB, "climb", 3);
        CASE3(RANDOM, "random", 4);
        CASE3(SPECIAL, "special", 4);
        CASE3(NO_MATCH, "nomatch", -1);
        CASE3(FLOW, "flow", -1);
        CASE3(NO_FLEE, "noflee", -1);
        CASE3(DAMAGE, "damage", -1);
        CASE3(FALL, "fall", -1);
        CASE3(GUARDED, "guarded", 5);
    }
    return Abbrev{};
#undef CASE3
}
コード例 #9
0
// NOTE: This isn't used by the parser (currently only used for filenames).
Abbrev getParserCommandName(const RoomTerrainType x)
{
#define CASE3(UPPER, s, n) \
    do { \
    case RoomTerrainType::UPPER: \
        return Abbrev{s, n}; \
    } while (false)
    switch (x) {
        CASE3(UNDEFINED, "undefined", -1);
        CASE3(INDOORS, "indoors", -1);
        CASE3(CITY, "city", -1);
        CASE3(FIELD, "field", -1);
        CASE3(FOREST, "forest", -1);
        CASE3(HILLS, "hills", -1);
        CASE3(MOUNTAINS, "mountains", -1);
        CASE3(SHALLOW, "shallow", -1);
        CASE3(WATER, "water", -1);
        CASE3(RAPIDS, "rapids", -1);
        CASE3(UNDERWATER, "underwater", -1);
        CASE3(ROAD, "road", -1);
        CASE3(BRUSH, "brush", -1);
        CASE3(TUNNEL, "tunnel", -1);
        CASE3(CAVERN, "cavern", -1);
        CASE3(DEATHTRAP, "deathtrap", -1);
    }
    return Abbrev{};
#undef CASE3
}
コード例 #10
0
Abbrev getParserCommandName(const RoomLoadFlag x)
{
#define CASE3(UPPER, s, n) \
    do { \
    case RoomLoadFlag::UPPER: \
        return Abbrev{s, n}; \
    } while (false)
    switch (x) {
        CASE3(TREASURE, "treasure", -1);
        CASE3(ARMOUR, "armour", -1);
        CASE3(WEAPON, "weapon", -1);
        CASE3(WATER, "water", -1);
        CASE3(FOOD, "food", -1);
        CASE3(HERB, "herb", -1);
        CASE3(KEY, "key", -1);
        CASE3(MULE, "mule", -1);
        CASE3(HORSE, "horse", -1);
        CASE3(PACK_HORSE, "pack", -1);
        CASE3(TRAINED_HORSE, "trained", -1);
        CASE3(ROHIRRIM, "rohirrim", -1);
        CASE3(WARG, "warg", -1);
        CASE3(BOAT, "boat", -1);
        CASE3(ATTENTION, "attention", -1);
        CASE3(TOWER, "watch", -1);
        CASE3(CLOCK, "clock", -1);
        CASE3(MAIL, "mail", -1);
        CASE3(STABLE, "stable", -1);
        CASE3(WHITE_WORD, "whiteword", -1);
        CASE3(DARK_WORD, "darkword", -1);
        CASE3(EQUIPMENT, "equipment", -1);
    }
    return Abbrev{};
#undef CASE3
}
コード例 #11
0
Abbrev getParserCommandName(const RoomMobFlag x)
{
#define CASE3(UPPER, s, n) \
    do { \
    case RoomMobFlag::UPPER: \
        return Abbrev{s, n}; \
    } while (false)
    switch (x) {
        CASE3(RENT, "rent", -1);
        CASE3(SHOP, "shop", -1);
        CASE3(WEAPON_SHOP, "weaponshop", -1); // conflict with "weapon"
        CASE3(ARMOUR_SHOP, "armourshop", -1); // conflict with "armour"
        CASE3(FOOD_SHOP, "foodshop", -1);     // conflict with "food"
        CASE3(PET_SHOP, "petshop", 3);
        CASE3(GUILD, "guild", -1);
        CASE3(SCOUT_GUILD, "scoutguild", 5);
        CASE3(MAGE_GUILD, "mageguild", 4);
        CASE3(CLERIC_GUILD, "clericguild", 6);
        CASE3(WARRIOR_GUILD, "warriorguild", 7);
        CASE3(RANGER_GUILD, "rangerguild", 6);
        CASE3(AGGRESSIVE_MOB, "aggmob", -1);
        CASE3(QUEST_MOB, "questmob", -1);
        CASE3(PASSIVE_MOB, "passivemob", -1);
        CASE3(ELITE_MOB, "elitemob", -1);
        CASE3(SUPER_MOB, "smob", -1);
    }
    return Abbrev{};
#undef CASE3
}