23 lines
487 B
Dart
23 lines
487 B
Dart
import 'package:boardgames_core/commons.dart';
|
|
|
|
// Hexagon | Square | Circle | ...
|
|
abstract class Geometry {
|
|
const Geometry();
|
|
bool isOnBoard(CellPosition position);
|
|
}
|
|
|
|
class Rectangular extends Geometry {
|
|
final int columns;
|
|
final int rows;
|
|
|
|
const Rectangular(this.columns, this.rows);
|
|
|
|
@override
|
|
bool isOnBoard(CellPosition position) {
|
|
return position.column >= 0 &&
|
|
position.row >= 0 &&
|
|
position.column < columns &&
|
|
position.row < rows;
|
|
}
|
|
}
|