Формат для записи партий тогызкумалак (Toguz Kumalak File Format Specification)

Ернар Шамбаев November 2, 2011
1521
0
4
0

Вашему вниманию предоставляется разработанный Ернаром Шамбаевым формат TGK (Toguz Kumalak File Format Specification) для записи и хранения партий. Он частично основан на общепринятой форме записи...

Вашему вниманию предоставляется разработанный Ернаром Шамбаевым формат TGK (Toguz Kumalak File Format Specification) для записи и хранения партий. Он частично основан на общепринятой форме записи партий, а также на формате записи шахматных партий PGN, ставший популярным благодаря удобству и наглядности. Формат удовлетворяет двум основным требованиям: 1) легок для записи и чтения людьми; 2) легок для разбора и генерации компьютерными программами. Будущим разработчикам программ для тогызкумалак рекомендуется придерживаться этой формы записи партий. В дальнейшем в блоге будет использоваться именно этот формат.

Каждая TGK-партия состоит из двух частей, разделенных пустой строкой: 1) метаданных, которые содержат информацию о партии в целом (кто играл белыми, кто играл черными, когда состоялась партия, где она состоялась, как завершилась и т.д.), и 2) собственно самой партии (в алгебраической нотации).

I. Метаданные

Первая часть партии заключает в себе список пар тегов, семь из которые обязательны.
Каждая пара тегов состоит из четырех последовательных лексем (лексема - это набор символов) в следующем порядке: левая квадратная скобка, словарная лексема, строковая лексема (взятая в кавычки) и правая квадратная скобка. Словарная лексема задает название тега (на английском языке), а строковая - его значение (на любом языке).

Пример: [White "Тогызкумалак 2011"].

Если строковая лексема неизвестна, то в качестве значения должен указываться знак вопроса.

В каждой партии обязательно должны присутствовать семь тегов: White, Black, Result, Date, Event, Round, Site. Порядок их в файле произволен.

1. White
Тег предназначен для указания имени игрока, играющего белыми.

Пример: [White "Кабиев"]

2. Black
Тег предназначен для указания имени игрока, играющего черными.

Пример: [Black "Отебаев"]

3. Result
Тег предназначен для указания результата партии. Должен принимать одно из четырех значений:

а) "1-0" (белые выиграли);
б) "0-1" (черные выиграли);
в) "1/2-1/2" (партия завершилась вничью);
г) "*" (игра продолжается или результат неизвестен).

4. Date
Тег предназначен для обозначения даты начала партии.

Пример: [Date "2011"] или [Date "2011.10.21"] (в формате "ГГГГ.ММ.ДД")

5. Event
Тег предназначен для обозначения турнира или матча.

Пример: [Event "Чемпионат Казахстана"]

6. Round
Тег предназначен для обозначения раунда или тура соревнования, в котором проводится партия.

Пример: [Round "9"]

7. Site
Тег предназначен для обозначения города или страны, в которой проводится партия.

Пример: [Site "Павлодар"]

II. Запись партии

Запись партии состоит из набора строк, каждая из которых содержит номер хода, ход белых и ход черных. Первое число задает номер хода, затем следует точка, за ней должен следовать пробел, затем ход белых, снова пробел и ход черных (если он был сделан).

Пример: 1. 76 98

Если ход привел к взятию туздыка, он должен обязательно сопровождаться символом "x".

Пример: 23. 93x 98x

Дополнительные (но необязательные) теги:

Count - для обозначения количества кумалаков в казанах в момент окончания партии
Пример: [Count "82-80"]

Comment - для кратких комментариев к партии
TimeControl - для описания контроля времени
WhiteElo и BlackElo - для обозначения рейтинга игроков
WhiteTitle и BlackTitle - для обозначения званий игроков

Пример партии, записанной в формате TGK:

[White "Кабиев"]
[Black "Отебаев"]
[Result "1-0"]
[Date "2011"]
[Event "Чемпионат Казахстана"]
[Round "9"]
[Site "Павлодар"]
[Comment "Выиграв эту партию, Кабиев стал новым чемпионом РК"]

1. 76 98
2. 66 87
3. 12 76
4. 25 35
5. 38 48
6. 42 24
7. 72 61
8. 34 17
9. 12 23
10. 89 12
11. 34 38
12. 47 48
13. 89 45
14. 78 23
15. 89 34
16. 62 12
17. 89 34
18. 78 45
19. 89 45
20. 67 23
21. 78 34
22. 45 23
23. 93x 98x
24. 35 12
25. 91 24
26. 12 85
27. 91 91
28. 13 61
29. 67 89
30. 23 92
31. 12 89
32. 91 78
33. 49 13
34. 91 24
35. 69 56
36. 56 12
37. 39 49
38. 47 71
39. 34 58
40. 69 45
41. 79 26
42. 95 13
43. 91

Все материалы сайта можно использовать только с разрешения автора (Е. Шамбаева). При перепечатке активная ссылка на данный сайт обязательна.

Оцените пост

4