示例#1
0
void UTankTrack::DriveTrack(float CurrentThrottle)
{
	auto ForceApplied = CurrentThrottle * TrackMaxDrivingForce;
	auto Wheels = GetWheels();
	auto ForcePerWheel = ForceApplied / Wheels.Num();
	for (ASprungWheel* Wheel : Wheels)
	{
		Wheel->AddDrivingForce(ForcePerWheel);
	}
}
示例#2
0
static void BuildJeep()
{
	auto jeepBuilder = std::make_shared<pc::JeepBuilder>();
	pc::Director dir{ jeepBuilder };

	std::cout << std::endl << "Jeep" << std::endl;

	auto car = dir.ConstructCar();
	CHECK(car->GetBody().GetShape() == "SUV");
	CHECK(car->GetEngine().GetHorsePower() == 400);
	CHECK(car->GetWheels().at(0).GetSize() == 22);
	car->PrintSpecifications();

	std::cout << std::endl;
}
示例#3
0
static void BuildMitsubishi()
{
	auto mitsuBuilder = std::make_shared<pc::MitsubishiBuilder>();
	pc::Director dir{ mitsuBuilder };

	std::cout << std::endl << "Mitsubishi" << std::endl;

	auto car = dir.ConstructCar();
	CHECK(car->GetBody().GetShape() == "Coupe");
	CHECK(car->GetEngine().GetHorsePower() == 300);
	CHECK(car->GetWheels().at(0).GetSize() == 19);
	car->PrintSpecifications();

	std::cout << std::endl;
}