neuropercolation/src/cellular_automaton/ca_cell.py

37 lines
1.2 KiB
Python
Raw Normal View History

2018-12-01 19:37:18 +00:00
class Cell:
2018-12-02 16:45:08 +00:00
def __init__(self, name: str, coordinate: list):
2018-12-01 19:37:18 +00:00
self.name = name
2018-12-02 16:45:08 +00:00
self.coordinate = coordinate
2018-12-01 19:37:18 +00:00
self.neighbours = []
2018-12-02 16:45:08 +00:00
self._status = [None, None]
self._dirty = False
2018-12-01 14:14:22 +00:00
2018-12-01 19:37:18 +00:00
def set_neighbours(self, neighbours: list):
self.neighbours = neighbours
2018-12-02 16:45:08 +00:00
def is_dirty(self):
return self._dirty
def set_dirty(self):
self._dirty = True
def release_dirty(self):
self._dirty = False
2018-12-02 16:45:08 +00:00
def set_status_for_iteration(self, new_status, iteration):
""" Will set the new status for Iteration.
:param new_status: The new status to set.
:param iteration: Uses the iteration index, to differ between current and next state.
:return True if status has changed.
2018-12-02 16:45:08 +00:00
"""
self._status[iteration % 2] = new_status
return self._status[0] != self._status[1]
2018-12-02 16:45:08 +00:00
def get_status_for_iteration(self, iteration):
""" Will return the status for the iteration.
:param iteration: Uses the iteration index, to differ between current and next state.
:return The status for this iteration.
"""
return self._status[iteration % 2]