== 메인함수 == {{{ #include #include "zergling.h" int main(void) { //zergling** z = NULL; //z[0] = createZergling(); //z[1] = createZergling(); zergling* z1 = createZergling(1); zergling* z2 = createZergling(2); // fight(z1, z2); fightwith(z1, z2); return 0; } }}} == zergling.cpp == {{{ #include #include "zergling.h" #include using namespace std; zergling* createZergling(int num) { zergling* z1 = (zergling*)malloc(sizeof(zergling)); z1->atk = 5; z1->def = 0; z1->HP = 50; z1->number = num; return z1; } void attack(zergling* z1, zergling* z2) { //sleep(1000); if ( z2->HP == 0 ) { cout << z2->number << "가 죽었습니다." << endl; return; } else { cout << z1->number << "이 " << z2->number << "에게 데미지 " << z1->atk << "를 입혀 HP가 " << z2->HP << "가 되었다." << endl; z2->HP -= z1->atk; } } void fight(zergling* z1, zergling* z2) { while ( z1->HP != 0 && z2->HP != 0 ) { attack(z1, z2); } } void fightwith(zergling* z1, zergling* z2) { while ( z1->HP != 0 && z2->HP != 0 ) { attack(z1, z2); attack(z2, z1); } } }}} == zergling.h == {{{ typedef struct zergling { int atk; int def; int HP; int number; } zergling; zergling* createZergling(int num); void attack(zergling* z1, zergling* z2); void fight(zergling* z1, zergling* z2); void fightwith(zergling* z1, zergling* z2);}}}