Esempio n. 1
0
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
}