GardenPlanner/garden_planner/lib/beet.dart

50 lines
982 B
Dart
Raw Normal View History

2023-06-25 10:13:39 +02:00
import 'plant.dart';
class Beet {
List<BeetRow> beetrows= [BeetRow()];
void Add(BeetRow beetrow){
beetrows.add(beetrow);
}
}
class BeetRow {
List<Plant> plants= [];
double get verticalSpace {
return getMaxVerticalSpace(this);
}
double get horizontalSpace {
return plants.map((plant) => plant.horizontalSpace)
.reduce((value, element) => value+=element);
}
void Add(Plant plant){
plants.add(plant);
}
}
double getMaxVerticalSpace(BeetRow beetrow) {
double maxVerticalSpace = 0;
for (var plant in beetrow.plants) {
if (plant.verticalSpace > maxVerticalSpace) {
maxVerticalSpace = plant.verticalSpace;
}
}
return maxVerticalSpace;
}
double getMaxHorizontalSpace(Beet beet) {
double maxHorizontalSpace = 0;
for (var beetrow in beet.beetrows) {
if (beetrow.horizontalSpace > maxHorizontalSpace) {
maxHorizontalSpace = beetrow.horizontalSpace;
}
}
return maxHorizontalSpace;
}