diff options
Diffstat (limited to 'aux/Card.java')
-rw-r--r-- | aux/Card.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/aux/Card.java b/aux/Card.java index c84b9bb..4b351b1 100644 --- a/aux/Card.java +++ b/aux/Card.java @@ -13,10 +13,17 @@ public class Card { static final String[] typeSuffix = {"Wan","Tong","Tiao","Feng",""}; static final String[] shuName = {"Guard","Guard","Yi","Er","San","Si","Wu","Liu","Qi","Ba","Jiu","Guard","Guard"}; static final String[] fengName = {"Guard","Guard","Dong","Guard","Guard","Nan","Guard","Guard","Xi","Guard","Guard","Bei","Guard","Guard"}; - static final String[] yuanName = {"Guard","Guard","Fa","Guard","Guard","Zhong","Guard","Guard","Bai","Guard","Guard"}; + static final String[] yuanName = {"Guard","Guard","Bai","Guard","Guard","Fa","Guard","Guard","Zhong","Guard","Guard"}; static final String exName = "Hong"; static final String errName = "ERROR"; + static public final int[][] idLut = new int[][]{ + {11, 4, 6, 8, 10, 12, 14, 16, 18, 20}, + {45, 36, 38, 40, 42, 44, 46, 48, 50, 52}, + {77, 68, 70, 72, 74, 76, 78, 80, 82, 84}, + {11,100,106,112,118,132,138,144,148,148}, + }; + static public int parseSuffixNameId(String str) { int id; @@ -60,7 +67,7 @@ public class Card { if (name.charAt(0)==':') { ord = name.charAt(1)-47; - switch (name.charAt(2)) + switch (Character.toUpperCase(name.charAt(2))) { case 'M': type=0;break; @@ -68,14 +75,10 @@ public class Card { type=1;break; case 'S': type=2;break; - case 'F': - type=3;break; case 'Z': - type=4;break; + type=3;break; } - if (name.length()>3) - ex=1; - id = (((type<<4)+ord)<<1)+ex; + id = idLut[type][ord]; return; } String[] res = name.split("\\s"); |