|
@@ -34,11 +34,29 @@ func create_font():
|
|
|
default_font = label.get_font("font")
|
|
|
|
|
|
|
|
|
+func color_from_life(n):
|
|
|
+ var x = float(n % 256) / 255
|
|
|
+ if (n < 256):
|
|
|
+ return Color(x, 1.0, 1.0 - x)
|
|
|
+ elif (n < 512):
|
|
|
+ return Color(1.0, 1.0 - x, x)
|
|
|
+ elif (n < 768):
|
|
|
+ return Color(1.0, 0.0, 1.0 - x)
|
|
|
+ else:
|
|
|
+ return Color(1.0, 0.0, 0.0)
|
|
|
+
|
|
|
+
|
|
|
func _ready():
|
|
|
create_font()
|
|
|
|
|
|
|
|
|
func _draw():
|
|
|
- for p in living_cells:
|
|
|
- draw_rect(Rect2(p * cell_size + rect_pad, cell_size - 2 * rect_pad), Color.red, true)
|
|
|
- draw_string(default_font, p * cell_size + label_offset, str(living_cells[p]))
|
|
|
+ var amount
|
|
|
+ var pos
|
|
|
+ var color
|
|
|
+ for cell in living_cells:
|
|
|
+ pos = cell * cell_size
|
|
|
+ amount = living_cells[cell]
|
|
|
+ color = color_from_life(amount)
|
|
|
+ draw_rect(Rect2(pos + rect_pad, cell_size - 2 * rect_pad), color, true)
|
|
|
+ draw_string(default_font, pos + label_offset, str(amount))
|