More actions
imported>smksyj No edit summary |
(Repair batch-0004 pages from live compare) |
||
| (2 intermediate revisions by one other user not shown) | |||
| Line 6: | Line 6: | ||
{ | { | ||
//zergling** z = NULL; | //zergling** z = NULL; | ||
//z | //z[0] = createZergling(); | ||
//z | //z[1] = createZergling(); | ||
zergling* z1 = createZergling(); | zergling* z1 = createZergling(1); | ||
zergling* z2 = createZergling(); | zergling* z2 = createZergling(2); | ||
// | // fight(z1, z2); | ||
fightwith(z1, z2); | |||
return 0; | |||
} | } | ||
== zergling.cpp == | == zergling.cpp == | ||
| Line 23: | Line 24: | ||
using namespace std; | using namespace std; | ||
zergling* createZergling() | zergling* createZergling(int num) | ||
{ | { | ||
zergling* z1 = (zergling*)malloc(sizeof(zergling)); | zergling* z1 = (zergling*)malloc(sizeof(zergling)); | ||
| Line 29: | Line 30: | ||
z1->def = 0; | z1->def = 0; | ||
z1->HP = 50; | z1->HP = 50; | ||
z1->number = | z1->number = num; | ||
return z1; | return z1; | ||
| Line 37: | Line 38: | ||
{ | { | ||
//sleep(1000); | //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); | |||
z2 | |||
} | } | ||
which_is_dead(z1, z2); | |||
} | } | ||
void | void fightwith(zergling* z1, zergling* z2) | ||
{ | { | ||
while ( z1->HP != 0 && z2->HP != 0 ) | while ( z1->HP != 0 && z2->HP != 0 ) | ||
{ | { | ||
attack(z1, z2); | |||
attack(z2, z1); | |||
} | } | ||
} | } | ||
void | 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 == | == zergling.h == | ||
| Line 84: | Line 96: | ||
} zergling; | } zergling; | ||
zergling* createZergling(); | zergling* createZergling(int num); | ||
void attack(zergling* z1, zergling* z2); | void attack(zergling* z1, zergling* z2); | ||
void fight(zergling* z1, zergling* z2); | void fight(zergling* z1, zergling* z2); | ||
void | void fightwith(zergling* z1, zergling* z2); | ||
void new_fightwith(zergling* z1, zergling* z2); | |||
void which_is_dead(zergling* z1, zergling* z2); | |||
Latest revision as of 00:37, 27 March 2026
메인함수
#include <iostream>
#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 <iostream>
#include "zergling.h"
#include <time.h>
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);