PixelWars/src/pixeltype.h
2016-06-04 19:22:29 +02:00

67 lines
1.7 KiB
C

#ifndef PIXELTYPE_H
#define PIXELTYPE_H
enum PixelType {
WATER, GRASS, TREE, BERRIES, ROCK, IRON_ORE, // nature
FOOD, WOOD, STONE, IRON, SWORD, // resources
DUDE, DEAD_DUDE, // humans
SPAWN, WALL, ROAD, MARK, LIBRARY, // buildings
EMPTY = -1
};
struct PixelProperty
{
static const char *getName(PixelType target)
{
switch(target)
{
case WATER : return "WATER";
case GRASS : return "GRASS";
case MARK : return "MARK";
case ROCK : return "ROCK";
case IRON_ORE : return "IRON_ORE";
case TREE : return "TREE";
case BERRIES : return "BERRIES";
case FOOD : return "FOOD";
case WOOD : return "WOOD";
case STONE : return "STONE";
case IRON : return "IRON";
case DUDE : return "DUDE";
case SPAWN : return "SPAWN";
case WALL : return "WALL";
case ROAD : return "ROAD";
case SWORD : return "SWORD";
case LIBRARY : return "LIBRARY";
case DEAD_DUDE : return "DEAD_DUDE";
default : return "WTF";
}
}
static bool isWalkable(PixelType target)
{
return target == GRASS
|| target == ROAD
|| target == MARK;
}
static bool isDestructible(PixelType target)
{
return target == DUDE
|| target == SPAWN
|| target == WALL
|| target == LIBRARY
|| target == ROAD;
}
static bool isResource(PixelType target)
{
return target == FOOD
|| target == WOOD
|| target == STONE
|| target == IRON
|| target == SWORD;
}
};
#endif // PIXELTYPE_H