public static void Main(string[] args) { CurrentBoard = new Board(); CurrentGameStatus = GameStatus.Inactive; PieceMoves.InitiateChessPieceMoves(); PiecePseudoLegalMoves.GeneratePseudoLegalMoves(CurrentBoard); PieceLegalMoves.GenerateLegalMoves(CurrentBoard); EngineStopTokenSource = new CancellationTokenSource(); BoardOrientation = PieceColour.White; WhiteClock = new ChessClock(PieceColour.White, new TimeSpan(0, 30, 0)); BlackClock = new ChessClock(PieceColour.Black, new TimeSpan(0, 30, 0)); StrengthValue = 7; CurrentMode = GameMode.OnePlayer; CurrentGameHistory = new GameHistory(); Application.Init(); win = new MainWindow(); win.UpdateClock(WhiteClock); win.UpdateClock(BlackClock); win.InitWidgets(); win.Show(); Application.Run(); /* * UCITransceiver uci = new UCITransceiver ("./stockfish_6_x64"); * uci.Init (); * Console.WriteLine (uci.EngineName); * Console.WriteLine (uci.EngineAuthor); * uci.SendPosition ("rn2kbnr/ppq2pp1/2p1p2p/7P/3P4/3Q1NN1/PPP2PP1/R1B1K2R w KQkq - 0 11"); * uci.Go (); * Thread.Sleep (5000); * Console.WriteLine (uci.StopAndGetBestMove ()); * uci.Quit (); */ }
public static void ResetClock() { WhiteClock.Stop(); BlackClock.Stop(); WhiteClock = new ChessClock(PieceColour.White, new TimeSpan(0, 30, 0)); BlackClock = new ChessClock(PieceColour.Black, new TimeSpan(0, 30, 0)); win.UpdateClock(WhiteClock); win.UpdateClock(BlackClock); }
public static void SetClock(TimeSpan time) { WhiteClock.Stop(); BlackClock.Stop(); WhiteClock = new ChessClock(PieceColour.White, time); BlackClock = new ChessClock(PieceColour.Black, time); win.UpdateClock(WhiteClock); win.UpdateClock(BlackClock); }
public void UpdateClock(ChessClock clock) { if (clock.Colour == PieceColour.White) { WhiteClockLabel.Text = clock.TimeLeft.ToString("g"); } else { BlackClockLabel.Text = clock.TimeLeft.ToString("g"); } }