public void Test_003() { var moves = new List <string>() { //white, Black - COLLECTION OF STRINGS TO REPRESENT MOVES "G1F3", "G8F6", "C2C4", "G7G6", "B1C3", "F8G7", "D1D4", "E8G8", //CASTLE "C1C4", "D7D5", "D1B3", "D5C4", //CAPTURE "B3C4", //CAPTURE }; ChessMove result = null; //will keep track of the moves and progress of game and be move-centric var gameMoves = new List <ChessMove>(); foreach (var move in moves) { if (ChessMove.Try(move, ref result)) { gameMoves.Add(result); } else { break; } } }
public void Test_003() { var moves = new List <string>() { // White, Black "G1F3", "G8F6", "C2C4", "G7G6", "B1C3", "F8G7", "D1D4", "E8G8", // castle "C1C4", "D7D5", "D1B3", "D5C4", // capture "B3C4", // capture, ... }; var printer = new BoardPrinter(); ChessMove result = null; var gameMoves = new List <ChessMove>(); foreach (var move in moves) { if (ChessMove.Try(move, ref result)) { Debug.WriteLine($""); Debug.WriteLine($"Move Number: {result.MoveNumber}"); Debug.WriteLine($"Origin: {result.Move.Substring(0, 2)}"); Debug.WriteLine($"Destination: {result.Move.Substring(2, 2)}"); Debug.WriteLine($""); printer.Show(result.Before); printer.Show(result.After); gameMoves.Add(result); } else { break; } } }