#pragma once #include "common.h" namespace aoc2015 { struct spell; struct wizard { int points = 0; int armor = 0; int mana = 0; wizard* wp = nullptr; spell* spells[5] = {nullptr, nullptr, nullptr, nullptr, nullptr}; wizard () {} wizard(wizard& w) { points = w.points; armor = w.armor; mana = w.mana; wp = w.wp; for (int i = 0; i < 5; i++) { spells[i] = w.spells[i]; } } }; struct spell { const char * name; int costs; int turns; int damage; int heals; int payback; int protect; int tick; }; std::pair day22(wizard me, wizard boss); } // namespace aoc2015