التحقق من التدوين الجبري للشطرنج
Nbd2+ مكتوبة بصورة صحيحة: حصان من العمود b ينتقل إلى d2 ويعطي كش ملك. أدخل نقلة واحدة لتتأكد من أنها تتبع التدوين الجبري القياسي وترى القطعة والمربع الهدف والأسر والكش والترقية. مجانًا في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الترميز
- Nbd2+
- نوع النقلة
- piece
- القطعة
- N
- الوجهة
- d2
- عمود الأصل
- b
تتحقق هذه الأداة مما إذا كانت نقلة واحدة تتبع صياغة التدوين الجبري القياسي المعروف باسم SAN. وهي تتعرف على نقلات البيادق والقطع، والأخذ، وتحديد خانة الانطلاق عند الالتباس، والترقية، والتبييت، والكش، وكش مات. يقتصر الفحص عمداً على الصياغة؛ فلا يحتاج إلى وضعية رقعة ولا يدّعي أن النقلة قانونية في مباراة معينة. يمكنكم استعماله لاكتشاف النصوص سيئة الصياغة قبل حفظ بيانات الشطرنج أو استيرادها أو عرضها أو معالجتها.
الصيغ التي تتعرف عليها الأداة
يختصر التدوين الجبري القياسي نقلة الشطرنج في نص قصير منظم. تبدأ نقلة القطعة بأحد الأحرف الكبيرة K أو Q أو R أو B أو N، وقد يلي ذلك تحديد اختياري لخانة الانطلاق، ثم علامة أخذ اختيارية، ثم خانة وصول مثل e4 أو h8. أما نقلة البيدق فتحذف حرف القطعة؛ فالصيغة e4 تعني تقدماً عادياً، بينما تسجل exd5 أن بيدق عمود e أخذ على d5.
وتضيف الترقية علامة المساواة ثم Q أو R أو B أو N، كما في e8=Q أو fxg8=N. تقبل الأداة أيضاً O-O و O-O-O للتبييت القصير والطويل. تشير علامة الجمع في النهاية إلى الكش، وتشير علامة الشباك إلى المات.
حالة الأحرف مهمة لأن أحرف القطع كبيرة وأحرف الأعمدة صغيرة. تعرض النتيجة فئة النقلة وخانة الوصول وحالة الأخذ والكش أو المات، إلى جانب بيانات الانطلاق أو الترقية متى كانت موجودة في النص.
صحة الصياغة لا تثبت قانونية النقلة
تجيب الأداة عن سؤال محدد: هل يتخذ النص شكل نقلة SAN واحدة؟ وهي لا تستقبل الرقعة أو سجل النقلات أو صاحب الدور أو حقوق التبييت أو حالة الأخذ بالتجاوز، ولذلك لا تستطيع تقرير ما إذا كانت القطعة قادرة فعلاً على بلوغ الخانة المذكورة. فالصيغة Nf3 صحيحة نحوياً حتى لو لم يوجد في وضعية بعينها حصان يستطيع الوصول إلى f3.
وبالمثل، تقبل علامة الكش الموضوعة في مكانها الصحيح من دون إثبات أن ملك الخصم واقع تحت الهجوم. يفيد فصل الفحصين عند الاستيراد لأن خطأ الكتابة ومخالفة قواعد الشطرنج يحتاجان إلى رسالتين مختلفتين. يمكن رفض خانة وصول ناقصة، أو حرف قطعة صغير، أو علامة أخذ في موضع خاطئ، أو عمود غير صالح، أو لاحقة غير مدعومة من دون إعادة بناء المباراة.
بعد نجاح الفحص يمكنكم استخدام محرك يملك وضعية الرقعة للتحقق من القانونية. يؤكد الحقل valid بنية التدوين فقط.
استخدام النتيجة في التطبيقات ومسارات البيانات
أرسلوا نص نقلة واحداً بالضبط في الحقل notation. ترفض الأداة المسافات السابقة أو اللاحقة بدلاً من حذفها بصمت، مما يكشف البيانات غير النظيفة في أعمدة قواعد البيانات وعمليات الاستيراد سطراً بسطر. تحتفظ الاستجابة الناجحة بالنص الأصلي وتوفر حقولاً مستقرة يستطيع البرنامج قراءتها من دون تحليل SAN مرة أخرى.
تعرض نقلات القطع حرف SAN وخانة الوصول، ويُمثّل البيدق بالحرف P. أما check و mate فقيمتان منطقيتان منفصلتان.
حالات الاستخدام
تنظيف عمود نقلات مستورد
ارفضوا نصوص SAN المعيبة قبل إدخالها في قاعدة بيانات للشطرنج أو محلل للمباريات.
التحقق من إدخال نموذج
قدموا استجابة فورية ومتسقة عندما يرسل لاعب أو محرر نقلة على هيئة نص.
مراجعة محتوى شطرنجي مولد
افحصوا صياغة النقلات الناتجة من الدروس أو المسائل أو التقارير أو الأدوات الحتمية الأخرى.
الأسئلة الشائعة
هل تعني النتيجة الصالحة أن النقلة قانونية؟
لا. إنها تؤكد صياغة SAN فقط. ويتطلب فحص القانونية وضعية وسجل نقلات ومحركاً لقواعد الشطرنج.
ما أحرف القطع المقبولة؟
تُقبل K و Q و R و B و N بالأحرف الكبيرة. ولا يبدأ تدوين البيدق بحرف في SAN.
هل تدعم الأداة الأخذ والكش والمات؟
نعم. استخدموا x للأخذ و + للكش و # للمات في مواضعها المعيارية في SAN.
هل تتعرف الأداة على التبييت والترقية؟
نعم. تقبل O-O و O-O-O وترقية البيدق بواسطة =Q أو =R أو =B أو =N.
هل تحذف المسافات المحيطة بالنقلة؟
لا. تُعامل المسافات الخارجية كإدخال معيب حتى تبقى مشكلات تنظيف البيانات ظاهرة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/game/chess-algebraic-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"notation":"Nbd2+"}'const res = await fetch("https://api.kit.forhosting.com/game/chess-algebraic-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"notation": "Nbd2+"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/chess-algebraic-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"notation": "Nbd2+"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/chess-algebraic-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"notation":"Nbd2+"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"notation":"Nbd2+"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/chess-algebraic-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"notation": "Nbd2+"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.chess_algebraic_validate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
استخدام النتيجة في التطبيقات ومسارات البيانات
يميز move_type بين البيدق والقطعة والتبييت. يكون capture دائماً قيمة منطقية، بينما لا تظهر origin_file و origin_rank و promotion وجهة التبييت إلا عند انطباقها. ينتج النص المعيب خطأ invalid_input بدلاً من نتيجة تجعل valid زائفاً، كي يتوقف الاستيراد أو يُشار إلى الحقل. التنفيذ حتمي ولا يستخدم الشبكة، ونتيجته واحدة في المتصفح وواجهة API. الاستخدام التفاعلي مجاني، وتكلفة كل طلب آلي $0.002.
أسئلة تقنية
ما تكلفة التحقق عبر API؟
تبلغ تكلفة كل طلب API مقدار $0.002. أما إصدار المتصفح في هذه الصفحة فمجاني.