#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef struct {
char name[50];
int health;
int attack;
int defense;
} Fighter;
void attack(Fighter *attacker, Fighter *defender) {
int damage = attacker->attack - defender->defense;
if (damage < 0) damage = 0;
defender->health -= damage;
if (defender->health < 0) defender->health = 0;
printf("%s 攻击 %s,造成 %d 点伤害。%s 剩余血量:%d\n",
attacker->name, defender->name, damage, defender->name, defender->health);
}
int main() {
srand(time(NULL));
Fighter linShiTong = {"林诗桐", 100, 20, 5};
Fighter linYuXuan = {"林宇炫", 100, 18, 7};
Fighter *attacker = &linShiTong;
Fighter *defender = &linYuXuan;
while (linShiTong.health > 0 && linYuXuan.health > 0) {
attack(attacker, defender);
Fighter *temp = attacker;
attacker = defender;
defender = temp;
int delay = rand() % 3 + 1;
printf("下一回合将在 %d 秒后开始...\n", delay);
sleep(delay);
}
if (linShiTong.health > 0) {
printf("%s 胜利了!\n", linShiTong.name);
} else {
printf("%s 胜利了!\n", linYuXuan.name);
}
return 0;
}