static void Main(string[] args) { var move = new MoveService(); Utils.InitPlayers(); Console.WriteLine(""); var player = Utils.SelectStartPlayer(); bool playerWon = false; while (playerWon == false) { var possibleToMove = move.GetAllAvailablePoints(player.OrderNumber); if (possibleToMove.Count() == 0) { player.Learn(); player = Utils.SelectNextPlayer(player.OrderNumber); player.GamesWon += 1; playerWon = true; return; } if (player != Utils.PlayerTwo) { new BuildBoard().CreateBoard(); Pawn point; do { var pawns = Utils.SelectPawnsByPlayer(player.OrderNumber).Where(x => !x.Removed).ToList(); pawns.ForEach(x => { Console.WriteLine($"{x.PawnId} : {x.Standing.X}x{x.Standing.Y}"); }); Console.WriteLine("CHOOSE PAWN"); var pawn = Utils.SelectPawn(int.Parse(Console.ReadLine())); Console.WriteLine("CHOOSE DIRECTION: 0:Forward, 1:Left, 2:Right"); point = move.MoveViaDirection(pawn, move.Direction(int.Parse(Console.ReadLine()))); } while (point == null || playerWon); } else { var pawn = move.MoveRandom(player.OrderNumber); var pawns = Utils.SelectPawnsByPlayer(player.OrderNumber).Where(x => !x.Removed).ToList(); Console.WriteLine($"{player} - {pawn.PawnId} moved to x{pawn.Standing.X} y{pawn.Standing.Y}"); } playerWon = Utils.PlayerWon(player.OrderNumber); if (playerWon == false) { player = Utils.SelectNextPlayer(player.OrderNumber); } else { Console.WriteLine($"{player} Won the game"); Console.ReadLine(); } } }
public void hej() { var move = new MoveService(); Utils.InitPlayers(); var pawn1 = Utils.SelectPawn(1); var player = Utils.SelectStartPlayer(); move.MoveViaDirection(pawn1, DirectionType.Forward); IPlayer playerWon = null; do { player = Utils.SelectNextPlayer(player.OrderNumber); if (player != Utils.PlayerTwo) { var possibleToMove = move.GetAllAvailablePoints(player.OrderNumber); if (possibleToMove is null) { player = Utils.SelectNextPlayer(player.OrderNumber); player.GamesWon += 1; playerWon = player; } else { Pawn point; do { point = move.MoveViaDirection(pawn1, DirectionType.Forward); } while (point == null); } } else { var possibleToMove = move.GetAllAvailablePoints(player.OrderNumber); if (possibleToMove is null) { player = Utils.SelectNextPlayer(player.OrderNumber); player.GamesWon += 1; playerWon = player; } move.MoveRandom(player.OrderNumber); } } while (playerWon is null); }