#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
struct enemy
{
enemy(int x, int y, int power, int life)
: x(x), y(y), power(power), life(life)
{}
int x,y;
int power;
int life;
};
std::ostream& operator<<(std::ostream& o, enemy const& e)
{
o << "- Location:";
o << e.x << ", " << e.y << ". ";
o << "Power: " << e.power << ". ";
o << "Life: " << e.life << ". ";
return o;
}
std::vector<enemy> createEnemies(int count);
int main()
{
srand(static_cast<unsigned int>(time(0)));
const int MAX_ENEMIES = 20;
auto enemies = createEnemies(MAX_ENEMIES);
for (std::size_t i = 0; i < enemies.size(); ++i)
std::cout << "Enemy " << (i + 1) << enemies[i] << std::endl;
}
std::vector<enemy> createEnemies(int count)
{
std::vector<enemy> result;
for (int i = 0; i < count; ++i)
result.emplace_back(rand() % 1000, rand() % 1000, 200, 500);
return result;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGN0aW1lPgojaW5jbHVkZSA8dmVjdG9yPgoKc3RydWN0IGVuZW15IAp7CgllbmVteShpbnQgeCwgaW50IHksIGludCBwb3dlciwgaW50IGxpZmUpCgkgOiB4KHgpLCB5KHkpLCBwb3dlcihwb3dlciksIGxpZmUobGlmZSkKCXt9CglpbnQgeCx5OwoJaW50IHBvd2VyOwoJaW50IGxpZmU7Cn07CgpzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwoc3RkOjpvc3RyZWFtJiBvLCBlbmVteSBjb25zdCYgZSkKewoJbyA8PCAiLSBMb2NhdGlvbjoiOwoJbyA8PCBlLnggPDwgIiwgIiA8PCBlLnkgPDwgIi4gIjsKCW8gPDwgIlBvd2VyOiAiIDw8IGUucG93ZXIgPDwgIi4gIjsKCW8gPDwgIkxpZmU6ICIgPDwgZS5saWZlIDw8ICIuICI7CglyZXR1cm4gbzsKfQoKc3RkOjp2ZWN0b3I8ZW5lbXk+IGNyZWF0ZUVuZW1pZXMoaW50IGNvdW50KTsKCmludCBtYWluKCkKewoJc3JhbmQoc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50Pih0aW1lKDApKSk7CgoJY29uc3QgaW50IE1BWF9FTkVNSUVTID0gMjA7CgoJYXV0byBlbmVtaWVzID0gY3JlYXRlRW5lbWllcyhNQVhfRU5FTUlFUyk7CgoJZm9yIChzdGQ6OnNpemVfdCBpID0gMDsgaSA8IGVuZW1pZXMuc2l6ZSgpOyArK2kpCgkJc3RkOjpjb3V0IDw8ICJFbmVteSAiIDw8IChpICsgMSkgPDwgZW5lbWllc1tpXSA8PCBzdGQ6OmVuZGw7Cn0KCnN0ZDo6dmVjdG9yPGVuZW15PiBjcmVhdGVFbmVtaWVzKGludCBjb3VudCkKewoJc3RkOjp2ZWN0b3I8ZW5lbXk+IHJlc3VsdDsKCWZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKCQlyZXN1bHQuZW1wbGFjZV9iYWNrKHJhbmQoKSAlIDEwMDAsIHJhbmQoKSAlIDEwMDAsIDIwMCwgNTAwKTsKCXJldHVybiByZXN1bHQ7Cn0=
Enemy 1- Location:905, 447. Power: 200. Life: 500.
Enemy 2- Location:458, 862. Power: 200. Life: 500.
Enemy 3- Location:505, 401. Power: 200. Life: 500.
Enemy 4- Location:642, 482. Power: 200. Life: 500.
Enemy 5- Location:734, 686. Power: 200. Life: 500.
Enemy 6- Location:192, 400. Power: 200. Life: 500.
Enemy 7- Location:976, 823. Power: 200. Life: 500.
Enemy 8- Location:827, 218. Power: 200. Life: 500.
Enemy 9- Location:75, 489. Power: 200. Life: 500.
Enemy 10- Location:564, 131. Power: 200. Life: 500.
Enemy 11- Location:888, 422. Power: 200. Life: 500.
Enemy 12- Location:960, 472. Power: 200. Life: 500.
Enemy 13- Location:518, 686. Power: 200. Life: 500.
Enemy 14- Location:72, 438. Power: 200. Life: 500.
Enemy 15- Location:788, 849. Power: 200. Life: 500.
Enemy 16- Location:648, 217. Power: 200. Life: 500.
Enemy 17- Location:432, 46. Power: 200. Life: 500.
Enemy 18- Location:799, 106. Power: 200. Life: 500.
Enemy 19- Location:940, 937. Power: 200. Life: 500.
Enemy 20- Location:975, 442. Power: 200. Life: 500.