واجهة الشطرنج العالمية

واجهة الشطرنج العالمية ( بالإنجليزية:Universal Chess Interface ) هي بروتوكول اتصال مفتوح الذي يمكّن محركات الشطرنج من التواصل مع واجهات المستخدم.

 تاريخ 
في نوفمبر 2000، تم إصدار بروتوكول UCI. صممه Rudolf Huberو Stefan Meyer-Kahlen ،مؤلف Shredder UCI ينافس«بروتوكول اتصال محرك الشطرنج» الذي تم تقديمه مع XBoard / WinBoard

في عام 2002 ،بدأت شركة Chessbase ، شركة برامج الشطرنج التي تسوق فريتز ، في دعم UCI، التي كانت مدعومة في السابق عن طريق عدد قليل من الواجهات والمحركات.

, من المعروف أن أكثر من 100محرك تدعم مباشرة UCI.

 تصميم 
حسب التصميم ، تقوم UCI بتعيين بعض المهام لواجهة المستخدم ( أي طبقة العرض التقديمي) والتي جرت العادة على التعامل معها من قبل المحرك (في طبقة الأعمال) نفسه. 

والأهم من ذلك ، عادة ما يتوقع أن يتم التعامل مع الكتاب الافتتاحي من قبل UI ، عن طريق مجرد اختيار الحركات للعب حتى يكون خارج الكتاب ، وعندها فقط قم بتشغيل المحرك للحساب في الموضع الناتج..لا يحدد UCI أي تنسيق على القرص للكتاب الافتتاحي . وعادة ما يكون للوحدات المختلفة أشكالها الخاصة.

بينما يمكن لواجهة المستخدم أيضاً تحمل مسؤولية التعامل مع قواعد طاولة نهاية اللعبة ،ويمكن القول إن من الأفضل التعامل مع هذا الأمر في المحرك نفسه ، لأن الحصول على معلومات عن قاعدة الجداول يمكن أن يكون مفيدا للنظر في المواقف المستقبلية المحتملة.

ويستخدم بروتوكول ستيفان - ماير كاهلن للتحركات الجبرية الطويلة في شريدر. "nullmove" مِنْ المحرّكِ إلى GUI يَجِبُ أَنْ يُرسلَ في 0000.

أمثلة:

 e2e4
 e7e5
 e1g1 (التبييت القصير الأبيض)
 e7e8q (للترقية)

 سمات 
المعلمة uci_limitst Strength يخبر المحركات التي تحتوي على هذه الميزة باللعب على مستوى أدنى . المعلمة uci_elo يحدد تقييم إيلو تصنيف Elo الذي سيهدف المحرك للعب فيه.

 المتغيرات 
تم تعديل UCI للعب بعض أنواع الشطرنج . بعض هؤلاء هم :

 واجهة شوغي العالمية (USI) ، لهجة شوغي ؛ 
 واجهة الشطرنج الصينية العالمية (UCCI) ، لهجة ل xiangqi .

كل من هذه البروتوكولات قد تحدد أيضًا متغيرات PGN و FEN. يقال أنه XBoard CECP يتطلب تغييرات أقل بكثير لدعم المتغيرات .

 مراجع 


 روابط خارجية 

 أحدث محركات UCI (فبراير 2014)
 صفحة تنزيل المواصفات الفنية الخاصة بالاتحاد الدولي للدراجات

تصنيف:شطرنج الحاسوب