summaryrefslogtreecommitdiff
path: root/aux/Card.java
diff options
context:
space:
mode:
Diffstat (limited to 'aux/Card.java')
-rw-r--r--aux/Card.java19
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");