Uitleg
EPD staat voor Extended Position Description. Een EPD-regel begint met vier velden voor de stukken, de partij die aan zet is, de , die aangeven of iedere partij de speciale zet met koning en toren nog mag uitvoeren, en het . Daarna kan de regel EPD-operaties bevatten om instructies of aanvullende informatie aan die stelling te koppelen.
Iedere operatie bevat een opcode, een korte naam die de betekenis identificeert, gevolgd door nul of meer operanden, de waarden van de operatie. Ze eindigt altijd met een puntkomma. In id "test-001"; is id de opcode en is de tekenreeks tussen aanhalingstekens de operand. Meerdere operaties worden door een spatie gescheiden.
Gestandaardiseerde opcodes ondersteunen onder meer het identificeren van de stelling, het voorstellen van beste zetten, het markeren van te vermijden zetten, het bewaren van een verwachte variant en het toevoegen van commentaar. Een programma dat een opcode niet herkent, hoort die operatie te negeren in plaats van de volledige regel ongeldig te verklaren. Dankzij deze uitbreidbaarheid kan dezelfde basisbeschrijving van een stelling worden gebruikt voor testsets, analyse en uitwisseling tussen programma's.
Gebruik en context
EPD wordt vooral gebruikt voor verzamelingen stellingen, tests van , programma's die stellingen analyseren, en taken waarbij iedere stelling naast het bord gestructureerde gegevens nodig heeft.
Veelvoorkomende verwarringen
Operatie tegenover stellingsveld
De eerste vier velden beschrijven de toestand die nodig is om vanuit de stelling te spelen. Latere operaties voegen labels, antwoorden of instructies toe.
Opcode tegenover operand
De opcode geeft aan welk soort gegeven volgt. De operand bevat de concrete waarde van dat gegeven.
Bronnen
- 1.Standard: Portable Game Notation Specification and Implementation Guide, Steven J. Edwards / ChessGML
- 2.Core, python-chess 1.11.2 documentation
