PMU/lib/Lr2/Car.dart
2024-10-02 14:56:34 +04:00

55 lines
1.2 KiB
Dart

import 'dart:math';
enum Car{Lada, BMW, Skoda}
extension CarX on Car{
static List<Car> generateRandomCar(int n){
var rnd = Random();
return List.generate(n, (i) => Car.values[rnd.nextInt(Car.values.length)]);
}
}
class NewCar{
final String name;
double cost;
NewCar(this.name, this.cost);
String get info => 'New car: $name, cost: $cost';
}
class OldCar extends NewCar{
final int mileage;
OldCar(
super.name,
super.cost, {
required this.mileage
});
double costOldCar(cost, mileage){
return cost - (mileage * 0.7);
}
//String info() => 'Old car: $name, cost: $cost, mileage: $mileage';
}
void main(){
asynchronous();
}
Future<void> asynchronous() async{
for (int i = 1; i < 5; i++) {
List<Car> car = CarX.generateRandomCar(1);
final auto = NewCar('$car', i * 1000000);
await Future.delayed(
const Duration(milliseconds: 10),
() => print(auto.info),
);
final oldAuto = OldCar('$car', i * 1000000 - (i * 100000 * 0.7), mileage: i * 100000);
await Future.delayed(
const Duration(milliseconds: 20),
() => print(oldAuto.info),
);
print('');
}
}