【问题标题】:Chess move validation library [closed]国际象棋移动验证库[关闭]
【发布时间】:2009-09-28 11:05:04
【问题描述】:

是否有任何库可用于在 .NET 中验证国际象棋移动和模拟游戏?如果该库能够理解代数记法中的移动并且还提供用于移动的简单 API,那就太好了。例如,game.Move("E2","E4") 等。在第二种情况下,库应该能够为移动生成代数符号。 我不希望它移动或下棋等,只是一个用于游戏验证和游戏模拟的库。 有链接吗?

【问题讨论】:

    标签: .net validation chess


    【解决方案1】:

    看看C# Chess Game Starter Kit。它是一个 C# 开源应用程序,完全符合您的要求,并且可以免费用于商业用途。

    源码详细解释见:

    http://www.chessbin.com

    【讨论】:

      【解决方案2】:

      还有sharpchess 是开源的(在 GNU GPL 下)并为 .Net v2 编写 它有一个核心引擎和一个 WinForm GUI。虽然它确实会下国际象棋,但我相信您可能会剥离“游戏引擎”以留下一个外壳进行模拟。

      网站的一些要点

      * Graphical chess board.
      * Helpful high-lighting of legal chess moves, when clicking on a piece.
      * Move history displayed.
      * Undo/Redo moves.
      * Load/Save chess games during play.
      * Replay your saved games.
      * Paste FEN positions from the clipboard.
      

      国际象棋引擎功能

      * WinBoard compatible.
      * 0x88 board representation.
      * Opening book containing over 1300 varied opening positions.
      

      编程功能

      * A well-designed, and hopefully easy-to-understand, object-model that will enable other developers to quickly get involved in the project.
      

      【讨论】:

        【解决方案3】:

        我在github 上发布了我的chess-movement-validator

        例子:

        var board = Board.GetNewBoard();
        
        board.SetPiece<Rook>( ChessColor.White, 'A', 1 );
        
        var result = board.MovePiece( 'A', 1, 'A', 8 );
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-05-03
          • 2023-03-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-06
          • 2015-07-16
          相关资源
          最近更新 更多