PointsXT *.sav (формат сохранения игры)

В файле хранятся имена пользователей и сама партия (последовательность ходов). В ней также есть ещё какой-то неведомый мусор, например подсказка открывающему клиенту было ли в какой-то ход окружение - но этот мусор можно игнорировать. Итак, вот HEX-запись одного из файлов в pointsxt-sav:

79 15 00 ff ff 00 00 ff ff ff ff 79 79 20 20 20 
20 20 20 20 76 61 6c 2d 62 72 61 20 20 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 11 0f 00 00 00 00 
00 00 00 00 00 00 00 12 0f 00 00 ff ff 00 00 00 
00 00 00 00 12 10 00 00 00 00 00 00 00 00 00 00 
00 11 10 00 ff ff 00 00 00 00 00 00 00 00 11 12 
00 ff ff 00 00 00 00 00 00 00 00 13 11 00 00 00 
00 00 00 00 00 00 00 00 11 11 00 ff ff 00 00 00 
00 00 00 00 00 11 0d 00 00 00 00 00 00 00 00 00 
00 00 11 0e 00 ff ff 00 00 00 00 00 00 00 00 10 
0f 00 00 00 00 00 00 00 00 00 00 00 10 0e 00 ff 
ff 00 00 00 00 00 00 00 00 0f 0f 00 00 00 00 00 
00 00 00 00 00 00 0f 0e 00 ff ff e7 d5 c4 b3 52 
7c e3 40 0e 10 00 00 00 a8 ec 30 b5 52 7c e3 40 
12 0d 00 ff ff ca 19 14 b9 52 7c e3 40 11 0c 00 
00 00 54 76 98 ba 52 7c e3 40 10 14 00 ff ff f2 
8b 25 bf 52 7c e3 40 12 0b 00 00 00 91 8b 30 c0 
52 7c e3 40 13 0d 00 ff ff 53 a2 9c c1 52 7c e3 
40 13 0f 00 00 00 22 2d e3 c3 52 7c e3 40 12 0e 
00 ff ff d6 cf 74 c4 52 7c e3 40 14 0d 00 00 00 
ce a0 c8 c5 52 7c e3 40

Вторая буква (байт) указывает количество ходов. Если ходов было сделано больше, чем 255, то используется третья буква. То есть, получается записть "кверх ногами" (справа налево): старший разряд - 3-я буква в коде, младший разряд - 2-ая буква в коде.

Имя первого игрока - буквы 12 - 20 (максимум 9). Имя второго игрока - буквы 21-29.

В записи ходов: сама запись начинается на 59-ой букве (в режиме hex 4-ая строчка, 2-ой столбец, 3-я буква). Одна точка занимает 13 букв. Если отсчитывать от координат, то первые две буквы - координаты точки x-y (используется битовая запись) 4,5 буквы - индикатор того, чей был ход. FF FF - красный, 00 00 - синий.

Чтобы выудить всю инфу просто читаешь имена игроков, а потом подряд ходы в партии.

Пример игры и код на c# для _сохранения_ игры в файл (причём так чтобы потом мог открыть клиент pintsxt) прикреплен в файле внизу страницы.

Прикрепленный файлРазмер
SaveXT.txt2.08 кб
censor vs vn91 27.03.11 20-14 (Blits).sav2.47 кб