#include <stdio.h>
#include <string.h>

int main ()



{
	
	/* Create generic vehicle type */
	typedef struct
	{
		int life;
		int magic;
	}Vehicle;


	/* Create car, which is a type of vehicle
	 * access vehicle vars by doing car.vehicle.var
	 */
	typedef struct
	{
		Vehicle vehicle;
		char brand[10];
	}Car;
	/* We create our first car */
	Car myCar;
	myCar.vehicle.life = 5;
	myCar.vehicle.magic = 9;
	strcpy(myCar.brand, "Dodge");

	printf("My car's life is: %d\n" "My car's magic is: %d\n" 
			   "My car's brand is: %s\n\n", myCar.vehicle.life, myCar.vehicle.magic, 
																		 myCar.brand);

	/* We create another to show using thing same struct with different values */
	Car herCar;
	herCar.vehicle.life = 8;
	herCar.vehicle.magic = 5;
	strcpy(herCar.brand, "Saturn");

	printf("Her car's life is: %d\n" "Her car's magic is: %d\n" 
			   "Her car's brand is: %s\n\n", herCar.vehicle.life, herCar.vehicle.magic, 
																		 herCar.brand);
	/* Here we duplicate herCar (let's say we have a lot of saturns with same stats 
	 * But may at some later point lose or gain stats
	 * */
	Car herCar2 = herCar;



	printf("Copy of HerCar\n" "Her car's life is: %d\n" "Her car's magic is: %d\n" 
			   "Her car's brand is: %s\n", herCar2.vehicle.life, herCar2.vehicle.magic, 
																		 herCar2.brand);

}