diff --git a/Readme.md b/Readme.md index 8398b30b..58d25b83 100644 --- a/Readme.md +++ b/Readme.md @@ -1,58 +1,77 @@ -# 直棋 +## Overview +[![Build Status](https://ci.appveyor.com/api/projects/status/github/Calcitem/Sanmill?branch=master&svg=true)](https://ci.appveyor.com/project/Calcitem/Sanmill/branch/master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/a09e5b5ab4f04b1585acb478af0bd593)](https://app.codacy.com/manual/calcitem/Sanmill?utm_source=github.com&utm_medium=referral&utm_content=calcitem/Sanmill&utm_campaign=Badge_Grade_Settings) -## 古老的游戏 +[Sanmill](https://github.com/calcitem/Sanmill) is a free, powerful UCI-like N men's morris program with CUI, Flutter GUI and Qt GUI. -### 莫里斯九子棋 +[**Nine men's morris**](https://en.wikipedia.org/wiki/Nine_men%27s_morris) is a [strategy](https://en.wikipedia.org/wiki/Abstract_strategy_game) [board game](https://en.wikipedia.org/wiki/Board_games) for two players dating at least to the [Roman Empire](https://en.wikipedia.org/wiki/Roman_Empire). The game is also known as **nine-man morris**, **mill**, **mills**, **the mill game**, **merels**, **merrills**, **merelles**, **marelles**, **morelles**, and **ninepenny marl** in English. -莫里斯九子棋(Nine Men's Morris)是一个非常古老的智力的游戏。其历史甚至可以追溯到公元前1400多年的古埃及时代。 -+ 棋盘有24个格点,对弈双方各有九个棋子,轮流下到棋盘的空位上。 -+ 如果一方有三个棋子连成一线,就可以选择吃掉对方的一个棋子。被吃的棋子不可以是位于对方所形成的三连之内,除非对方所有棋子都形成了三连。 -+ 在九个棋子都布放到棋盘上以后,可以沿棋盘上的线条移动到相邻的位置来形成三连以吃掉对方的棋子。一个三连可以开开合合重复使用。如果一方所剩下的棋子只有三个时,棋子可以飞到任意空位。 -+ 当一方的棋子少于三枚,则告负,游戏结束。 +## Files -此外,国内还有几个九子棋的变种:成三棋、打三棋(12子棋)、九连棋等。 +This distribution of Sanmill consists of the following files: -### 成三棋 + * Readme.md, the file you are currently reading. + * Copying.txt, a text file containing the GNU General Public License version 3. + * src, a subdirectory containing the full source code, including a Makefile + that can be used to compile Sanmill CUI on Unix-like systems. + * src/ui/flutter, a subdirectory containing a Flutter frontend. + * src/ui/qt, a subdirectory containing a Qt frontend. -+ 与莫里斯九子棋类似,但一方仅剩3子时不能飞子。 +## Compiling Sanmill CUI yourself from the sources -### 打三棋(12子棋) +Sanmill CUI has support for 32 or 64-bit CPUs, certain hardware +instructions, big-endian machines such as Power PC, and other platforms. -1. 双方各12颗子,棋盘有斜线; -2. 摆棋阶段被提子的位置不能再摆子,直到走棋阶段; -3. 摆棋阶段,摆满棋盘算先手负; -4. 走棋阶段,后摆棋的一方先走; -5. 一步出现几个“三连”就可以提几个子; -6. 其它规则与成三棋基本相同。 +On Unix-like systems, it should be easy to compile Sanmill +directly from the source code with the included Makefile in the folder +`src`. In general it is recommended to run `make help` to see a list of make +targets with corresponding descriptions. -### 九连棋 +```shell + cd src + make help + make build ARCH=x86-64-modern +``` -1. 规则与成三棋基本相同,只是它的棋子有序号; -2. 相同序号、位置的“三连”不能重复提子; -3. 走棋阶段不能行动(被“闷”),则由对手继续走棋; -4. 一步出现几个“三连”就可以提几个子。 +When reporting an issue or a bug, please tell us which version and +compiler you used to create your executable. These informations can +be found by typing the following commands in a console: -## 应用程序说明 +```shell + ./sanmill compiler +``` -### 程序功能 +## Understanding the code base and participating in the project -1. 含四种不同规则的游戏(成三棋,打三棋,九连棋,莫里斯九子棋); -2. 鼠标放在规则菜单下各规则项,有会有详细的规则提示; -3. 可以限制时间,限制步数; -4. 落子音效,落子动画; -5. 行棋状态栏提示; -6. 棋谱的前后遍历(可以悔棋); -7. 棋谱的自动演示; -8. 棋局转变(翻转,镜像,旋转),棋子颜色交换; -9. 对战电脑,及不同AI引擎对战(待完善); -10. 联网对战(待完成); -11. 文本棋谱显示,打开及保存; -12. 其它。 +Sanmill's improvement over the last couple of years has been a great +community effort. There are a few ways to help contribute to its growth. -## 许可协议 +### Improving the code -详见项目内的 Copying.txt 文件。请取用的朋友尊重知识产权。 +If you want to help improve the code, there are several valuable resources: +* [In this wiki,](https://github.com/calcitem/Sanmill/wiki) many techniques used in +Sanmill are explained with a lot of background information. + +* The latest source can always be found on [GitHub](https://github.com/calcitem/Sanmill). +Discussions about Sanmill take place in the [Discussions](https://github.com/calcitem/Sanmill/discussions). + + +## Terms of use + +Sanmill is free, and distributed under the **GNU General Public License version 3** +(GPL v3). Essentially, this means you are free to do almost exactly +what you want with the program, including distributing it among your +friends, making it available for download from your website, selling +it (either by itself or as part of some bigger software package), or +using it as the starting point for a software project of your own. + +The only real limitation is that whenever you distribute Sanmill in +some way, you must always include the full source code, or a pointer +to where the source code can be found. If you make any changes to the +source code, these changes must also be made available under the GPL. + +For full details, read the copy of the GPL v3 found in the file named +*Copying.txt*.