Thư viện xem cờ mở hoặc thư viện xem pgn


15

Có ai quen thuộc với bất kỳ thư viện cờ vua nguồn mở nào trong bất kỳ ngôn ngữ nào có thể thực hiện bất kỳ thao tác nào sau đây không:

  • phân tích PGN và / hoặc FEN
  • tính toán cờ vua hợp lệ dựa trên vị trí
  • xử lý toàn bộ trò chơi cờ vua

BIÊN TẬP:

Xin lỗi, tôi nên rõ ràng hơn. Tôi không tìm kiếm phần mềm nguồn mở, tôi đang tìm các thư viện lập trình nguồn mở.

Câu trả lời:


9

Cá kho

Stockfish ( trang webgithub ) là một công cụ UCI mã nguồn mở và rất mạnh . Như vậy, nó có thể làm tất cả những gì bạn yêu cầu, nhưng thường yêu cầu GUI để làm như vậy. Tuy nhiên, bạn cũng có thể truy cập tất cả các chức năng thông qua một dấu nhắc lệnh / shell.


11

Xảo trá

Crafty là một chương trình cờ vua mạnh mẽ và có thể được sử dụng với Winboard, Xboard và Scid. Vì vậy, nó có sẵn cho tất cả các hệ điều hành chính.

Vết bẩn

Scid có thể duy trì cơ sở dữ liệu của các trò chơi cờ vua, bạn có thể phân tích (kết thúc) trò chơi. Phần mềm có sẵn cho tất cả các hệ điều hành chính.

Xboard

Xboard là giao diện người dùng với Internet Chess Server. Nó sử dụng Hệ thống X Windows, vì vậy tôi cho rằng điều này chỉ chạy trong GNU / Linux. Xboard có thể được sử dụng như một người xem và hỗ trợ tất cả các hình thức cờ vua.


10

Kim tự tháp

Là một khách hàng cờ vua được xây dựng bằng Python. Bạn có thể sử dụng các thư viện logic cờ vua mà không gặp nhiều rắc rối.

Là những ví dụ về cách bạn có thể sử dụng các thư viện để điều khiển động cơ cờ vua, nhưng bạn cũng có thể chỉ sử dụng logic cờ vua:

from pychess.Utils.Board import Board
from pychess.Utils.lutils.lmove import toSAN
from pychess.Utils.lutils.lmovegen import genAllMoves
board = Board(setup=True).board
for move in genAllMoves (board):
    print (toSAN (board, move)))

Nó rất nhanh, vì nó được sử dụng cho công cụ tích hợp và nó có nhiều tính năng nâng cao như phân tích danh sách dài các chuyển động SAN, tạo ra các kiểm tra trốn tránh và đánh giá trao đổi tĩnh (XEM).


Cảm ơn đã chia sẻ, trông rất thú vị. Những gì ở trên làm gì? Một đoạn mã tương tự có thể nhập tệp pgn từ đĩa và in tất cả các di chuyển trong một vòng lặp tương tự không? Nó có thư viện để xuất html không? Có tài liệu nào có thể giúp làm loại kịch bản tương tự không?
Joe

Và kiểm tra liên kết, có vẻ như công cụ thực tế không chạy trên Windows - chưa. Bạn có nghĩ rằng đoạn mã trên sẽ chạy trên Windows ở chế độ không đầu không?
Joe

1
Đoạn mã trên in ra tất cả các chuyển động có thể có cho màu trắng ở vị trí mặc định, sử dụng Ký hiệu đại số chuẩn. Di chuyển phân tích cú pháp cũng dễ dàng với cùng một vài mô-đun. Nếu dự án của bạn là GPL, tôi sẽ chỉ sao chép toàn bộ mô-đun lutils, đó là Python thuần túy và không yêu cầu bất kỳ xử lý quy trình cụ thể nào của Linux.
Thomas Ahle
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.