* after [REFACTORING] {{{ #include struct zergling { int no; int hitP; int attP; int defP; } zerglings[2]; void init_unit_stats() { zerglings[0].no = 0; zerglings[1].no = 1; zerglings[0].hitP = zerglings[1].hitP = 50; zerglings[0].attP = zerglings[1].attP = 5; zerglings[0].defP = zerglings[1].defP = 0; } int get_damage(zergling z1, zergling z2) { return z1.attP - z2.defP; } void attack(zergling z1, zergling & z2) { int damage = get_damage(z1, z2); z2.hitP -= damage; printf("저글링 %d이 저글링 %d에게 데미지 %d를 입혀 HP가 %d가 되었습니다.\n", z1.no, z2.no, damage, z2.hitP); } int is_dead(zergling z) { return z.hitP <= 0; } int main() { int i = 0; init_unit_stats(); while (true) { attack(zerglings[0], zerglings[1]); if (is_dead(zerglings[1])) { printf("저글링 %d이 죽었습니다.\n", zerglings[1].no); break; } attack(zerglings[1], zerglings[0]); if (is_dead(zerglings[0])) { printf("저글링 %d이 죽었습니다.\n", zerglings[0].no); break; } } getchar(); return 0; } }}}