OSDN Git Service

1000村以降のG国に対応
authorOlyutorskii <olyutorskii@users.osdn.me>
Mon, 26 Aug 2013 10:58:00 +0000 (19:58 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Mon, 26 Aug 2013 10:58:00 +0000 (19:58 +0900)
src/main/java/jp/sfjp/jindolf/Controller.java
src/main/java/jp/sfjp/jindolf/data/Village.java

index 27a5be7..6dab8ad 100644 (file)
@@ -88,7 +88,6 @@ import jp.sfjp.jindolf.view.TabBrowser;
 import jp.sfjp.jindolf.view.TopFrame;
 import jp.sfjp.jindolf.view.TopView;
 import jp.sfjp.jindolf.view.WindowManager;
-import jp.sourceforge.jindolf.corelib.LandDef;
 import jp.sourceforge.jindolf.corelib.VillageState;
 import jp.sourceforge.jovsonz.JsObject;
 
@@ -408,15 +407,7 @@ public class Controller
         Village village = browser.getVillage();
         if(village == null) return;
 
-        String villageName;
-        LandDef landDef = village.getParentLand().getLandDef();
-        if(landDef.getLandId().equals("wolfg")){
-            String vnum = "000" + village.getVillageID();
-            vnum = vnum.substring(vnum.length() - 3);
-            villageName = landDef.getLandPrefix() + vnum;
-        }else{
-            villageName = village.getVillageName();
-        }
+        String villageName = village.getVillageName();
 
         StringBuilder url =
                 new StringBuilder()
index 4fbeeb4..473e5e1 100644 (file)
@@ -71,6 +71,8 @@ public class Village implements Comparable<Village> {
 
     }
 
+    private static final int GID_MIN = 3;
+
     private static final Comparator<Village> VILLAGE_COMPARATOR =
             new VillageComparator();
 
@@ -205,7 +207,22 @@ public class Village implements Comparable<Village> {
      * @return 村の名前
      */
     public String getVillageName(){
-        return this.parentLand.getLandDef().getLandPrefix() + getVillageID();
+        StringBuilder name = new StringBuilder();
+
+        LandDef landDef = this.parentLand.getLandDef();
+        String prefix = landDef.getLandPrefix();
+        name.append(prefix);
+
+        StringBuilder id = new StringBuilder(this.villageID);
+        if(landDef.getLandId().equals("wolfg")){
+            while(id.length() < GID_MIN){
+                id.insert(0, '0');
+            }
+        }
+        name.append(id);
+
+        String result = name.toString();
+        return result;
     }
 
     /**