== main.cpp == {{{ #include struct unit { int att; int def; int HP; }; void main() { unit zeli1={5,0,50}; unit zeli2={5,0,50}; while(zeli2.HP>0 || zeli1.HP>0) { zeli2.HP -= zeli1.att; zeli1.HP -= zeli2.att; printf("저글링1이 저글링2에 데미지 %d를 입혀서 저글링2의 HP가 %d가 되었습니다.\n", zeli1.att, zeli2.HP); if(zeli2.HP == 0) { printf("저글링2가 죽었습니다.\n"); break; } printf("저글링2이 저글링1에 데미지 %d를 입혀서 저글링1의 HP가 %d가 되었습니다.\n", zeli2.att, zeli1.HP); if(zeli1.HP == 0) { printf("저글링1가 죽었습니다.\n"); break; } } } }}} == main.cpp(수정) == {{{ #include struct unit { int no; int att; int def; int HP; }; unit zeli1, zeli2; void init_unit() { zeli1.no = 1; zeli1.att = 5; zeli1.def = 0; zeli1.HP = 50; zeli2.no = 2; zeli2.att = 5; zeli2.def = 0; zeli2.HP = 50; } int get_damage(unit a1, unit a2) { return a1.att - a2.def; } void attack(unit a1, unit& a2) { int damage = get_damage(a1, a2); a2.HP -= damage; printf("저글링%d이 저글링%d에 데미지 %d를 입혀서 저글링%d의 HP가 %d가 되었습니다.\n", a1.no, a2.no, damage, a2.no, a2.HP); } int is_dead(unit a) { return a.HP <=0; } void main() { init_unit(); while(true) { attack(zeli1, zeli2); if(is_dead(zeli2)) { printf("저글링%d가 죽었습니다.\n", zeli2.no); break; } attack(zeli2, zeli1); if(is_dead(zeli1)) { printf("저글링%d가 죽었습니다.\n", zeli1.no); break; } } } }}}