Skip to content

tak-stuff/ptn-file-parser

Repository files navigation

PTN file parser

npm version Build Status Coverage Status

This package can parse PTN files as they are defined by the US Tak assosiation.

Usage

const PtnFileParser = require("ptn-file-parser");
let ptnFile = `[Site "PlayTak.com"]
[Event "Online Play"]
[Date "2018.10.28"]
[Time "16:10:44"]
[Player1 "NohatCoder"]
[Player2 "fwwwwibib"]
[Clock "10:0 +20"]
[Size "6"]

1. a6 f6
2. d4 c4
3. d3 c3
4. d5 c5
5. d2 Ce4
6. c2 e3
7. e2 b2
8. Cb3 1e4<1
9. 1d3<1 Sd1
10. a3 1d1+1`;
let result = PtnFileParser.parsePtnFile(ptnFile);

result:

{
  tags: {
    'Site': "PlayTak.com",
    'Event': "Online Play",
    'Date': "2018.10.28",
    'Time': "16:10:44",
    'Player1': "NohatCoder",
    'Player2': "fwwwwibib",
    'Clock': "10:0 +20",
    'Result': "R-0",
    'Size': "6"
  },
  moves: [
    "1. a6 f6",
    "2. d4 c4",
    "3. d3 c3",
    "4. d5 c5",
    "5. d2 Ce4",
    "6. c2 e3",
    "7. e2 b2",
    "8. Cb3 1e4<1",
    "9. 1d3<1 Sd1",
    "10. a3 1d1+1"
  ],
  whiteMoves: [
    "a6", "d4",
    "d3", "d5",
    "d2", "c2",
    "e2", "Cb3",
    "1d3<1", "a3"
  ],
  blackMoves: [
    "f6", "c4",
    "c3", "c5",
    "Ce4", "e3",
    "b2", "1e4<1",
    "Sd1", "1d1+1"
  ]
}

About

Parse PTN (Portable Tak Notation) files

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •