OSDN Git Service

Changed stagemap data format.
authorj-kyoda <j.kyoda@gmail.com>
Mon, 15 Aug 2011 15:45:30 +0000 (00:45 +0900)
committerj-kyoda <j.kyoda@gmail.com>
Mon, 15 Aug 2011 15:49:42 +0000 (00:49 +0900)
Added stageitem attribute width, height.

.gitignore [changed mode: 0755->0644]
arescue/data/stagemap/stage1.xml
arescue/lib/common/model.py
arescue/lib/stageitem.py
arescue/lib/stagemap.py
arescue/lib/utils/mapeditor/ctrmapedit.py
arescue/lib/utils/mapeditor/piece.py
readme.txt [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 9bd44a7..244042d 100644 (file)
 <?xml version="1.0" ?>
 <stageitem_list name="test_items">
-  <stageitem name="rock" x="0" y="0"/>
-  <stageitem name="rock" x="1" y="0"/>
-  <stageitem name="rock" x="0" y="1"/>
-  <stageitem name="rock" x="2" y="0"/>
-  <stageitem name="rock" x="3" y="0"/>
-  <stageitem name="rock" x="4" y="0"/>
-  <stageitem name="rock" x="5" y="0"/>
-  <stageitem name="rock" x="6" y="0"/>
-  <stageitem name="rock" x="7" y="0"/>
-  <stageitem name="rock" x="8" y="0"/>
-  <stageitem name="rock" x="9" y="0"/>
-  <stageitem name="rock" x="10" y="0"/>
-  <stageitem name="rock" x="11" y="0"/>
-  <stageitem name="rock" x="12" y="0"/>
-  <stageitem name="rock" x="13" y="0"/>
-  <stageitem name="rock" x="14" y="0"/>
-  <stageitem name="rock" x="15" y="0"/>
-  <stageitem name="rock" x="0" y="2"/>
-  <stageitem name="rock" x="0" y="3"/>
-  <stageitem name="rock" x="0" y="4"/>
-  <stageitem name="rock" x="0" y="5"/>
-  <stageitem name="rock" x="0" y="6"/>
-  <stageitem name="rock" x="1" y="7"/>
-  <stageitem name="rock" x="1" y="8"/>
-  <stageitem name="rock" x="2" y="9"/>
-  <stageitem name="rock" x="1" y="10"/>
-  <stageitem name="rock" x="0" y="10"/>
-  <stageitem name="rock" x="0" y="11"/>
-  <stageitem name="rock" x="1" y="12"/>
-  <stageitem name="rock" x="2" y="13"/>
-  <stageitem name="rock" x="2" y="14"/>
-  <stageitem name="rock" x="3" y="14"/>
-  <stageitem name="rock" x="4" y="14"/>
-  <stageitem name="rock" x="5" y="14"/>
-  <stageitem name="rock" x="6" y="14"/>
-  <stageitem name="rock" x="7" y="14"/>
-  <stageitem name="rock" x="7" y="13"/>
-  <stageitem name="rock" x="7" y="12"/>
-  <stageitem name="rock" x="7" y="11"/>
-  <stageitem name="rock" x="7" y="10"/>
-  <stageitem name="rock" x="7" y="9"/>
-  <stageitem name="rock" x="7" y="8"/>
-  <stageitem name="rock" x="8" y="8"/>
-  <stageitem name="rock" x="8" y="9"/>
-  <stageitem name="rock" x="9" y="9"/>
-  <stageitem name="rock" x="10" y="9"/>
-  <stageitem name="rock" x="11" y="8"/>
-  <stageitem name="rock" x="11" y="7"/>
-  <stageitem name="rock" x="13" y="5"/>
-  <stageitem name="rock" x="14" y="4"/>
-  <stageitem name="rock" x="15" y="3"/>
-  <stageitem name="rock" x="15" y="2"/>
-  <stageitem name="rock" x="15" y="1"/>
-  <stageitem name="rock" x="11" y="1"/>
-  <stageitem name="rock" x="10" y="2"/>
-  <stageitem name="rock" x="10" y="1"/>
-  <stageitem name="rock" x="9" y="1"/>
-  <stageitem name="rock" x="4" y="6"/>
-  <stageitem name="rock" x="5" y="5"/>
-  <stageitem name="rock" x="5" y="4"/>
-  <stageitem name="rock" x="4" y="4"/>
-  <stageitem name="rock" x="4" y="5"/>
-  <stageitem name="rock" x="6" y="7"/>
-  <stageitem name="rock" x="4" y="7"/>
-  <stageitem name="rock" x="5" y="9"/>
-  <stageitem name="rock" x="6" y="10"/>
-  <stageitem name="rock" x="6" y="8"/>
-  <stageitem name="rock" x="6" y="9"/>
-  <stageitem name="rock" x="1" y="9"/>
-  <stageitem name="rock" x="1" y="1"/>
-  <stageitem name="rock" x="1" y="2"/>
-  <stageitem name="rock" x="5" y="8"/>
-  <stageitem name="rock" x="2" y="10"/>
-  <stageitem name="rock" x="1" y="11"/>
-  <stageitem name="rock" x="0" y="7"/>
-  <stageitem name="rock" x="11" y="9"/>
-  <stageitem name="rock" x="8" y="10"/>
-  <stageitem name="rock" x="6" y="13"/>
-  <stageitem name="rock2" x="14" y="5"/>
-  <stageitem name="rock" x="14" y="5"/>
-  <stageitem name="rock" x="15" y="4"/>
-  <stageitem name="rock" x="9" y="10"/>
-  <stageitem name="rock" x="8" y="11"/>
-  <stageitem name="rock" x="6" y="4"/>
-  <stageitem name="rock" x="2" y="1"/>
-  <stageitem name="rock" x="10" y="10"/>
-  <stageitem name="rock" x="12" y="8"/>
-  <stageitem name="rock" x="14" y="6"/>
-  <stageitem name="rock" x="15" y="5"/>
-  <stageitem name="rock" x="8" y="12"/>
-  <stageitem name="rock" x="8" y="13"/>
-  <stageitem name="rock" x="1" y="13"/>
-  <stageitem name="rock" x="0" y="12"/>
-  <stageitem name="rock" x="0" y="9"/>
-  <stageitem name="rock" x="0" y="8"/>
-  <stageitem name="rock" x="1" y="14"/>
-  <stageitem name="rock" x="0" y="13"/>
-  <stageitem name="rock" x="2" y="15"/>
-  <stageitem name="rock" x="3" y="15"/>
-  <stageitem name="rock" x="4" y="15"/>
-  <stageitem name="rock" x="5" y="15"/>
-  <stageitem name="rock" x="6" y="15"/>
-  <stageitem name="rock" x="4" y="3"/>
-  <stageitem name="rock" x="5" y="3"/>
-  <stageitem name="rock" x="3" y="4"/>
-  <stageitem name="rock" x="3" y="5"/>
-  <stageitem name="rock" x="11" y="10"/>
-  <stageitem name="rock" x="12" y="9"/>
-  <stageitem name="rock" x="9" y="11"/>
-  <stageitem name="rock" x="15" y="6"/>
-  <stageitem name="rock" x="14" y="7"/>
-  <stageitem name="rock" x="10" y="11"/>
-  <stageitem name="rock" x="9" y="12"/>
-  <stageitem name="rock" x="8" y="15"/>
-  <stageitem name="rock" x="9" y="15"/>
-  <stageitem name="rock" x="10" y="15"/>
-  <stageitem name="rock" x="11" y="15"/>
-  <stageitem name="rock" x="12" y="14"/>
-  <stageitem name="rock" x="13" y="14"/>
-  <stageitem name="rock" x="14" y="14"/>
-  <stageitem name="rock" x="14" y="13"/>
-  <stageitem name="rock" x="15" y="13"/>
-  <stageitem name="rock" x="15" y="12"/>
-  <stageitem name="rock" x="15" y="11"/>
-  <stageitem name="rock" x="15" y="10"/>
-  <stageitem name="rock" x="15" y="9"/>
-  <stageitem name="rock" x="15" y="8"/>
-  <stageitem name="rock" x="15" y="7"/>
-  <stageitem name="rock" x="11" y="14"/>
-  <stageitem name="rock" x="8" y="14"/>
-  <stageitem name="rock" x="9" y="14"/>
-  <stageitem name="myship" x="2" y="2"/>
-  <stageitem name="rock" x="14" y="1"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="1"/>
+  <stageitem height="1" name="rock" width="1" x="2" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="3" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="4" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="5" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="6" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="7" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="8" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="9" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="10" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="11" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="12" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="13" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="14" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="0"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="2"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="3"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="4"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="5"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="6"/>
+  <stageitem height="1" name="rock" width="1" x="1" y="7"/>
+  <stageitem height="1" name="rock" width="1" x="1" y="8"/>
+  <stageitem height="1" name="rock" width="1" x="2" y="9"/>
+  <stageitem height="1" name="rock" width="1" x="1" y="10"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="10"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="11"/>
+  <stageitem height="1" name="rock" width="1" x="1" y="12"/>
+  <stageitem height="1" name="rock" width="1" x="2" y="13"/>
+  <stageitem height="1" name="rock" width="1" x="2" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="3" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="4" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="5" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="6" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="7" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="7" y="13"/>
+  <stageitem height="1" name="rock" width="1" x="7" y="12"/>
+  <stageitem height="1" name="rock" width="1" x="10" y="9"/>
+  <stageitem height="1" name="rock" width="1" x="11" y="8"/>
+  <stageitem height="1" name="rock" width="1" x="11" y="7"/>
+  <stageitem height="1" name="rock" width="1" x="13" y="5"/>
+  <stageitem height="1" name="rock" width="1" x="14" y="4"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="3"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="2"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="1"/>
+  <stageitem height="1" name="rock" width="1" x="11" y="1"/>
+  <stageitem height="1" name="rock" width="1" x="10" y="2"/>
+  <stageitem height="1" name="rock" width="1" x="10" y="1"/>
+  <stageitem height="1" name="rock" width="1" x="9" y="1"/>
+  <stageitem height="1" name="rock" width="1" x="4" y="6"/>
+  <stageitem height="1" name="rock" width="1" x="5" y="5"/>
+  <stageitem height="1" name="rock" width="1" x="5" y="4"/>
+  <stageitem height="1" name="rock" width="1" x="4" y="4"/>
+  <stageitem height="1" name="rock" width="1" x="4" y="5"/>
+  <stageitem height="1" name="rock" width="1" x="6" y="7"/>
+  <stageitem height="1" name="rock" width="1" x="4" y="7"/>
+  <stageitem height="1" name="rock" width="1" x="5" y="9"/>
+  <stageitem height="1" name="rock" width="1" x="1" y="9"/>
+  <stageitem height="1" name="rock" width="1" x="1" y="1"/>
+  <stageitem height="1" name="rock" width="1" x="1" y="2"/>
+  <stageitem height="1" name="rock" width="1" x="5" y="8"/>
+  <stageitem height="1" name="rock" width="1" x="2" y="10"/>
+  <stageitem height="1" name="rock" width="1" x="1" y="11"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="7"/>
+  <stageitem height="1" name="rock" width="1" x="11" y="9"/>
+  <stageitem height="1" name="rock" width="1" x="6" y="13"/>
+  <stageitem height="1" name="rock2" width="1" x="14" y="5"/>
+  <stageitem height="1" name="rock" width="1" x="14" y="5"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="4"/>
+  <stageitem height="1" name="rock" width="1" x="6" y="4"/>
+  <stageitem height="1" name="rock" width="1" x="2" y="1"/>
+  <stageitem height="1" name="rock" width="1" x="10" y="10"/>
+  <stageitem height="1" name="rock" width="1" x="12" y="8"/>
+  <stageitem height="1" name="rock" width="1" x="14" y="6"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="5"/>
+  <stageitem height="1" name="rock" width="1" x="8" y="12"/>
+  <stageitem height="1" name="rock" width="1" x="8" y="13"/>
+  <stageitem height="1" name="rock" width="1" x="1" y="13"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="12"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="9"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="8"/>
+  <stageitem height="1" name="rock" width="1" x="1" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="0" y="13"/>
+  <stageitem height="1" name="rock" width="1" x="2" y="15"/>
+  <stageitem height="1" name="rock" width="1" x="3" y="15"/>
+  <stageitem height="1" name="rock" width="1" x="4" y="15"/>
+  <stageitem height="1" name="rock" width="1" x="5" y="15"/>
+  <stageitem height="1" name="rock" width="1" x="6" y="15"/>
+  <stageitem height="1" name="rock" width="1" x="4" y="3"/>
+  <stageitem height="1" name="rock" width="1" x="5" y="3"/>
+  <stageitem height="1" name="rock" width="1" x="3" y="4"/>
+  <stageitem height="1" name="rock" width="1" x="3" y="5"/>
+  <stageitem height="1" name="rock" width="1" x="11" y="10"/>
+  <stageitem height="1" name="rock" width="1" x="12" y="9"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="6"/>
+  <stageitem height="1" name="rock" width="1" x="14" y="7"/>
+  <stageitem height="1" name="rock" width="1" x="10" y="11"/>
+  <stageitem height="1" name="rock" width="1" x="9" y="12"/>
+  <stageitem height="1" name="rock" width="1" x="8" y="15"/>
+  <stageitem height="1" name="rock" width="1" x="9" y="15"/>
+  <stageitem height="1" name="rock" width="1" x="10" y="15"/>
+  <stageitem height="1" name="rock" width="1" x="11" y="15"/>
+  <stageitem height="1" name="rock" width="1" x="12" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="13" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="14" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="14" y="13"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="13"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="12"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="11"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="10"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="9"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="8"/>
+  <stageitem height="1" name="rock" width="1" x="15" y="7"/>
+  <stageitem height="1" name="rock" width="1" x="11" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="8" y="14"/>
+  <stageitem height="1" name="rock" width="1" x="9" y="14"/>
+  <stageitem height="1" name="myship" width="1" x="2" y="2"/>
+  <stageitem height="1" name="rock" width="1" x="14" y="1"/>
+  <stageitem height="1" name="rock" width="1" x="9" y="9"/>
+  <stageitem height="1" name="rock" width="1" x="9" y="10"/>
+  <stageitem height="1" name="rock" width="1" x="9" y="11"/>
+  <stageitem height="1" name="rock" width="1" x="8" y="11"/>
+  <stageitem height="1" name="rock" width="1" x="7" y="11"/>
+  <stageitem height="3" name="rock_large" width="3" x="6" y="8"/>
 </stageitem_list>
index bfda385..d7ac51c 100644 (file)
@@ -22,6 +22,7 @@ MODEL_MOVE = 'm'
 MODEL_SCALE = 's'\r
 MODEL_ROTATE = 'r'\r
 \r
+LOCAL_MODE = ''.join([MODEL_ROTATE, MODEL_SCALE, MODEL_MOVE])\r
 MODEL_MODE = ''.join([MODEL_MOVE, MODEL_SCALE, MODEL_ROTATE])\r
 \r
 \r
@@ -257,7 +258,7 @@ class Model(object):
             vertexs = p.vertexs\r
             if move_self or scale_self or matrix_self:\r
                 vertexs = calc_vertexs(vertexs, move_self, scale_self,\r
-                                      matrix_self, mode='rsm')\r
+                                      matrix_self, mode=LOCAL_MODE)\r
             if move or scale or matrix:\r
                 vertexs = calc_vertexs(vertexs, move, scale, matrix)\r
             q = Polygon(vertexs, tuple(p.fill), tuple(p.outline), p.name)\r
@@ -270,7 +271,7 @@ class Model(object):
         vertexs = [Vertex(0)]\r
         if move_self or scale_self or matrix_self:\r
             vertexs = calc_vertexs(vertexs, move_self, scale_self,\r
-                                  matrix_self, mode='rsm')\r
+                                  matrix_self, mode=LOCAL_MODE)\r
         if move or scale or matrix:\r
             vertexs = calc_vertexs(vertexs, move, scale, matrix)\r
         return vertexs[0]\r
index 47c9142..b2c41d2 100644 (file)
@@ -12,25 +12,31 @@ __all__ = ["Stageitem"]
 class Stageitem(object):
     """stage item
     """
-    attrs = ['x', 'y', 'name']
+    attrs = ['x', 'y', 'name', 'width', 'height']
     __slots__ = attrs
 
-    def __init__(self, x, y, name):
+    def __init__(self, x, y, name, width=1, height=1):
         self.x = x
         self.y = y
         self.name = name
+        self.width = width
+        self.height = height
 
     def __getstate__(self):
         return {
             'x': self.x,
             'y': self.y,
             'name': self.name,
+            'width': self.width,
+            'height': self.height,
             }
 
     def __setstate__(self, odict):
         self.x = odict['x']
         self.y = odict['y']
         self.name = odict['name']
+        self.width = odict['width']
+        self.height = odict['width']
 
     def __eq__(self, other):
         if self.x == other.x:
@@ -40,21 +46,25 @@ class Stageitem(object):
         return False
 
     def __str__(self):
-        return '<%s %d, %d, %s>' % (self.__class__.__name__,
-                                    self.x,
-                                    self.y,
-                                    self.name)
+        return '<%s %d, %d, %s, %d, %d>' % (self.__class__.__name__,
+                                            self.x,
+                                            self.y,
+                                            self.name,
+                                            self.width,
+                                            self.height)
 
     def __repr__(self):
-        return '%s(%d, %d, "%s")' % (self.__class__.__name__,
-                                     self.x,
-                                     self.y,
-                                     self.name)
+        return '%s(%d, %d, "%s", %d, %d)' % (self.__class__.__name__,
+                                             self.x,
+                                             self.y,
+                                             self.name,
+                                             self.width,
+                                             self.height)
 
 
 def test():
     """stageitem test"""
-    sd = Stageitem(5, 5, 'rock')
+    sd = Stageitem(5, 5, 'rock', 2, 2)
     print sd
 
     import pickle
index 4e78247..410bc50 100644 (file)
@@ -19,7 +19,9 @@ def parse_stageitem(el_stageitem):
     x = int(el_stageitem.getAttribute('x'))
     y = int(el_stageitem.getAttribute('y'))
     name = el_stageitem.getAttribute('name')
-    return Stageitem(x, y, name)
+    width = el_stageitem.getAttribute('width')
+    height = el_stageitem.getAttribute('height')
+    return Stageitem(x, y, name, width, height)
 
 
 def make_stageitem(stageitem, doc):
@@ -33,6 +35,8 @@ def make_stageitem(stageitem, doc):
     el_stageitem.setAttribute('x', str(stageitem.x))
     el_stageitem.setAttribute('y', str(stageitem.y))
     el_stageitem.setAttribute('name', str(stageitem.name))
+    el_stageitem.setAttribute('width', str(stageitem.width))
+    el_stageitem.setAttribute('height', str(stageitem.height))
     return el_stageitem
 
 
@@ -154,7 +158,7 @@ class Stagemap(object):
 
 def test():
     """stagemap test"""
-    stagemap = Stagemap(name='test')
+    stagemap = Stagemap([], name='test')
     print stagemap
     print dump(stagemap)
 
index 11a05f9..b165679 100644 (file)
@@ -256,7 +256,9 @@ class CtrMapedit(Tk.Frame):
         piece = self.piecelist.getpiece()
         if piece:
             name = piece.name
-            stageitem = Stageitem(self.cx, self.cy, name)
+            width = piece.cell_width
+            height = piece.cell_height
+            stageitem = Stageitem(self.cx, self.cy, name, width, height)
             self.stagemaplist.append(stageitem)
             self._draw_image()
             self._draw_window()
index 1321ca3..7aebf39 100644 (file)
@@ -37,6 +37,8 @@ def draw_model(md, draw):
 
 
 class Piece(object):
+    """piece of map
+    """
     attrs = ['width', 'height',
              'cell_width', 'cell_height',
              'offset_x', 'offset_y',
@@ -45,6 +47,12 @@ class Piece(object):
     __slots__ = attrs
 
     def __init__(self, md, grid=GRID_STEP, grid_draw=GRID_DRAW):
+        """
+
+        md - model object
+        grid - pice size
+        grid_draw - pice size on map view
+        """
         # md
         self.md = md
         self.grid = grid
old mode 100755 (executable)
new mode 100644 (file)