#include <iostream>
#include <string>
#include "Windows.h" // Behövs för funktionen Sleep.
using namespace std;

#include "Person.h" // Vi vill använda Personobjekt.
#include "Frukt.h" // Vi vill använda Fruktobjekt.

bool välja_handling(int aktör)
{
	Sleep(500); // Vänta en halv sekund.
	cout << endl << "Okej";
	Sleep(500); // Vänta en halv sekund.
	cout << ".";
	Sleep(500); // Vänta en halv sekund.
	cout << ".";
	Sleep(500); // Vänta en halv sekund.
	cout << ".";
	Sleep(500); // Vänta en halv sekund.
	cout << endl << "Det är " << Person::alla_personer[aktör]->Förnamn();
	cout << "'s tur att göra någonting:" << endl;
	cout << "1. Plocka frukter." << endl;
	cout << "2. Äta en frukt." << endl;
	cout << "3. Besöka någon." << endl;
	cout << "4. Fylla år." << endl;
	cout << "5. Se statistik." << endl;
	cout << "6. Avsluta programmet." << endl;
	cout << endl << "Vad vill du göra, ";
	cout << Person::alla_personer[aktör]->Förnamn() << "? ";
	char val;
	cin >> val;
	switch (val)
	{
	case '1': // Plocka frukter.
	{ // Ett block börjar.
		unsigned int antal; // Lokal variabel i detta block.
		cout << endl << "Hur många frukter vill du plocka? ";
		cin >> antal;
		Person::alla_personer[aktör]->Plocka_frukter(antal);
		break;
	} // Blocket slutar.
	case '2': // Äta en frukt.
		Person::alla_personer[aktör]->Äta_frukt();
		break;
	case '3': // Besöka någon.
		Person::alla_personer[aktör]->Besöka_person();
		break;
	case '4': // Fylla år.
		Person::alla_personer[aktör]->Fylla_år();
		break;
	case '5': // Se statistik.
	{
		cout << endl << "Antal personer som finns just nu: ";
		cout << Person::antal_personer << endl;
		unsigned int utan_barn = 0; // Lokal variabel i detta block.
		for (unsigned int i = 0; i < Person::maximalt_antal; i++)
			if (Person::alla_personer[i]) // Bara personer som ej tagits bort.
			{
				cout << Person::alla_personer[i]->Förnamn() << ", ";
				cout << Person::alla_personer[i]->Ålder() << endl;
				if (!Person::alla_personer[i]->Barn()) // true om pekaren är 0.
					++utan_barn;
				Sleep(500); // Vänta en halv sekund.
			}
		cout << "Antal personer utan barn: " << utan_barn << endl;
		Sleep(1000); // Vänta en sekund.
		cout << "Antal frukter som finns just nu: ";
		cout << Frukt::totalt_antal_frukter << endl;
		Sleep(1000); // Vänta en sekund.
		cout << "Frukternas totala värde: " << Frukt::totala_värdet << endl;
		break;
	}
	case '6': // Avsluta.
		return false;
	default: // Felaktigt val.
		cout << endl << "Tyvärr " << Person::alla_personer[aktör]->Förnamn();
		cout << ", du skrev fel nummer.";
	}
	return true;
}