pour un monde MMORPG de Warcraft im essayant d'écrire une lib. L'argent dans ces jeux est stocké comme un entier et en monnaie de jeu n'est pas un entier qu'il est basé sur des pièces d'or, d'argent et de cuivre. P>
Tous les 100 cuivre sont 1 argent et tous les 100 argent sont 1 or. P>
Maintenant, je dois convertir un tel entier au format WOW Money: Par exemple P>
123123 devrait revenir:
Quelqu'un sait faire cela P> 23c 31s 12g code> p>
5 Réponses :
Tout d'abord dévier 123123 à 10000. Cela vous donne 12.3123. Le nombre entier (12) est le numéro d'or. Le reste (après le délimètre) 3123 dévier à 100 pour obtenir l'argent. Cela vous donne 31,23. Encore une fois la première partie (31) est l'argent et le reste (23) est votre cuivre.
en C ++ par exemple, cet algorithme ressemblera à p>
python:
AVERTISSEMENT: cette réponse a deux bugs -> Il ne devrait pas y avoir de% 100 pour l'or, mais «Valeur // 10000» et le montant des négatifs ne sont pas correctement gérés.
C #:
int[] WoWMoney(int m) { int[] result = new int[3]; int copper = m % 100; m = (m - copper) / 100; int silver = m % 100; int gold = (m - silver) / 100; result[0] = copper; result[1] = silver; result[2] = gold; return result; }
Perl:
print "How much : "; $money = <>; chomp $money; $gold = int($money/10000); $money = int($money%10000); $silver = int($money/100); $copper = int($money%100); $result = sprintf("You need : %dg %ds %dc", $gold, $silver, $copper); print "\n$result\n"; <>;
N'a pas d'importance. J'ai juste besoin d'avoir l'idée d'avoir l'idée xD
Êtes-vous sûr qu'il y a 32 argent là-bas?