#ifndef bunnymanager
#define bunnymanager
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <array>
#include "Bunny.h"
#include "Coordinate.h"
using namespace std;
class BunnyManager
{
private:
array<string, 4> furColor;
array<string, 25> boyNames;
array<string, 25> girlNames;
array<string, 25> nameList;
vector<Bunny> bunnies;
int nameIndex;
int genderIndex;
int radioactiveIndex;
int femaleAdultCounter;
int maleAdultCounter;
int turnCounter;
char massCull;
char meadow[80][80];
string GenerateName(bool);
string GenerateColor(string);
bool GenerateGender();
bool GenerateisRadioactive();
void MakeABunny(string);
public:
BunnyManager();
void PrintBunniesToFile();
void TakeTurn();
bool GameOff();
void GenerateBabyBunnies();
void SetNameIndex();
void SetNameList(array<string, 25>);
void SetAdultCounters();
bool PopulationControl();
void ClearDeadBunnies();
void SpreadRadiation();
void MassCull();
void PrintBunniesToConsol();
void PrintBunniesToFile(string);
void InitializeMeadow();
void PrintMeadow();
void MoveBunnies();
vector<Coordinates> GetAvailableCoordinates(Bunny);
Coordinates MakeMove(Bunny,vector<Coordinates>);
bool CheckLeftIsClear(bool, Bunny, Bunny);
bool CheckRightIsClear(bool, Bunny, Bunny);
bool CheckUpIsClear(bool, Bunny, Bunny);
bool CheckDownIsClear(bool, Bunny, Bunny);
void AssignRadioactiveMarks();
};
#endif