Complete game

This commit is contained in:
drewjcooper
2023-01-28 16:30:49 +11:00
parent 3e88424a52
commit 3f2dd9f0a9
8 changed files with 131 additions and 116 deletions

15
72_Queen/csharp/Move.cs Normal file
View File

@@ -0,0 +1,15 @@
namespace Queen;
internal record struct Move(int Diagonal, int Row)
{
public static readonly Move Left = new(1, 0);
public static readonly Move DownLeft = new(2, 1);
public static readonly Move Down = new(1, 1);
public bool IsValid => Diagonal > 0 && (IsLeft || IsDown || IsDownLeft);
private bool IsLeft => Row == 0;
private bool IsDown => Row == Diagonal;
private bool IsDownLeft => Row * 2 == Diagonal;
public static Move operator *(Move move, int scale) => new(move.Diagonal * scale, move.Row * scale);
}