-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
65 lines (50 loc) · 1.57 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/ruby2.5
=begin
.Dt OGSSGF 6
.Sh NAME
ogssgf \- fetch game from online-go.com and write ogs file
.Sh SYNOPSIS
ruby2.5 README 1000000 > 1000000.sgf
.Sh DESCRIPTION
The file name of this file should indeed be "ogssgf.rb". Game
number 1000000 is the game played by O Meien and Lee Sedol on
October 21, 2014.
.Sh BUGS
This program lacks proper check for commandline argument. This
program does not handle pass. This program drops player names
and other game information.
.Sh COPYING
Copyright (C) 2020 Cao Wenming <[email protected]>
This program is free software; you can redistribute it and or
modify it it under the terms of the GNU General Public License
version 2, as published by the Free Software Foundation.
I decline to disclose whether this program is distributed with
good cause, intent, belief, or evil ones.
This program is distributed without warranty. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA.
=end
require 'net/http'
require 'json'
# ruby ARGV[0] is $1, et cetera
case ARGV.length
when 1
else
abort "invalid argument"
end
r = Net::HTTP.get_response URI('https://online-go.com/api/v1/games/'+ARGV[0])
case r.code
when "200"
else
abort "unexpected http #{r.code}"
end
puts '('
t = "abcdefghijklmnopqrs"
p = 1
for move in JSON.parse(r.body)['gamedata']['moves']
puts ";"+"BW"[p^=1]+"["+t[move[0]]+t[move[1]]+"]"
end
puts ')'