软件包不应该把文件放进 /usr/local 吧
尊重作者应该注明出处。
地板支持板凳说法。
原作者公开的源码地址?
尊重作者应该注明出处。
感谢楼下各位的关注和提醒!
因发贴时操作失误,之前源码 GitHub 网址漏发。现已补上。
注:
1. 在 DEB 包的 Debian/control 和 doc/copyright 两个文件中,实际已记录源码 GitHub 地址。
2. 网页搜索 pycchess 或者 harmless ,也可以很方便地找到 源码 GitHub 地址
(友情提示:别用 百度搜索。百度搜索 的结果是 插了广告的,前面会有十个左右无效网址。
用微软必应搜索 https://cn.bing.com 比较靠谱,很直接就显示
harmless 的 GitHub 和 OSCHINA 主页)
-----
Source: https://github.com/timebug/harmless (in English, 2012-2015)
https://gitee.com/mirrors/harmless (in English, 2015)
https://www.oschina.net/p/harmless (in Simplified Chinese, 2015)
写了一个Linux下的中国象棋引擎
.
Author: timebug (2012-02-03)
.
Source: https://www.douban.com/group/topic/27206675/ (豆瓣)
.
引擎取名为”无害“,最终目标是“基本无害”,旨在帮助象棋新手重新找回自信(笑),
目前基本框架已经完成,但正如其名,棋力还是很差。在普通机子上,限定每步6秒
时间的情况下,平均搜索深度在5-8层左右。核心搜索主要采用的是极小窗口搜索,
并结合了哈希表技术和历史启发;评估函数则相对实现得比较简单,只考虑了棋子
本身的价值和棋子间的灵活度,虽不靠谱,但基本能用。
.
写完已经有一段时间了,由于身边能帮我测试的人有限,所以冒昧发到这里来,
如果有朋友对此感兴趣,不妨可以拿去玩玩,有任何问题,欢迎前去项目主页吐槽
反馈。
.
引擎部分完全用C语言实现,支持部分UCCI通信协议,并附带了一个简单的图形
界面,由Python实现。当然,所有代码都是开放的,引擎部分暂时也未采用任何
协议,且代码风格还算干净,所以,大家可以拿去放心使用随意修改,完全不用
为此负任何责任。:-)
.
* 项目地址:https://github.com/timebug/harmless
-----
软件包不应该把文件放进 /usr/local 吧
关于文件目录结构位置:
1*. 按 debian 打包规则:非 debian 官方包,目录位置一般是 /usr/local/share/pycchess/
2. 按 debian 打包规则: debian 官方包,目录位置则是 /usr/share/pycchess/
3. 按 RPM 系 规则,或者商业软件:目录位置一般是 /opt/pycchess/
4. 按 Deepin/UOS 打包规则:目录位置一般是 /opt/apps/com.timebug.pycchess/
5. 按 spark-store 星火商店 打包规则:目录位置一般是 /opt/durapps/pycchess/
关于文件目录结构位置:
1*. 按 debian 打包规则:非 debian 官方包,目录位置一般是 /usr/local/share/pycchess/
2. 按 debian 打包规则: debian 官方包,目录位置则是 /usr/share/pycchess/
3. 按 RPM 系 规则,或者商业软件:目录位置一般是 /opt/pycchess/
4. 按 Deepin/UOS 打包规则:目录位置一般是 /opt/apps/com.timebug.pycchess/
5. 按 spark-store 星火商店 打包规则:目录位置一般是 /opt/durapps/pycchess/
https://www.debian.org/doc/manuals/maint-guide/modify.en.html#destdir
我去翻了一下 debian 的文档,理解跟你不太一样。所谓的“第三方软件”,应该是以非 deb 形式分发的软件。根据 FHS 标准,/usr/local 应该是为避免本地安装的软件和正规的软件包相冲突而设置的。如果 deb 包把软件装进 /usr/local 了,那你自己编译而没有打包的版本往哪装呢?
https://www.debian.org/doc/manuals/maint-guide/modify.en.html#destdir
我去翻了一下 debian 的文档,理解跟你不太一样。所谓的“第三方软件”,应该是以非 deb 形式分发的软件。根据 FHS 标准,/usr/local 应该是为避免本地安装的软件和正规的软件包相冲突而设置的。如果 deb 包把软件装进 /usr/local 了,那你自己编译而没有打包的版本往哪装呢?
欢迎技术交流。
最初确定主目录位置的时候,也考虑过是否加 local 子目录的问题。
* 不加 local/ 的好处,至少在 lintian 检查时,可以减少很多 报错信息。
也参考了一些其它 DEB 软件包的做法,在未被 debian 官方收录前,也常放在 local/ 下,以示区分和告知:
* 这并不是一个 debian 官方包。并未进行严格的测试和验证。可能存在一些兼容性方面,或者不确定的异常或风险。
你提供的链接,认真又看了一下,应该是针对 DM 或者 DD 开发者的规范指导,用于约束 DEB 提交 、上传的 DEB 质量。
---
后续新版本 DEB 打包时(可能是一个月以后,或者更晚些时候的事了),会调整文件位置,去掉 local/ 子目录。
小白表示,安装路径都这么麻烦,不安装了吧。
小白表示,安装路径都这么麻烦,不安装了吧。
这么久了,兄弟你也能翻到这个贴子。证明对象棋是真爱啊!
另外,再推荐个更好看的 xboard 象棋主题。使用方法见
https://sourceforge.net/projects/emacslocale/files/xiangqi/xboard-xiangqi-theme-ali/
Popular Ranking
ChangePopular Events
More
# PyCChess 中国象棋程序(单机版) 和 Harmless 中国象棋 UCCI 引擎
2021-2-15 更新
## 1. 简介
- PyCChess 中国象棋程序
- 自带的中国象棋 UCCI 引擎 Harmless (中文名:无害)
程序版本:0.1, 2011-2015
----
程序作者:timebug (2011-2015)
源码地址(GitHub/Gitee/OSCHINA/豆瓣):
----
DEB 打包人:Careone (2021.2.15)
(注:暂只编译/打包 amd64 平台的程序的 DEB 包)
DEB 包下载地址(城通网盘):
- 文件名: pycchess_0.1-1_amd64.deb
- 文件大小: 0.6 M
- https://306t.com/d/30646948-42482335-40c3a2
(访问密码:6859)
## 2. 打包 DEB 的起因
打包人:Careone
个人作为一个中国象棋爱好者,因机缘巧合,无意中接触到 PyCChess 中国象棋程序,以及其自带的
UCCI 中国象棋引擎。惊叹之余,觉得这么优秀的本土游戏程序,不应该被埋没、遗忘或荒废。
于是根据程序作者公开的程序源码,编译了 amd64 平台的 Linux 运行程序。
经过调试、图片微调,适当增补了一些文件。运行正常。
为表示对程序作者的敬意和尊重,主程序图标,采用了程序作者主页的图案(一个黑白色调的、类似俄罗斯方块游戏界面的图标)。
#### 注:调整的图片
1. image/select.png (用于标示走动的棋子)
2. image/done.png (用于标示某个棋子,走子之前所在的位置)
3. image/over.png (用于标示“输棋”后的“将/帅”棋子)
## 3. PyCChess 中国象棋程序
一、已实现的功能
- 人机对战。
- 按 [空格键] 重新开始新的棋局。
二、不支持的功能
- 不支持 [悔棋] 操作。
- 无法调节棋力难度。
- 不支持联网对局。
- 不能显示走棋文字(如“炮二平五”)。
- 无法保存、读取走棋记录(不支持主流的中国象棋棋谱文件)。
## 4. DEB 包的适配和其它技术细节
4.1 主程序和游戏图片(如棋子、棋盘)、游戏走棋声音,位于以下目录:
- usr/local/share/pycchess/ (游戏主目录)
- usr/local/share/pycchess/cchess.py (主程序)
- usr/local/share/pycchess/*.py (附加程序)
- usr/local/share/pycchess/image/*.png (棋子、棋盘图片)
- usr/local/share/pycchess/sounds/*.WAV (音效文件)
4.2 用户启动 pycchess 程序时,会在当前用户目录下,
自动创建游戏目录 ~/.pycchess/
并创建相关游戏数据的符号链接到这个目录下。
走棋时,程序会在 harmless 引擎程序所在的目录,
自动生成一个 harmless.log 文件,用于记录引擎输出。
(如果 harmless 程序所在目录无法创建或修改 harmless.log 文件,
则主程序 PyCChess 在走完第一个回合后,会报错并退出游戏、自动关闭程序。)
## 5. XBoard 调用 harmless 引擎的测试结果
经测试,暂无法在 XBoard 程序中,正常调用 harmless 中国象棋引擎(UCCI 协议)。
- 测试环境:Debian 10.8 amd64, XBoard 4.9.1
- 调用指令:xboard @xq -fcp maxqi -scp harmless
- 中国象棋引擎文件位置:/usr/local/games/harmless
- 报错内容:严重错误:写入第二个象棋程序时出错:断开的管道
- 附、增补的 XBoard 相关图标/引擎配置文件:
- usr/share/games/harmless/harmless.rc
- usr/share/games/plugins/logos/harmless.png
- usr/share/games/plugins/xboard/harmless.eng
## 6. XBoard 调用 UCCI 协议中国象棋引擎的指令参考
- 用法1:
xboard -variant xiangqi -fcp maxqi -scp "uci2wb -x harmless"
- 用法2:
xboard @xq -fcp maxqi -scp "uci2wb -x harmless"
- 用法3:
xboard @xq -fcp maxqi -scp {uci2wb -x harmless}
- 用法4:
xboard @xq -uxiAdapter {uci2wb -%variant "%scp" "%sd"} -fcp maxqi -scp harmless -sUCCI