예제 #1
0
        /// <summary>
        /// Create a new game using the specified list of moves
        /// </summary>
        /// <param name="chessBoardStarting">   Starting board or null if standard board</param>
        /// <param name="listMove">             List of moves</param>
        /// <param name="eNextMoveColor">       Color starting to play</param>
        /// <param name="strWhitePlayerName">   Name of the player playing white pieces</param>
        /// <param name="strBlackPlayerName">   Name of the player playing black pieces</param>
        /// <param name="eWhitePlayerType">     Type of player playing white pieces</param>
        /// <param name="eBlackPlayerType">     Type of player playing black pieces</param>
        /// <param name="spanPlayerWhite">      Timer for white</param>
        /// <param name="spanPlayerBlack">      Timer for black</param>
        public override void CreateGameFromMove(ChessBoard chessBoardStarting,
                                                List <ChessBoard.MovePosS> listMove,
                                                ChessBoard.PlayerColorE eNextMoveColor,
                                                string strWhitePlayerName,
                                                string strBlackPlayerName,
                                                PgnParser.PlayerTypeE eWhitePlayerType,
                                                PgnParser.PlayerTypeE eBlackPlayerType,
                                                TimeSpan spanPlayerWhite,
                                                TimeSpan spanPlayerBlack)
        {
            base.CreateGameFromMove(chessBoardStarting,
                                    listMove,
                                    eNextMoveColor,
                                    strWhitePlayerName,
                                    strBlackPlayerName,
                                    eWhitePlayerType,
                                    eBlackPlayerType,
                                    spanPlayerWhite,
                                    spanPlayerBlack);
            if (eWhitePlayerType == PgnParser.PlayerTypeE.Program)
            {
                if (eBlackPlayerType == PgnParser.PlayerTypeE.Program)
                {
                    Father.PlayingMode = MainWindow.PlayingModeE.ComputerAgainstComputer;
                }
                else
                {
                    Father.PlayingMode             = MainWindow.PlayingModeE.PlayerAgainstComputer;
                    Father.m_eComputerPlayingColor = ChessBoard.PlayerColorE.White;
                }
            }
            else if (eBlackPlayerType == PgnParser.PlayerTypeE.Program)
            {
                Father.PlayingMode             = MainWindow.PlayingModeE.PlayerAgainstComputer;
                Father.m_eComputerPlayingColor = ChessBoard.PlayerColorE.Black;
            }
            else
            {
                Father.PlayingMode = MainWindow.PlayingModeE.PlayerAgainstPlayer;
            }
            Father.SetCmdState();

            Father.m_chessCtl.CommentBoard.SetPlayers(strWhitePlayerName + " [White] - " + strBlackPlayerName + " [Black]");
        }
예제 #2
0
 //*********************************************************     
 //
 /// <summary>
 /// Create a new game using the specified list of moves
 /// </summary>
 /// <param name="chessBoardStarting">   Starting board or null if standard board</param>
 /// <param name="listMove">             List of moves</param>
 /// <param name="eNextMoveColor">       Color starting to play</param>
 /// <param name="strWhitePlayerName">   Name of the player playing white pieces</param>
 /// <param name="strBlackPlayerName">   Name of the player playing black pieces</param>
 /// <param name="eWhitePlayerType">     Type of player playing white pieces</param>
 /// <param name="eBlackPlayerType">     Type of player playing black pieces</param>
 /// <param name="spanPlayerWhite">      Timer for white</param>
 /// <param name="spanPlayerBlack">      Timer for black</param>
 //  
 //*********************************************************     
 public virtual void CreateGameFromMove(ChessBoard                   chessBoardStarting,
                                        List<ChessBoard.MovePosS>    listMove,
                                        ChessBoard.PlayerColorE      eNextMoveColor,
                                        string                       strWhitePlayerName,
                                        string                       strBlackPlayerName,
                                        PgnParser.PlayerTypeE        eWhitePlayerType,
                                        PgnParser.PlayerTypeE        eBlackPlayerType,
                                        TimeSpan                     spanPlayerWhite,
                                        TimeSpan                     spanPlayerBlack) {
     m_board.CreateGameFromMove(chessBoardStarting,
                                listMove,
                                eNextMoveColor);
     if (m_moveListUI != null) {
         m_moveListUI.Reset(m_board);
     }
     WhitePlayerName = strWhitePlayerName;
     BlackPlayerName = strBlackPlayerName;
     WhitePlayerType = eWhitePlayerType;
     BlackPlayerType = eBlackPlayerType;
     OnUpdateCmdState(System.EventArgs.Empty);
     m_gameTimer.ResetTo(m_board.NextMoveColor,
                         spanPlayerWhite.Ticks,
                         spanPlayerBlack.Ticks);
     m_gameTimer.Enabled = true;
     Invalidate();
 }
예제 #3
0
 /// <summary>
 /// Class Ctor
 /// </summary>
 public ChessBoardControl()
 {
     InitializeComponent();
     m_iFlashing                 = 0;
     m_board                     = new ChessBoard(this);
     if (!m_board.ReadBook("book.bin")) {
         m_board.ReadBookFromResource("SrcChess2.Book.bin");
     }
     m_ptSelectedCell            = new IntPoint(-1, -1);
     m_bAutoSelection            = true;
     m_gameTimer                 = new GameTimer();
     m_gameTimer.Enabled         = false;
     m_gameTimer.Reset(m_board.NextMoveColor);
     m_strWhitePlayerName        = "Player 1";
     m_strBlackPlayerName        = "Player 2";
     m_eWhitePlayerType          = PgnParser.PlayerTypeE.Human;
     m_eBlackPlayerType          = PgnParser.PlayerTypeE.Human;
     InitCell();
 }
예제 #4
0
 //*********************************************************     
 //
 /// <summary>
 /// Class constructor
 /// </summary>
 //  
 //*********************************************************     
 public ChessControl() {
     m_board                     = new ChessBoard(this);
     m_board.ReadBook("book.bin");
     m_ptSelectedCase.X          = -1;
     m_ptSelectedCase.Y          = -1;
     m_bAutoSelection            = true;
     m_colorInfo.m_colLiteCase   = Color.DarkGray;
     m_colorInfo.m_colDarkCase   = Color.DarkRed;
     m_colorInfo.m_colBlackPiece = Color.Black;
     m_colorInfo.m_colWhitePiece = Color.FromArgb(235, 235, 235);
     InitializeComponent();
     m_gameTimer                 = new GameTimer();
     m_gameTimer.Enabled         = false;
     m_gameTimer.Reset(m_board.NextMoveColor);
     m_strWhitePlayerName        = "Player 1";
     m_strBlackPlayerName        = "Player 2";
     m_eWhitePlayerType          = PgnParser.PlayerTypeE.Human;
     m_eBlackPlayerType          = PgnParser.PlayerTypeE.Human;
     CreateDrawingObjects();
 }