इस प्रोजेक्ट के बारे में

यह रिपॉज़िटरी एक गो (Golang) शतरंज लाइब्रेरी है जो सामान्य शतरंज उपयोगिताओं को पैकेजों के एक सेट के रूप में प्रदान करती है। यह notnil/chess का एक फोर्क है, जिसे /v2 नेमस्पेस के अंतर्गत बनाए रखा जाता है, जिसका ध्यान एलोकेशन्स को कम करने, प्रदर्शन सुधारने और परीक्षण कवरेज बढ़ाने पर है। मुख्य क्षमताओं में बिटबोर्ड्स का उपयोग करके चाल जनरेशन, टर्न प्रबंधन, चेकमेट और ड्रॉ का पता लगाना, और सीरियलाइज़ेशन/डीसीरियलाइज़ेशन शामिल हैं। समर्थित फॉर्मेट्स में PGN (टैग पेयर्स, कमेंट्स, कमांड एनोटेशन्स, और बड़े डेटाबेस के लिए एक स्ट्रीमिंग Scanner के साथ, वैकल्पिक रूप से वेरिएशन्स का विस्तार करते हुए) और FEN शामिल हैं। कई नोटेशन्स समर्थित हैं: Algebraic, Long Algebraic, और UCI। गेम परिणाम प्रबंधन में चेकमेट, स्टेलमेट, रेज़िग्नेशन, ड्रॉ ऑफर्स, थ्रीफोल्ड और फाइवफोल्ड रिपिटिशन, फिफ्टी-मूव और सेवेंटी-फाइव-मूव नियम, और अपर्याप्त सामग्री शामिल हैं। मूव APIs वैलिडेटेड और असुरक्षित उच्च-प्रदर्शन वेरिएंट्स (UnsafeMove, UnsafePushNotationMove) में आते हैं, जिसमें README वैलिडेशन छोड़ने पर क्रमशः लगभग 1.5x और 1.1x गति वृद्धि का उल्लेख करता है। अतिरिक्त पैकेजों में एक SVG शतरंज बोर्ड इमेज जनरेटर, एक ओपनिंग बुक एक्सप्लोरर, और एक Universal Chess Interface (UCI) क्लाइंट शामिल है जो Stockfish जैसे बाहरी इंजनों को चला सकता है, जैसा कि एक सेल्फ-प्ले उदाहरण में दिखाया गया है। एक Draw() मेथड यूनिकोड शतरंज प्रतीकों के साथ पोज़िशन्स को रेंडर करता है। इंस्टॉलेशन go get github.com/corentings/chess/v2 के माध्यम से किया जाता है। README बेंचमार्क्स का दस्तावेज़ीकरण करता है और बताता है कि लाइब्रेरी शतरंज बॉट्स द्वारा संभावित उपयोग के लिए प्रदर्शन-ट्यून्ड है। यह मुख्य रूप से लेखक की अपनी परियोजनाओं के लिए बनाए रखी जाती है और समुदाय के साथ साझा की जाती है; योगदान, इश्यूज़ और पुल रिक्वेस्ट्स का स्वागत है।