-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProgram.cs
55 lines (47 loc) · 1.9 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System;
using Board;
using Chess;
namespace ChessInConsole
{
class Program
{
static void Main(string[] args)
{
try
{
ChessMatch chessMatch = new ChessMatch();
while (!chessMatch.EndMatch)
{
try
{
Console.Clear();
Screen.PrintChessMatch(chessMatch);
Console.Write("\nEnter origin coordinate of piece: ");
Position origin = Screen.ReadPosition().ChessToPosition();
chessMatch.ValidatinOriginPosition(origin);
bool[,] possiblePositions = chessMatch.Board.PiecePosition(origin).PossibleMovements();
Console.Clear();
Screen.BoardView(chessMatch.Board, possiblePositions);
Console.WriteLine($"\nTurno: {chessMatch.Turn}\n" +
$"Waiting move from: {chessMatch.PlayerColor}");
Console.Write("\nEnter destination coordinate of piece: ");
Position destination = Screen.ReadPosition().ChessToPosition();
chessMatch.ValidatinDestinationPosition(origin, destination);
chessMatch.MakeMove(origin, destination);
}
catch (BoardException exception)
{
Console.WriteLine($"\nError! {exception.Message}\nPress enter to continue!");
Console.ReadLine();
}
}
Console.Clear();
Screen.PrintChessMatch(chessMatch);
}
catch (BoardException exception)
{
Console.WriteLine($"\nError! {exception.Message}");
}
}
}
}