توضیح
EPD مخفف Extended Position Description است. هر خط EPD با چهار فیلد آغاز میشود که چیدمان مهرهها، نوبت حرکت، ، یعنی اینکه هر طرف هنوز حق اجرای حرکت ویژه شاه و رخ را دارد یا نه، و را توصیف میکنند. سپس میتوان عملیات EPD را افزود تا دستورها یا اطلاعات تکمیلی به آن موقعیت پیوند داده شوند.
هر عملیات یک اپکد دارد، یعنی نامی کوتاه که معنای آن را مشخص میکند، و پس از آن صفر یا چند عملوند میآید که مقادیر عملیات هستند. عملیات همیشه با نقطهویرگول پایان مییابد. در id "test-001";، id همان اپکد و رشته داخل گیومه عملوند است. چند عملیات با یک فاصله از هم جدا میشوند.
اپکدهای استاندارد برای کارهایی مانند شناسایی موقعیت، پیشنهاد بهترین حرکتها، علامتگذاری حرکتهای نامطلوب، ذخیره یک واریانت پیشبینیشده یا افزودن توضیح به کار میروند. نرمافزاری که یک اپکد را نمیشناسد باید همان عملیات را نادیده بگیرد، نه اینکه کل خط را نامعتبر بداند. این گسترشپذیری اجازه میدهد یک توصیف پایه از موقعیت در مجموعههای آزمون، تحلیل و تبادل میان برنامهها استفاده شود.
کاربرد و بافت
EPD بیشتر برای مجموعههای موقعیت، آزمون ، برنامههای تحلیل موقعیت و کارهایی به کار میرود که هر موقعیت علاوه بر وضعیت صفحه به داده ساختاریافته نیاز دارد.
اشتباههای رایج
عملیات در برابر فیلد موقعیت
چهار فیلد نخست وضعیت لازم برای ادامه بازی از آن موقعیت را توصیف میکنند. عملیاتهای بعدی برچسب، پاسخ یا دستور میافزایند.
اپکد در برابر عملوند
اپکد مشخص میکند چه نوع دادهای در ادامه میآید. عملوند مقدار مشخص آن داده را در بر دارد.
منابع
- 1.Standard: Portable Game Notation Specification and Implementation Guide, Steven J. Edwards / ChessGML
- 2.Core, python-chess 1.11.2 documentation
