67 lines
1.7 KiB
C
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
|