* after [REFACTORING] {{{ #include <stdio.h> 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; } }}}