Browse Source

sandbox: add green colony

Bastien Sevajol 9 years ago
parent
commit
ca25716535

+ 1 - 1
config.py View File

@@ -2,7 +2,7 @@ from xyzworld.Context import Context as XyzContext
2 2
 from intelligine.synergy.Simulation import Simulation
3 3
 from intelligine.display.Pygame import Pygame
4 4
 from intelligine.display.pygame.visualisation import visualisation as pygame_visualisation
5
-from intelligine.sandbox.redblue.red_blue_colonys import collections
5
+from intelligine.sandbox.colored.colors_colonys import collections
6 6
 
7 7
 """
8 8
  TODO:

BIN
intelligine/display/pygame/image/dead_green_ant.png View File


BIN
intelligine/display/pygame/image/green_ant.png View File


+ 19 - 2
intelligine/display/pygame/visualisation.py View File

@@ -2,8 +2,9 @@ from xyworld.display.object.pygame.PygameImage import PygameImage
2 2
 from xyworld.display.object.pygame.DirectionnedImage import DirectionnedImage
3 3
 from intelligine.synergy.object.Bug import Bug
4 4
 from intelligine.synergy.object.ant.Ant import Ant
5
-from intelligine.sandbox.redblue.BlueAnt import BlueAnt
6
-from intelligine.sandbox.redblue.RedAnt import RedAnt
5
+from intelligine.sandbox.colored.BlueAnt import BlueAnt
6
+from intelligine.sandbox.colored.RedAnt import RedAnt
7
+from intelligine.sandbox.colored.GreenAnt import GreenAnt
7 8
 from intelligine.synergy.object.Rock import Rock
8 9
 from os import getcwd
9 10
 from synergine.metas import metas
@@ -14,8 +15,10 @@ from intelligine.cst import PREVIOUS_DIRECTION
14 15
 ant = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/ant.png')
15 16
 dead_ant = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/dead_ant.png')
16 17
 red_ant = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/red_ant.png')
18
+green_ant = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/green_ant.png')
17 19
 blue_ant = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/blue_ant.png')
18 20
 dead_red_ant = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/dead_red_ant.png')
21
+dead_green_ant = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/dead_green_ant.png')
19 22
 dead_blue_ant = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/dead_blue_ant.png')
20 23
 bug = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/ant.png')
21 24
 rock = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/rock.png')
@@ -23,6 +26,7 @@ rock = PygameImage.from_filepath(getcwd()+'/intelligine/display/pygame/image/roc
23 26
 directions_ant = DirectionnedImage(ant)
24 27
 directions_red_ant = DirectionnedImage(red_ant)
25 28
 directions_blue_ant = DirectionnedImage(blue_ant)
29
+directions_green_ant = DirectionnedImage(green_ant)
26 30
 
27 31
 def bug_direction(bug):
28 32
     if bug.get_life_points() <= 0:
@@ -51,6 +55,15 @@ def blue_ant_direction(bug):
51 55
         previous_direction = 14
52 56
     return directions_blue_ant.get_for_direction(previous_direction)
53 57
 
58
+def green_ant_direction(bug):
59
+    if bug.get_life_points() <= 0:
60
+        return dead_green_ant
61
+    try:
62
+        previous_direction = metas.value.get(PREVIOUS_DIRECTION, bug.get_id())
63
+    except KeyError:
64
+        previous_direction = 14
65
+    return directions_green_ant.get_for_direction(previous_direction)
66
+
54 67
 visualisation = {
55 68
     'window': {},
56 69
     'objects': {
@@ -62,6 +75,10 @@ visualisation = {
62 75
             'default': blue_ant,
63 76
             'callbacks': [blue_ant_direction]
64 77
         },
78
+        GreenAnt: {
79
+            'default': green_ant,
80
+            'callbacks': [green_ant_direction]
81
+        },
65 82
         Ant: {
66 83
             'default': ant,
67 84
             'callbacks': [bug_direction]

intelligine/sandbox/redblue/BlueAnt.py → intelligine/sandbox/colored/BlueAnt.py View File


intelligine/sandbox/redblue/BlueColonyConfiguration.py → intelligine/sandbox/colored/BlueColonyConfiguration.py View File

@@ -1,5 +1,5 @@
1 1
 from intelligine.synergy.ColonyConfiguration import ColonyConfiguration
2
-from intelligine.sandbox.redblue.BlueAnt import BlueAnt
2
+from intelligine.sandbox.colored.BlueAnt import BlueAnt
3 3
 
4 4
 
5 5
 class BlueColonyConfiguration(ColonyConfiguration):

+ 4 - 0
intelligine/sandbox/colored/GreenAnt.py View File

@@ -0,0 +1,4 @@
1
+from intelligine.synergy.object.ant.Ant import Ant
2
+
3
+class GreenAnt(Ant):
4
+    pass

+ 8 - 0
intelligine/sandbox/colored/GreenColonyConfiguration.py View File

@@ -0,0 +1,8 @@
1
+from intelligine.synergy.ColonyConfiguration import ColonyConfiguration
2
+from intelligine.sandbox.colored.GreenAnt import GreenAnt
3
+
4
+
5
+class GreenColonyConfiguration(ColonyConfiguration):
6
+
7
+    _start_position = (0, 70, 70)
8
+    _ant_class = GreenAnt

intelligine/sandbox/redblue/RedAnt.py → intelligine/sandbox/colored/RedAnt.py View File


intelligine/sandbox/redblue/RedColonyConfiguration.py → intelligine/sandbox/colored/RedColonyConfiguration.py View File

@@ -1,8 +1,8 @@
1 1
 from intelligine.synergy.ColonyConfiguration import ColonyConfiguration
2
-from intelligine.sandbox.redblue.RedAnt import RedAnt
2
+from intelligine.sandbox.colored.RedAnt import RedAnt
3 3
 
4 4
 
5 5
 class RedColonyConfiguration(ColonyConfiguration):
6 6
 
7
-    _start_position = (0, 70, 20)
7
+    _start_position = (0, 20, 70)
8 8
     _ant_class = RedAnt

+ 11 - 0
intelligine/sandbox/colored/colors_colonys.py View File

@@ -0,0 +1,11 @@
1
+from intelligine.sandbox.colored.RedColonyConfiguration import RedColonyConfiguration
2
+from intelligine.sandbox.colored.BlueColonyConfiguration import BlueColonyConfiguration
3
+from intelligine.sandbox.colored.GreenColonyConfiguration import GreenColonyConfiguration
4
+from intelligine.synergy.Colony import Colony
5
+from intelligine.synergy.Rocks import Rocks
6
+from intelligine.synergy.RocksConfiguration import RocksConfiguration
7
+
8
+collections = [Colony(BlueColonyConfiguration()), \
9
+               Colony(RedColonyConfiguration()), \
10
+               Colony(GreenColonyConfiguration()), \
11
+               Rocks(RocksConfiguration())]

+ 0 - 7
intelligine/sandbox/redblue/red_blue_colonys.py View File

@@ -1,7 +0,0 @@
1
-from intelligine.sandbox.redblue.RedColonyConfiguration import RedColonyConfiguration
2
-from intelligine.sandbox.redblue.BlueColonyConfiguration import BlueColonyConfiguration
3
-from intelligine.synergy.Colony import Colony
4
-from intelligine.synergy.Rocks import Rocks
5
-from intelligine.synergy.RocksConfiguration import RocksConfiguration
6
-
7
-collections = [Colony(BlueColonyConfiguration()), Colony(RedColonyConfiguration()), Rocks(RocksConfiguration())]

+ 7 - 1
intelligine/synergy/RocksConfiguration.py View File

@@ -11,16 +11,22 @@ class RocksConfiguration(Configuration):
11 11
 
12 12
       for i in range(100):
13 13
           rocks_positions.append((0, 0+i, 0))
14
-          rocks_positions.append((0, 0+i, 50))
14
+          if i is not 75:
15
+              rocks_positions.append((0, 0+i, 50))
16
+          rocks_positions.append((0, 0+i, 100))
15 17
 
16 18
       for i in range(50):
17 19
           rocks_positions.append((0, 0, 0+i))
18 20
           if i is not 25:
19 21
               rocks_positions.append((0, 50, 0+i))
22
+          rocks_positions.append((0, 100, 50+i))
23
+          rocks_positions.append((0, 0, 50+i))
24
+          rocks_positions.append((0, 50, 50+i))
20 25
           rocks_positions.append((0, 100, 0+i))
21 26
 
22 27
       rocks_positions.append((0, 50, 50))
23 28
       rocks_positions.append((0, 100, 50))
29
+      rocks_positions.append((0, 100, 100))
24 30
 
25 31
       for rock_position in rocks_positions:
26 32
           rock = Rock()