== 메인함수 == {{{ #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); 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); attack(z2, z1); } which_is_dead(z1, z2); } void fightwith(zergling* z1, zergling* z2) { while ( z1->HP != 0 && z2->HP != 0 ) { attack(z1, z2); attack(z2, z1); } } void new_fightwith(zergling* z1, zergling* z2) { int which = rand() % 2; if ( which == 0 ) { fight(z1, z2); } else { fight(z2, z1); } } void which_is_dead(zergling* z1, zergling* z2) { if ( z1->HP == 0 ) { cout << z1->number << "이 죽었습니다." << endl; } else { cout << z2->number << "가 죽었습니다." << endl; } } }}} == 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); void new_fightwith(zergling* z1, zergling* z2); void which_is_dead(zergling* z1, zergling* z2); }}}