= class 사용 ì „ = {{{#include<stdio.h> #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<stdio.h> #include<stdlib.h> #include<time.h> #include"unit.h" #define NUM 4 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; }}}} == unit.cpp == {{{ #include"unit.h" #include<stdio.h> 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; }}}} == unit.h == {{{ class unit{ int gong; int bang; int hp; int name; public: void attack(unit &b); void init_unit(int n); bool is_dead(); };}}}