Add C# implementaion of 86 Target

This commit is contained in:
Andrew Cooper
2021-10-04 17:45:55 +11:00
parent 78154bc36e
commit 39ba532739
12 changed files with 399 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
using System;
namespace Target
{
internal class FiringRange
{
private readonly Random random;
public FiringRange()
{
random = new Random();
NextTarget();
}
public Point TargetPosition { get; private set; }
public void 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);
}
}
}