//написал kaneki
#include <iostream>
#include <string>
#include <ctime>
#include <fstream>
using namespace std;

struct evaunit {
  string name;
  int hp;
  int batary;
  int sinx;
};

void firePositronRifle(evaunit* attacker, int& angelhp) {
  int damage = (*attacker).batary * ((*attacker).sinx / 100.0);
  angelhp -= damage;

  (*attacker).batary -= 10;
  if ((*attacker).batary < 0) {
    (*attacker).batary = 0;
  }
}

void angelCounterAttack(evaunit& target) {
  target.hp -= 30;
  if (target.hp < 0) {
    target.hp = 0;
  }

}


int main() {
  srand(time(0));
  int e = rand() % 100 +1;
  int e1 = rand() % 100 +1;
  int e2 = rand() % 100 +1;
  int angelhp = 300;
  //внутри этого структурного массива вы можете менять цисленые значения
  evaunit evaArry[3] {
    {"eva00" , 10, 100, e},
    {"eva01" , 10, 90, e1},
    {"eva02" , 10, 100, e2}
  };

  int matrix[4][4] = {
    {0,0,0,0},
    {0,0,0,0},
    {0,9,0,0},
    {0,0,0,0}
  };

  cout <<"Данные боя:" <<endl;
  if (e == 100 && e1 == 100 && e2 == 100) {
    cout <<"[ВСЕ ПИЛОТЫ В ПОТОКЕ]" <<endl;
  }
  

  
  while(angelhp > 0 && (evaArry[0].hp > 0 || evaArry[1].hp > 0 || evaArry[2].hp > 0)) {
    int randeva = rand() % 3;
    

    if (evaArry[randeva].hp > 0) { 
      firePositronRifle(&evaArry[randeva], angelhp);
      if (angelhp > 0) {
          angelCounterAttack(evaArry[randeva]);
      }
    }
    
   
    if (angelhp <= 0) {
      for (int w = 0; w < 3; w++) {
        cout <<"\033[32mПОБЕДА\033[0m" <<" " <<"Ева: "<< evaArry[w].name <<" " << "Здоровье: " << evaArry[w].hp  <<" " <<"Заряд: " << evaArry[w].batary <<" " <<"Синхоронизация: " <<evaArry[w].sinx <<endl;
      }
      
    }
    if (evaArry[0].hp <= 0 && evaArry[1].hp <= 0 && evaArry[2].hp <= 0) {
      for (int q = 0; q < 3; q++) {
        
        cout <<"\033[31mПоражение\033[0m" <<" " <<"Ева: "<< evaArry[q].name <<" " << "Здоровье: " << evaArry[q].hp <<" " <<"Заряд: " << evaArry[q].batary <<" " <<"Синхоронизация: " <<evaArry[q].sinx <<endl;
        

      }
      cout <<"Ангел: " <<angelhp <<endl;
  
      
    }
    
  }
  
} 
