Açık kaynak kodlu satranç oyunları veya pgn görüntüleme kütüphaneleri


15

Aşağıdakilerden herhangi birini yapabilen herhangi bir dilde herhangi bir açık kaynak satranç kütüphanesine aşina olan var mı:

  • PGN'leri ve / veya FEN'leri ayrıştırma
  • pozisyona göre geçerli satranç hareketlerini hesapla
  • satranç oyununun tamamını işlemek

DÜZENLE:

Üzgünüm, daha açık olmalıyım. Açık kaynaklı yazılım aramıyorum, açık kaynaklı programlama kütüphaneleri arıyorum.

Yanıtlar:


9

kurutulmuş tuzsuz balık

Stockish ( web sitesi ve github ) açık kaynaklı ve çok güçlü bir UCI motorudur . Bu nedenle, istediğiniz her şeyi yapabilir, ancak genellikle bunu yapmak için bir GUI gerektirir. Ancak tüm işlevlere komut istemi / kabuk aracılığıyla da erişebilirsiniz.


11

Kurnaz

Crafty güçlü bir satranç programıdır ve Winboard, Xboard ve Scid ile kullanılabilir. Böylece tüm büyük işletim sistemleri için kullanılabilir.

Scid

Scid , satranç oyunlarının veritabanlarını koruyabilir, oyunları analiz edebilir (bitirebilir). Yazılım tüm büyük işletim sistemleri için kullanılabilir.

xboard

Xboard , İnternet Satranç Sunucusu için bir kullanıcı arayüzüdür. X Windows Sistemini kullanıyor, bu yüzden bunun sadece GNU / Linux altında çalıştığını varsayıyorum. Xboard izleyici olarak kullanılabilir ve her türlü satrancı destekler.


10

pychess

Python'da yerleşik bir satranç istemcisidir. Satranç mantığı kütüphanelerini çok sorunsuzca kullanabilirsiniz.

Kütüphaneleri satranç motorlarını kontrol etmek için nasıl kullanabileceğinize örnektir, ancak sadece satranç mantığını da kullanabilirsiniz:

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

Yerleşik motor için kullanıldığından çok hızlıdır ve SAN hareketlerinin uzun listesini ayrıştırma, çeklerden kaçınma ve statik değişim değerlendirmesi (SEE) gibi birçok gelişmiş özelliğe sahiptir.


Paylaştığınız için teşekkürler, çok ilginç görünüyor. Yukarıdakiler ne yapar? Benzer bir snippet, bir pgn dosyasını diskten alabilir ve tüm hareketleri benzer bir döngüde yazdırabilir mi? Html ihraç etmek için kütüphaneleri var mı? Benzer tür komut dosyaları yazmanıza yardımcı olacak belgeler var mı?
Joe

Ve bağlantıyı kontrol etmek, gerçek araç henüz Windows'ta çalışmıyor gibi görünüyor. Yukarıdaki kodun Windows'ta başsız modda çalışacağını düşünüyor musunuz?
Joe

1
Yukarıdaki kod, Standart Cebir Gösterimi'ni kullanarak beyaz için olası tüm hareketleri varsayılan konumda yazdırır. Aynı çift modülle hareketleri ayrıştırmak da kolaydır. Projeniz GPL olsaydı, sadece saf Python olan ve herhangi bir Linux'a özgü işlem işleme gerektirmeyen tüm lutils modülünü kopyalardım.
Thomas Ahle
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.