Farm::Farm(float density): Region(density, "Farm") { // Set standard background for (int x = 0; x < REGIONSIZE; x++) { for (int y = 0; y < REGIONSIZE; y++) { if (lbRNG::decision(0.05)) { // Random tree or two replace(x,y, new Tile("grass-light","tree-light")); } else { replace(x,y, new Tile("grass-light")); if (lbRNG::decision(0.01)) { getTileAt(x, y)->setMob(new Sheep(getTileAt(x, y))); } } } } // Add Barn Feature barn(5,5); barn.addAll("floor-wood-light"); barn.addBorder("wall-wood-light"); barn.addDoor("door-wood-open","door-wood-closed", N); // Add fields Field field1(8,5); Field field2(4,9); field1.generate(); field2.generate(); field1.clearBorder(); field1.addBorder("dirt-light"); field1.addBorder("fence-wood"); field1.addDoor("air","air",N); field1.addDoor("air","air",S); // Place down new tiles replace(3,3,barn.tiles); replace(2,9,field1.tiles); replace(10,5,field2.tiles); INFO("Generated Farm"); }
// Note that this function solves the case where textures were being loaded in every time a building was created. // Access the static vector by World::images void BuildingFactory::initialize_textures() { /* Create a texture object for every texture */ Texture wood_house("../Pictures/wood_house.bmp"); Texture house_grass_dark("../Pictures/house_grass_dark.bmp"); Texture house_roof("../Pictures/house_roof.bmp"); Texture brick_house("../Pictures/brick_house.bmp"); Texture house_grass("../Pictures/house_grass.bmp"); Texture tile_house_roof("../Pictures/tile_house_roof.bmp"); Texture house_siding("../Pictures/house_siding.bmp"); Texture wood_door("../Pictures/wood_door.bmp"); Texture house_window("../Pictures/house_window.bmp"); Texture farm_ground("../Pictures/farm_four_tile.bmp"); Texture barn("../Pictures/barn.bmp"); Texture grass_dirt("../Pictures/grass_dirt.bmp"); Texture mine_tex("../Pictures/mine_tex.bmp"); Texture bank_tex("../Pictures/bank_tex.bmp"); Texture temple_tex("../Pictures/temple_tex.bmp"); /* Push the texture into the vector */ images.push_back(wood_house); // 0 images.push_back(house_grass_dark); // 1 images.push_back(house_roof); // 2 images.push_back(brick_house); // 3 images.push_back(house_grass); // 4 images.push_back(tile_house_roof); // 5 images.push_back(house_siding); // 6 images.push_back(wood_door); // 7 images.push_back(house_window); // 8 images.push_back(farm_ground); // 9 images.push_back(barn); // 10 images.push_back(grass_dirt); // 11 images.push_back(mine_tex); // 12 images.push_back(bank_tex); // 13 images.push_back(temple_tex); // 14 }