Commits

illume committed a9b52f1

added action_move_* methods to Blocks()

  • Participants
  • Parent commits 59db4ab

Comments (0)

Files changed (2)

File alchemymadness/blocks.py

 
 import resources
 
+GRID_SIZE_W = 9
+GRID_SIZE_H = 16
+
 class Block(DirtySprite):
     rect = Rect(0, 0, 30, 30)
     changed = False
         self._color = value
         self.changed = True
 
-class Blocks(DirtySprite):
-
-    def __init__(self, *groups):
-        super(Blocks, self).__init__(*groups)
-
+class Blocks(object):
+    """ contains 3 Block() instances.
+    """
+    def __init__(self):
+        super(Blocks, self).__init__()
 
         self.colors = [(255,0,0), (0,255,0), (0,0,255)]
 
         #     top, left is (0,0)
         self.grid_positions = [[0,0], [1,0], [2,0]]
 
-        # what is our image?
-        self.dirty = 1
-
 
     def update(self, time):
         pass
+        
 
+    def action_move_left(self):
+        for b in self.grid_positions:
+            b[0] -= 1
+            if b[0] < 0:
+                b[0] = 0
+
+    def action_move_right(self):
+        for b in self.grid_positions:
+            b[0] += 1
+            if b[0] >= GRID_SIZE_W:
+                b[0] = GRID_SIZE_W - 1
+
+
+    def action_move_up(self):
+        for b in self.grid_positions:
+            b[1] -= 1
+            if b[1] < 0:
+                b[1] = 0
+
+    def action_move_down(self):
+
+        for b in self.grid_positions:
+            b[1] += 1
+
+            if b[1] >= GRID_SIZE_H:
+                b[1] = GRID_SIZE_H - 1
 
 
 class Grid(object):
+    """ Contains Blocks()
     """
-    """
-    GRID_SIZE = 10
-
     def __init__(self):
         super(Grid, self).__init__()
+        self.GRID_SIZE_W = GRID_SIZE_W
+        self.GRID_SIZE_H = GRID_SIZE_H
+
         self.restart()
-
     def restart(self):
         self.init_grid()
 
         # ...
         #]
         self.grid = []
-        for x in range(self.GRID_SIZE):
-            self.grid.append([(0,0,0)] * self.GRID_SIZE)
+        for x in range(self.GRID_SIZE_H):
+            self.grid.append([(0,0,0)] * self.GRID_SIZE_W)
 
-        import pprint
-        pprint.pprint(self.grid)
+        #import pprint
+        #pprint.pprint(self.grid)
 
 
 
+
+
+
+
+class Grids(object):
+    """ This contains all the main Grid objects.
+    """
+    NUM_GRIDS = 4
+    def __init__(self):
+        """
+        """
+        self.grids = [Grid() for x in range(self.NUM_GRIDS)]
+
+
+

File alchemymadness/test_blocks.py

         g = blocks.Grid()
         
 
-        self.assertEqual(len(g.grid), g.GRID_SIZE)
-        self.assertEqual(len(g.grid[0]), g.GRID_SIZE)
+        self.assertEqual(len(g.grid), g.GRID_SIZE_H)
+        self.assertEqual(len(g.grid[0]), g.GRID_SIZE_W)
         self.assertEqual(g.grid[0][0], (0,0,0))
         self.assertTrue(1 == 1)
 
+    def test_Blocks(self):
+        g = blocks.Grid()
+        
+        b = blocks.Blocks()
+        for x in range(g.GRID_SIZE_H*2):
+            b.action_move_up()
+        self.assertEqual(b.grid_positions[0][1], 0)
+
+        for x in range(g.GRID_SIZE_H*2):
+            b.action_move_down()
+        self.assertEqual(b.grid_positions[0][1], g.GRID_SIZE_H-1)
+
 if __name__ == '__main__':
     unittest.main()