Files
basic-computer-games/86_Target/csharp/FiringRange.cs
2022-03-05 15:43:11 +11:00

25 lines
662 B
C#

using Games.Common.Randomness;
namespace Target
{
internal class FiringRange
{
private readonly IRandom _random;
private Point _targetPosition;
public FiringRange(IRandom random)
{
_random = random;
}
public Point NextTarget() => _targetPosition = _random.NextPosition();
public Explosion Fire(Angle angleFromX, Angle angleFromZ, float distance)
{
var explosionPosition = new Point(angleFromX, angleFromZ, distance);
var targetOffset = explosionPosition - _targetPosition;
return new (explosionPosition, targetOffset);
}
}
}