Bienvenue, brave golfeur de code! Aujourd'hui, vous vous tiendrez au milieu d'une grande bataille entre un gobelin et un elfe!
goblin attacks elf!
elf dodges!
elf attacks goblin!
elf hits goblin for 13 damage!
goblin has 37 health left.
goblin attacks elf!
goblin hits elf for 1 damage!
elf has 49 health left.
elf attacks goblin!
elf hits goblin for 19 damage!
goblin has 18 health left.
goblin attacks elf!
goblin hits elf for 26 damage!
elf has 23 health left.
elf attacks goblin!
elf hits goblin for 20 damage!
goblin has been slain!
Le défi
Votre défi est de simuler une bataille, comme celle ci-dessus. Vous recevrez une entrée sous cette forme:
creatureName health strength defense accuracy agility
Par exemple, la bataille entre le gobelin et l'elfe serait:
goblin 50 40 35 3 2 elf 50 35 30 4 5
Les première et deuxième créatures alterneront les attaques.
- Imprimer 'creatureName attaque otherCreatureName!'
- Vérifiez si la créature esquive. La créature esquivera une attaque si (son temps d'agilité rand () divisé par 2) est supérieur à (la précision de l'attaquant multiplie rand ()).
- Si la créature esquive, imprimez 'creatureName esquive!'
- Sinon, calculez les dégâts infligés en soustrayant (la force de l'attaquant multipliée par rand ()) et (la défense du défenseur multipliée par rand () divisée par 2). Le minimum de dégâts est de 1. Imprimez 'creatureName frappe otherCreatureName pour (x) dégâts!' Imprimez ensuite «creatureName a (x) health left». sauf si la santé de la créature est de 0 ou moins, auquel cas ...
- Si la santé de la créature est de 0 ou moins, imprimez 'creatureName a été tué!' et terminer le programme.
Règles
- Le code le plus court gagne.
- N'imprimez pas littéralement 'creatureName', mais remplacez-le par le nom de la créature. N'imprimez pas '(x) damage' ou '(x) health;' remplacez-les par le montant réel. (Je dois préciser cela parce que certaines personnes sont très créatives avec le pliage des règles.: P)
goblin 50 40 18 3 2 elf 50 35 15 4 5
?