using PathFinding; using System.Collections.Generic; namespace Gameboard.ShogiUI.Sockets.Models { public static class MoveSets { public static readonly List King = new(8) { new PathFinding.Move(Direction.Up), new PathFinding.Move(Direction.Left), new PathFinding.Move(Direction.Right), new PathFinding.Move(Direction.Down), new PathFinding.Move(Direction.UpLeft), new PathFinding.Move(Direction.UpRight), new PathFinding.Move(Direction.DownLeft), new PathFinding.Move(Direction.DownRight) }; public static readonly List Bishop = new(4) { new PathFinding.Move(Direction.UpLeft, Distance.MultiStep), new PathFinding.Move(Direction.UpRight, Distance.MultiStep), new PathFinding.Move(Direction.DownLeft, Distance.MultiStep), new PathFinding.Move(Direction.DownRight, Distance.MultiStep) }; public static readonly List PromotedBishop = new(8) { new PathFinding.Move(Direction.Up), new PathFinding.Move(Direction.Left), new PathFinding.Move(Direction.Right), new PathFinding.Move(Direction.Down), new PathFinding.Move(Direction.UpLeft, Distance.MultiStep), new PathFinding.Move(Direction.UpRight, Distance.MultiStep), new PathFinding.Move(Direction.DownLeft, Distance.MultiStep), new PathFinding.Move(Direction.DownRight, Distance.MultiStep) }; public static readonly List GoldGeneral = new(6) { new PathFinding.Move(Direction.Up), new PathFinding.Move(Direction.UpLeft), new PathFinding.Move(Direction.UpRight), new PathFinding.Move(Direction.Left), new PathFinding.Move(Direction.Right), new PathFinding.Move(Direction.Down) }; public static readonly List Knight = new(2) { new PathFinding.Move(Direction.KnightLeft), new PathFinding.Move(Direction.KnightRight) }; public static readonly List Lance = new(1) { new PathFinding.Move(Direction.Up, Distance.MultiStep), }; public static readonly List Pawn = new(1) { new PathFinding.Move(Direction.Up) }; public static readonly List Rook = new(4) { new PathFinding.Move(Direction.Up, Distance.MultiStep), new PathFinding.Move(Direction.Left, Distance.MultiStep), new PathFinding.Move(Direction.Right, Distance.MultiStep), new PathFinding.Move(Direction.Down, Distance.MultiStep) }; public static readonly List PromotedRook = new(8) { new PathFinding.Move(Direction.Up, Distance.MultiStep), new PathFinding.Move(Direction.Left, Distance.MultiStep), new PathFinding.Move(Direction.Right, Distance.MultiStep), new PathFinding.Move(Direction.Down, Distance.MultiStep), new PathFinding.Move(Direction.UpLeft), new PathFinding.Move(Direction.UpRight), new PathFinding.Move(Direction.DownLeft), new PathFinding.Move(Direction.DownRight) }; public static readonly List SilverGeneral = new(4) { new PathFinding.Move(Direction.Up), new PathFinding.Move(Direction.UpLeft), new PathFinding.Move(Direction.UpRight), new PathFinding.Move(Direction.DownLeft), new PathFinding.Move(Direction.DownRight) }; } }