28 lines
593 B
Dart
28 lines
593 B
Dart
import 'dart:math';
|
|
|
|
import 'package:collection/collection.dart';
|
|
|
|
abstract class RuleSet {
|
|
int checkRange;
|
|
|
|
bool checkSurvival(int neighbors);
|
|
bool checkBirth(int neighbors);
|
|
}
|
|
|
|
class Pattern<Point> extends DelegatingList<Point> {
|
|
final String _name;
|
|
Pattern(String name, List base)
|
|
: _name = name,
|
|
super(base);
|
|
|
|
String get name => _name;
|
|
}
|
|
|
|
class GameOfLife implements RuleSet {
|
|
int checkRange = 1;
|
|
|
|
bool checkSurvival(int neighbors) =>
|
|
neighbors == 2 || neighbors == 3 ? true : false;
|
|
bool checkBirth(int neighbors) => neighbors == 3 ? true : false;
|
|
}
|