#include <stdio.h>

int gain(int current, int amount_gained);

void gain_by_pointer(int *current, int amount_gained);

int main(){
	struct players{
		int life;
		int magic;
	};

	struct players player1;
	player1.life = 5;
	player1.magic = 0;
	printf(" Hi\n player1's life is currently: %d\n", player1.life);
	printf(" player1's magic is currently: %d\n", player1.magic);
	
	player1.magic = gain(player1.magic, 5);
	player1.life = gain(player1.life, 32);

	printf("\n player1's new magic is %d: \n", player1.magic);
	
	printf(" player1's new life is %d: \n", player1.life);

	printf(" Adding 1 to both life and magic through pointer magic! \n");
	
	gain_by_pointer(&player1.magic, 1);
	gain_by_pointer(&player1.life, 1);

	printf("\n Thanks to pointer magic, life is now %d, magic is now, %d\n", player1.life, player1.magic);


}

void gain_by_pointer(int *current, int amount_gained){
	*current += amount_gained;
}
int gain(int current, int amount_gained){
	int new_current;
	new_current = current + amount_gained;
	return new_current;
}