From 012ea4e02d538b4ba8754144a8aeecd56ebd8847 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 15 Apr 2013 17:56:44 +0200 Subject: [PATCH] Utility to use text for numbers from 0 to 20. --- Mage/src/mage/util/CardUtil.java | 34 +++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/Mage/src/mage/util/CardUtil.java b/Mage/src/mage/util/CardUtil.java index 91bd574eab8..b89bf33d549 100644 --- a/Mage/src/mage/util/CardUtil.java +++ b/Mage/src/mage/util/CardUtil.java @@ -28,6 +28,7 @@ package mage.util; +import java.util.Iterator; import mage.Constants; import mage.Mana; import mage.abilities.Ability; @@ -43,13 +44,16 @@ import mage.game.permanent.token.Token; import mage.util.functions.CopyFunction; import mage.util.functions.CopyTokenFunction; -import java.util.Iterator; + /** * @author nantuko */ public class CardUtil { + static String numberStrings[] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", + "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "ninteen", "twenty"}; + /** * Checks whether two cards share card types. * @@ -317,4 +321,32 @@ public class CardUtil { return permanent; } + + /** + * Converts an integer number to string + * Numbers > 20 will be returned as digits + * + */ + public static String numberToText(int number) { + if (number >= 0 && number < 21) { + return numberStrings[number]; + } + return Integer.toString(number); + } + + public static String numberToText(String number) { + if (checkNumeric(number)) { + return numberToText(Integer.parseInt(number)); + } + return number; + } + + public static boolean checkNumeric(String s) { + for(int i = 0; i < s.length(); i++) { + if(!Character.isDigit(s.charAt(i))) { + return false; + } + } + return true; + } }