飞扬围棋论坛

 找回密码
 注册
搜索
12
返回列表 发新帖
楼主: gnsx
打印 上一主题 下一主题

gowrite 如何只输出问题图

[复制链接]
16#
发表于 2015-12-17 08:49 | 只看该作者
转换后的文件如下:
(;ST[0]AP[GOWrite:3.0.5]FF[4]GM[1]SZ[19]CA[UTF-8]
AB[rd][sd][nb][pe][qe][nc][rf][od][oa]
AW[oc][rc][pb][pd][rb][qd]
GN[死之部 第1题]
)

我试了下,GOWRITE可以打开,没有错误。
回复 支持 反对

使用道具 举报

17#
 楼主| 发表于 2015-12-17 14:24 | 只看该作者
yangyang 发表于 2015-12-17 08:47
假定所有的sgf文件都放在D:\DigicelWorkspace\weiqi\ch1\ch1sgf\ 下(这个目录可以修改成你自己的目录)
生 ...

非常感谢,问题完美解决。

能否讲下编写方法,授人以鱼不如授人以渔,可能我要求过分了,请勿介意。
回复 支持 反对

使用道具 举报

18#
发表于 2015-12-17 15:09 | 只看该作者
源代码已给出了。

流程其实很简单,

第一行 加sgf文件格式头
第二行 取黑子
第三行 取白子
第四行 取棋谱名称
第五行 加sgf文件格式尾

每行的细节就要靠自己了。
回复 支持 反对

使用道具 举报

19#
发表于 2015-12-17 19:12 | 只看该作者
都是高手呀     就这样我还没有懂  对我这笨鸟 有个简单教程就好了  
回复 支持 反对

使用道具 举报

20#
 楼主| 发表于 2015-12-17 19:57 | 只看该作者
回复 飞扬润生 的帖子

我也是菜鸟啊,对于帮助解决问题的大牛真顶礼膜拜啊。和你说下操作方法,先在D盘新建temp文件夹,temp里面再建个ok文件夹,然后把你要修改的棋谱文件放到temp里面,接着按住windows徽标键+R,在窗口里面输入POWERSHELL,接着按回车键,弹出一个黑色窗口,把下面代码粘贴到里面,按两次回车键,转换好的棋谱已经在ok文件里面了。

$files=Get-childitem D:\temp\*.sgf
foreach($file in $files)
{
$targetFile = Join-Path "D:\temp\ok\" $file.name
echo "(;ST[0]AP[GOWrite:3.0.5]FF[4]GM[1]SZ[19]CA[UTF-8]" >$targetfile
gc $file  -Encoding UTF8|select-string -Pattern '\bAB(\[[a-z][a-z]\])

*' -AllMatches | % { $_.Matches } | % { $_.Value } >> $targetFile
gc $file  -Encoding UTF8|select-string -Pattern '\bAW(\[[a-z][a-z]\])

*' -AllMatches | % { $_.Matches } | % { $_.Value } >> $targetFile
gc $file  -Encoding UTF8|select-string -Pattern '\bGN\[[^\]/p

{IsCJKUnifiedIdeographs}]*\]' -AllMatches | % { $_.Matches } | % {

$_.Value } >> $targetFile
echo ")" >> $targetfile
}

回复 支持 反对

使用道具 举报

21#
 楼主| 发表于 2015-12-17 19:58 | 只看该作者
回复 飞扬润生 的帖子

我也是菜鸟啊,对于帮助解决问题的大牛真顶礼膜拜啊。和你说下操作方法,先在D盘新建temp文件夹,temp里面再建个ok文件夹,然后把你要修改的棋谱文件放到temp里面,接着按住windows徽标键+R,在窗口里面输入POWERSHELL,接着按回车键,弹出一个黑色窗口,把下面代码粘贴到里面,按两次回车键,转换好的棋谱已经在ok文件夹里面了。

$files=Get-childitem D:\temp\*.sgf
foreach($file in $files)
{
$targetFile = Join-Path "D:\temp\ok\" $file.name
echo "(;ST[0]AP[GOWrite:3.0.5]FF[4]GM[1]SZ[19]CA[UTF-8]" >$targetfile
gc $file  -Encoding UTF8|select-string -Pattern '\bAB(\[[a-z][a-z]\])

*' -AllMatches | % { $_.Matches } | % { $_.Value } >> $targetFile
gc $file  -Encoding UTF8|select-string -Pattern '\bAW(\[[a-z][a-z]\])

*' -AllMatches | % { $_.Matches } | % { $_.Value } >> $targetFile
gc $file  -Encoding UTF8|select-string -Pattern '\bGN\[[^\]/p

{IsCJKUnifiedIdeographs}]*\]' -AllMatches | % { $_.Matches } | % {

$_.Value } >> $targetFile
echo ")" >> $targetfile
}

回复 支持 反对

使用道具 举报

22#
发表于 2015-12-17 20:00 | 只看该作者

标题

回复 gnsx 的帖子

谢谢了   
回复 支持 反对

使用道具 举报

23#
 楼主| 发表于 2015-12-17 20:07 | 只看该作者
我测试了,部分棋谱可以成功,还有的棋谱因格式不同,不能成功,代码要做相应修改,可惜自己不会,又不好意思老是麻烦人
回复 支持 反对

使用道具 举报

24#
发表于 2015-12-17 22:11 | 只看该作者
本帖最后由 liuchao 于 2015-12-17 22:13 编辑

借地方问个问题,如何改变棋盘方向。劫争记录有的是=,有的是at,如何统一。
回复 支持 反对

使用道具 举报

25#
 楼主| 发表于 2015-12-17 22:32 | 只看该作者
回复 liuchao 的帖子

输出图片,插入到word里面用宏旋转方向吧。
回复 支持 反对

使用道具 举报

26#
发表于 2020-4-23 08:48 | 只看该作者
最快速的方法:用猫踢狗打开,1.将各个死活题合并成一个SGF文件。2.用按键精灵,将删除节点以下的变化的操作(CTRL+R,C,鼠标滚轮下拉)这个三步动作模拟重复N次即可,几百个文件按一下,几秒即可完成。
回复 支持 反对

使用道具 举报

27#
发表于 2020-4-23 12:30 | 只看该作者
本帖最后由 wrlomo 于 2020-4-23 12:31 编辑

先预览,后输出,可输出问题图+答案图两张

或者在答案之前插一个分谱(红框部分即为分谱符)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

28#
发表于 2020-4-23 13:35 | 只看该作者
wrlomo 发表于 2020-4-23 12:30
先预览,后输出,可输出问题图+答案图两张

或者在答案之前插一个分谱(红框部分即为分谱符)

不需要答案图时,这样输出还要挑选,特别是图很多时,麻烦的。
回复 支持 反对

使用道具 举报

29#
发表于 2020-4-23 14:21 | 只看该作者
lhbmmx 发表于 2020-4-23 13:35
不需要答案图时,这样输出还要挑选,特别是图很多时,麻烦的。

预览第2页,把显示的步数关掉或者改为0,分谱数也同时关掉,即可
回复 支持 反对

使用道具 举报

30#
发表于 2020-4-23 15:35 | 只看该作者
wrlomo 发表于 2020-4-23 14:21
预览第2页,把显示的步数关掉或者改为0,分谱数也同时关掉,即可

你的方法是处理单个文件时的办法,如果需要批量处理几百个,将所有的SGF文件导入为一个谱的分支时,只需要输出问题图,比如仅需要死活题目时,关掉变化图是不行的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|飞扬围棋网 ( 苏ICP备11029047号-1 )

GMT+8, 2024-4-27 02:23 , Processed in 0.153826 second(s), 17 queries .

since 2003飞扬围棋论坛 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表