การเล่นหมากรุกแบบโอเพนซอร์สหรือห้องสมุดดู pgn


15

มีใครคุ้นเคยกับห้องสมุดหมากรุกโอเพนซอร์สในภาษาใด ๆ ที่สามารถทำสิ่งใดสิ่งหนึ่งต่อไปนี้:

  • แยกวิเคราะห์ PGN และ / หรือ FEN
  • คำนวณการย้ายหมากรุกที่ถูกต้องตามตำแหน่ง
  • ประมวลผลเกมหมากรุกทั้งหมด

แก้ไข:

ขออภัยฉันควรชัดเจนยิ่งขึ้น ฉันไม่ได้มองหาซอฟต์แวร์โอเพนซอร์ซฉันกำลังมองหาไลบรารีโปรแกรมมิงแบบโอเพนซอร์ส

คำตอบ:


9

Stockfish

Stockfish ( เว็บไซต์และGitHub ) เป็นโอเพนซอร์สและแข็งแรงมากเครื่องยนต์ UCI มันสามารถทำทุกอย่างที่คุณขอได้ แต่โดยทั่วไปแล้วจะต้องมี GUI เพื่อที่จะทำเช่นนั้น อย่างไรก็ตามคุณสามารถเข้าถึงฟังก์ชั่นทั้งหมดผ่าน command prompt / shell ได้เช่นกัน


11

เจ้าเล่ห์

Craftyเป็นโปรแกรมหมากรุกที่แข็งแกร่งและสามารถใช้กับ Winboard, Xboard และ Scid ดังนั้นจึงสามารถใช้งานได้กับระบบปฏิบัติการที่สำคัญทั้งหมด

SCID

Scidสามารถรักษาฐานข้อมูลของเกมหมากรุกคุณสามารถวิเคราะห์ (จบ) เกมซอฟต์แวร์นี้สามารถใช้ได้กับระบบปฏิบัติการที่สำคัญทั้งหมด

Xboard

Xboardเป็นส่วนต่อประสานผู้ใช้กับ Internet Chess Server มันใช้ระบบ X Windows ดังนั้นฉันคิดว่ามันจะทำงานภายใต้ GNU / Linux เท่านั้น Xboard สามารถใช้เป็นตัวแสดงและรองรับหมากรุกได้ทุกรูปแบบ


10

PyChess

เป็นไคลเอนต์หมากรุกที่สร้างขึ้นใน Python คุณสามารถใช้มันเป็นห้องสมุดตรรกะหมากรุกโดยไม่มีปัญหามาก

เป็นตัวอย่างของวิธีที่คุณอาจใช้ห้องสมุดเพื่อควบคุมเอ็นจิ้นหมากรุก แต่คุณสามารถใช้ตรรกะหมากรุกได้เช่นกัน:

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)))

มันเร็วมากเนื่องจากใช้สำหรับเครื่องยนต์ในตัวและมีคุณสมบัติขั้นสูงมากมายเช่นการแยกรายการยาวของการย้าย SAN สร้างการตรวจสอบการอพยพและการประเมินการแลกเปลี่ยนแบบคงที่ (SEE)


ขอบคุณสำหรับการแบ่งปันดูเหมือนว่าน่าสนใจมาก ข้างต้นทำอะไร? ข้อมูลโค้ดที่คล้ายกันสามารถนำเข้าไฟล์ pgn จากดิสก์และพิมพ์การเคลื่อนไหวทั้งหมดในลูปที่คล้ายกันได้หรือไม่ มีไลบรารีเพื่อส่งออก html หรือไม่ มีเอกสารที่จะช่วยในการทำสคริปต์ชนิดเดียวกันหรือไม่
โจ

และตรวจสอบลิงค์ดูเหมือนว่าเครื่องมือจริงไม่ได้ทำงานบน Windows - ยัง คุณคิดว่ารหัสข้างต้นจะทำงานบน Windows ในโหมดหัวขาดหรือไม่?
โจ

1
โค้ดด้านบนจะพิมพ์การเคลื่อนไหวที่เป็นไปได้ทั้งหมดสำหรับสีขาวในตำแหน่งเริ่มต้นโดยใช้สัญลักษณ์พีชคณิตมาตรฐาน การแยกวิเคราะห์การย้ายเป็นเรื่องง่ายด้วยโมดูลเดียวกัน หากโครงการของคุณเป็น GPL ฉันจะคัดลอกโมดูล lutils ทั้งหมดซึ่งเป็น Python แท้และไม่ต้องการการจัดการกระบวนการเฉพาะของ Linux
โทมัส Ahle
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.