منصوبے کے بارے میں
یہ ریپوزٹری ایک گو (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 بینچ مارکس کو دستاویز کرتا ہے اور بتاتا ہے کہ لائبریری ممکنہ طور پر شطرنج بوٹس کے استعمال کے لیے کارکردگی کے لحاظ سے بہتر بنائی گئی ہے۔ یہ بنیادی طور پر مصنف کے اپنے پروجیکٹس کے لیے برقرار رکھی جاتی ہے اور کمیونٹی کے ساتھ شیئر کی جاتی ہے؛ شراکتیں، مسائل، اور پل ریکویسٹس کا خیرمقدم ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.