Bläddra i källkod

lifegame cocos: resolve gui conflict with events

Bastien Sevajol 8 år sedan
förälder
incheckning
1123638bc5
1 ändrade filer med 8 tillägg och 2 borttagningar
  1. 8 2
      sandbox/life_game/gui.py

+ 8 - 2
sandbox/life_game/gui.py Visa fil

68
         self.grid_manager = GridManager(self, 32, border=2)
68
         self.grid_manager = GridManager(self, 32, border=2)
69
 
69
 
70
     def born(self, grid_position):
70
     def born(self, grid_position):
71
+        if grid_position in self.cells:
72
+            return  # cell can be added by gui
73
+
71
         cell = Sprite('resources/cells_l.png')
74
         cell = Sprite('resources/cells_l.png')
72
         cell.rotation = randint(0, 360)
75
         cell.rotation = randint(0, 360)
73
         self.grid_manager.scale_sprite(cell)
76
         self.grid_manager.scale_sprite(cell)
78
         self.add(cell)
81
         self.add(cell)
79
 
82
 
80
     def die(self, grid_position):
83
     def die(self, grid_position):
81
-        self.remove(self.cells[grid_position])
82
-        del self.cells[grid_position]
84
+        try:
85
+            self.remove(self.cells[grid_position])
86
+            del self.cells[grid_position]
87
+        except KeyError:
88
+            pass  # Cell can be removed by gui
83
 
89
 
84
 
90
 
85
 class MainLayer(ScrollableLayer):
91
 class MainLayer(ScrollableLayer):