#pragma once
#include <math.h>
#include "Speed.h"
namespace DXFW
{
class 等速 : public Speed
{
public:
	等速( double 速度):
		Speed(速度)
	{}

	void Update(){}
};

class 加速 : public Speed
{
private:
	double accel;
public:
	加速( double 初速 , double 加速):
		Speed(初速),
		accel(加速)
	{}

	void Update()
	{
		speed += accel;
	}

	void Multi(double 倍率)
	{
		speed *= 倍率;
		accel *= 倍率;
	}
};
	
class 正波 : public Speed
{
private:
	double 角度;
	double 角速度;
public:
	正波( double 初速 , double 角速度 , double 初角 = 0):
		Speed(初速),
		角速度(角速度),
		角度(初角)
	{}

	double Get() const
	{
		return std::abs(std::sin( 角度 ) * speed);
	}

	void Update()
	{
		角度 += 角速度;
	}

	void Multi(double 倍率)
	{
		speed *= 倍率;
	}
};
}