import 'package:rules_of_living/Rule.dart'; class Cell { bool state; List surviveRules = new List(); List birthRules = new List(); Cell([bool state = false]) : this.state = state; void update(int neighbors) { bool newState = false; if (state == true) { surviveRules.forEach((Rule rule) { if (rule.evaluate(neighbors) == true) newState = true; }); } else { birthRules.forEach((Rule rule) { if (rule.evaluate(neighbors) == true) newState = true; }); } state = newState; } }