#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; }