More actions
imported>rlaace423 No edit summary |
imported>rlaace423 No edit summary |
||
| Line 1: | Line 1: | ||
= class 사용 전 = | |||
#include<stdlib.h> | #include<stdlib.h> | ||
#include<time.h> | #include<time.h> | ||
| Line 53: | Line 54: | ||
return 0; | return 0; | ||
} | } | ||
= class 사용 후 = | |||
#include<stdlib.h> | |||
#include<time.h> | |||
#define NUM 4 | |||
class unit{ | |||
int gong; | |||
int bang; | |||
int hp; | |||
int name; | |||
public: | |||
void attack(unit &b); | |||
void init_unit(int n); | |||
bool is_dead(); | |||
}; | |||
void unit::attack(unit &b) | |||
{ | |||
if(b.hp<=0 || this->hp<=0) | |||
return; | |||
b.hp -=this->gong; | |||
printf("저글링 %d이 저글링 %d에게 데미지 %d를 입혀 HP가 %d가 되었다.\n", this->name, b.name, this->gong, b.hp); | |||
if(b.hp==0) | |||
printf("저글링 %d이 전사했습니다.\n", b.name); | |||
} | |||
void unit::init_unit(int n){ | |||
this->gong=5; | |||
this->bang=0; | |||
this->hp=50; | |||
this->name=n; | |||
} | |||
bool unit::is_dead() | |||
{ | |||
if(this->hp<=0) | |||
return true; | |||
else | |||
return false; | |||
} | |||
int main() | |||
{ | |||
unit a[NUM]; | |||
for(int i=0 ; i<NUM ; i++) | |||
a[i].init_unit(i); | |||
int sel; | |||
srand(time(NULL)); | |||
while(!((a[0].is_dead() && a[1].is_dead()) || (a[2].is_dead() && a[3].is_dead()))) //0과 1이 죽으면 끝or 2와 3이 죽으면 끝 | |||
{ | |||
sel=rand()%(NUM*2); | |||
int attackerTeam = rand() % 2; | |||
int attackerUnit = rand() % 2; | |||
int defenderunit = rand() % 2; | |||
a[attackerTeam * 2 + attackerUnit].attack(a[(!attackerTeam) * 2 + defenderunit]); | |||
} | |||
if(a[0].is_dead() && a[1].is_dead()) | |||
printf("뒷 팀이 이겼습니다!!\n"); | |||
if(a[2].is_dead() && a[3].is_dead()) | |||
printf("앞 팀이 이겼습니다!!\n"); | |||
return 0; | |||
} | |||
Revision as of 07:11, 26 June 2010
class 사용 전
#include<stdlib.h>
#include<time.h>
#define NUM 4
typedef struct z{
int gong;
int bang;
int hp;
int name;
}unit;
void attack(unit a, unit &b)
{
if(b.hp<=0 || a.hp<=0)
return;
b.hp -=a.gong;
printf("저글링 %d이 저글링 %d에게 데미지 %d를 입혀 HP가 %d가 되었다.\n", a.name, b.name, a.gong, b.hp);
if(b.hp==0)
printf("저글링 %d이 전사했습니다.\n", b.name);
}
void init_unit(unit a[NUM]){
int n;
for(n=0 ; n<NUM ; n++){
a[n].gong=5;
a[n].bang=0;
a[n].hp=50;
a[n].name=n;
}
}
int main()
{
unit a[NUM];
init_unit(a);
int sel;
srand(time(NULL));
while(!((a[0].hp<=0 && a[1].hp<=0) || (a[2].hp<=0 && a[3].hp<=0))) //0과 1이 죽으면 끝or 2와 3이 죽으면 끝
{
sel=rand()%(NUM*2);
int attackerTeam = rand() % 2;
int attackerUnit = rand() % 2;
int defenderunit = rand() % 2;
attack(a[attackerTeam * 2 + attackerUnit],a[(!attackerTeam) * 2 + defenderunit]);
}
if(a[0].hp<=0 && a[1].hp<=0)
printf("뒷 팀이 이겼습니다!!\n");
if(a[2].hp<=0 && a[3].hp<=0)
printf("앞 팀이 이겼습니다!!\n");
return 0;
}
class 사용 후
#include<stdlib.h>
#include<time.h>
#define NUM 4
class unit{
int gong;
int bang;
int hp;
int name;
public:
void attack(unit &b);
void init_unit(int n);
bool is_dead();
};
void unit::attack(unit &b)
{
if(b.hp<=0 || this->hp<=0)
return;
b.hp -=this->gong;
printf("저글링 %d이 저글링 %d에게 데미지 %d를 입혀 HP가 %d가 되었다.\n", this->name, b.name, this->gong, b.hp);
if(b.hp==0)
printf("저글링 %d이 전사했습니다.\n", b.name);
}
void unit::init_unit(int n){
this->gong=5;
this->bang=0;
this->hp=50;
this->name=n;
}
bool unit::is_dead()
{
if(this->hp<=0)
return true;
else
return false;
}
int main()
{
unit a[NUM];
for(int i=0 ; i<NUM ; i++)
a[i].init_unit(i);
int sel;
srand(time(NULL));
while(!((a[0].is_dead() && a[1].is_dead()) || (a[2].is_dead() && a[3].is_dead()))) //0과 1이 죽으면 끝or 2와 3이 죽으면 끝
{
sel=rand()%(NUM*2);
int attackerTeam = rand() % 2;
int attackerUnit = rand() % 2;
int defenderunit = rand() % 2;
a[attackerTeam * 2 + attackerUnit].attack(a[(!attackerTeam) * 2 + defenderunit]);
}
if(a[0].is_dead() && a[1].is_dead())
printf("뒷 팀이 이겼습니다!!\n");
if(a[2].is_dead() && a[3].is_dead())
printf("앞 팀이 이겼습니다!!\n");
return 0;
}