Penjelasan
PGN, singkatan dari Portable Game Notation, adalah format teks untuk menyimpan dan bertukar partai catur. Seseorang dapat membukanya sebagai teks biasa, sementara program catur, situs web, dan basis data dapat menggunakan strukturnya untuk merekonstruksi partai.
Dua bagian dalam sebuah partai PGN
- Bagian pasangan tag menyimpan informasi dalam kurung siku seperti Event, Site, Date, Round, White, Black, dan Result. Ketujuh tag tersebut membentuk daftar dasar untuk pengarsipan.
- Bagian movetext berisi nomor langkah, langkah dalam , komentar opsional, variasi, dan satu penanda hasil akhir.
Komentar biasanya muncul di dalam kurung kurawal. Jalur alternatif muncul di dalam tanda kurung dan dapat memuat variasi bersarang. Penilaian ringkas dapat disimpan sebagai NAG, yaitu kode yang terdiri dari $ dan sebuah angka. Satu berkas .pgn dapat memuat satu partai atau banyak partai yang terpisah.
PGN mencatat sebuah partai atau pohon variasi, bukan sekadar potret papan. Jika partai dimulai dari posisi nonstandar, header SetUp dan dapat menyediakan posisi awal tersebut. FEN sendiri menggambarkan sebuah posisi, bukan riwayat langkah yang menghasilkannya.
Apa yang bukan PGN
PGN bukan protokol agar mesin berpikir atau berkomunikasi dengan antarmuka grafis. Protokol seperti bertukar perintah antarprogram; PGN bertukar catatan partai. Program juga berbeda dalam ekstensi yang diterimanya, sehingga berkas yang paling portabel mengikuti struktur standar dan memuat langkah-langkah legal.
Penanda akhir harus berupa 1-0, 0-1, 1/2-1/2, atau *. Penanda itu juga harus cocok dengan header Result. Tanda bintang digunakan ketika partai masih berlangsung atau tidak memiliki hasil akhir yang tersedia.
Kebingungan umum
PGN versus FEN
PGN menyimpan partai dan metadatanya; FEN menggambarkan satu posisi awal atau posisi antara.
PGN versus UCI
PGN adalah format catatan partai; UCI adalah protokol komunikasi mesin.
Sumber
- 1.Portable Game Notation Specification and Implementation Guide, Steven J. Edwards
- 2.PGN parsing and writing, python-chess
