U E D R , A S I H C RSS

데블스캠프2010/다섯째날/Object Craft/미션2/허준

main.cpp

#include <stdio.h>

struct unit {

	int att;
	int def;
	int HP;

};


void main() {
	
	unit zeli1={5,0,50};
	unit zeli2={5,0,50};
	
	while(zeli2.HP>0 || zeli1.HP>0) {
		zeli2.HP -= zeli1.att;
		zeli1.HP -= zeli2.att;
		printf("1 2  %d  2 HP %d .\n", zeli1.att, zeli2.HP);
		if(zeli2.HP == 0) {
			printf("2 .\n");
			break;
		}
		printf("2 1  %d  1 HP %d .\n", zeli2.att, zeli1.HP);

		if(zeli1.HP == 0) {
			printf("1 .\n");
			break;
		}

	}

}

main.cpp()

#include <stdio.h>

struct unit {
	int no;
	int att;
	int def;
	int HP;
};
unit zeli1, zeli2;

void init_unit() {
	zeli1.no = 1;
	zeli1.att = 5;
	zeli1.def = 0;
	zeli1.HP = 50;
	zeli2.no = 2;
	zeli2.att = 5;
	zeli2.def = 0;
	zeli2.HP = 50;
}

int get_damage(unit a1, unit a2) {
	return a1.att - a2.def;
}

void attack(unit a1, unit& a2) {
	int damage = get_damage(a1, a2);

	a2.HP -= damage;
	printf("%d %d  %d  %d HP %d .\n", a1.no, a2.no, damage, a2.no, a2.HP);
}

int is_dead(unit a) {
	return a.HP <=0;
}

void main() {
	init_unit();

	while(true) {
		
		attack(zeli1, zeli2);
		if(is_dead(zeli2)) {
			printf("%d .\n", zeli2.no);
			break;
		}

		attack(zeli2, zeli1);
		if(is_dead(zeli1)) {
			printf("%d .\n", zeli1.no);
			break;
		}

	}

}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:10
Processing time 0.0136 sec