diff --git a/published/20180814 5 open source strategy and simulation games for Linux.md b/published/20180814 5 open source strategy and simulation games for Linux.md new file mode 100644 index 0000000000..9666e74c0f --- /dev/null +++ b/published/20180814 5 open source strategy and simulation games for Linux.md @@ -0,0 +1,103 @@ +5 款开源的 Linux 策略模拟游戏 +====== + +> 用这些开源游戏来挑战你的战略技能,探索新世界。 + +![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/arcade_game_gaming.jpg?itok=84Rjk_32) + +长久以来,游戏都是 Linux 的软肋。近些年,Steam、GOG 等游戏发布平台上不少商业游戏都开始支持 Linux,这对于 Linux 的游戏生态来说是件好事,但是我们能在这些平台上玩到的游戏通常是不开源的商业作品。当然,这些游戏在一个开源的操作系统上运行,但对于一个开源提倡者来说这似乎还不够纯粹。 + +那么,我们能找到既自由开源又能给玩家带来完整游戏体验的优质游戏吗?当然!虽然绝大多数的开源游戏很难和 3A 商业游戏大作竞争,但仍然有不少各种类型的开源游戏,不仅内容有趣而且直接可以通过几大 Linux 发行版本库中直接安装。就算某个游戏在不在某个发行版本的库中,我们也可以在这个游戏项目的网站上找到直接的安装方法。 + +本篇文章将会介绍策略和模拟类游戏。我已经写了[街机游戏][1]、[桌面卡牌游戏][2]、[解谜游戏][3]、[竞速飞行游戏][4]以及[角色扮演游戏][5]。 + +### 开源版“文明”(Freeciv) + +![](https://opensource.com/sites/default/files/uploads/freeciv.png) + +[Freeciv][6] 可以被视为是[文明系列][7]游戏的开源版本。游戏玩法和文明系列最早期的游戏十分类似,Freeciv 可以让玩家选择选用文明 1 或者文明 2 中的游戏规则设置。Freeciv 中包含了很多元素,例如建造城市、探索世界地图、发展科技以及和其他扩张中的文明竞争。胜利条件包括打败所有其他的文明或建立一个外星殖民地,如果在前两者都没有达成的话,在游戏时间期限前存活下来也可以算作胜利。这个游戏可以和其他玩家联机也可以和 AI 对战,不同的地图集可以改变游戏的外观。 + +安装 Freeciv,你只需要在终端下运行以下指令。 + + * Fedora 用户: `dnf install freeciv` + * Debian/Ubuntu 用户:`apt install freeciv` + +### MegaGlest + +![](https://opensource.com/sites/default/files/uploads/megaglest.png) + +[MegaGlest][8] 是一个开源的实时战略游戏,类似暴雪公司制作的游戏[魔兽世界][9]和[星际争霸][10]。玩家控制不同派别的人员、建造新建筑、招募士兵、拓展领土并与敌人作战。在游戏比赛的最开始,玩家仅能建造最基础的建筑和招募最基础的士兵。为了建造更高级的建筑并招募级别更高的人员,玩家必须通过增加建筑和人员从而一路提高科技树、解锁更加高级的选项。当敌人进入国土领域之中,战斗单元将会迎战。但是最好的应对策略是,通过控制战斗单元直接操控每一场战斗。在管理新建筑的建立,新人员的招募的同时控制战斗局势听上去十分困难,但是这就是 RTS(实时战略游戏)游戏的精华所在。MegaGlest 这个游戏提供了大量的人员派别,玩家可以不断尝试这些不同的技巧。 + +安装 MegaGlest,你只需要在终端下运行以下指令: + + * Fedora 用户: `dnf install megaglest` + * Debian/Ubuntu 用户:`apt install megaglest` + +### 开源版“运输大亨”(OpenTTD) + +![](https://opensource.com/sites/default/files/uploads/openttd.png) + +[OpenTTD][11](见我们的 [评测][12] )是一个开源实现的 [运输大亨][13] 。该游戏的目的在于创建一个交通运输网络并获得金钱,从而建立更加复杂的运输网络。这个运输网络包括了船只、巴士、火车、货车和飞机。默认的游戏时间在 1950 和 2050 之间,玩家的目标就是在规定时间内拿到最高的游戏分数。游戏的最终分数基于很多因素,例如货物运输的数量、玩家所拥有的汽车数量以及他们赚到的钱。 + +安装 OpenTTD,你只需要在终端运行以下指令: + + * Fedora 用户: `dnf install openttd` + * Debian/Ubuntu 用户 `apt install openttd` + +### 韦诺之战The Battle for Wesnoth + +![](https://opensource.com/sites/default/files/uploads/the_battle_for_wesnoth.png) + +[韦诺之战][14] 是目前最完善的开源游戏之一。这个回合制游戏在一个奇幻的故事设定下。游戏在一个六角形网格中进行,各个单元可以互相操作进行战斗。每个类型的单元都有它独特的能力和弱点,因此玩家需要根据这些特点来设计不同的行动。韦诺之战中有很多不同的行动分支,每个行动分支都有它特别的故事线和目标。韦诺之战同时也有一个地图编辑器,感兴趣的玩家可以创作自己的地图以及行动分支。 + +安装韦诺之战,你只需要在终端运行以下指令: + + * Fedora 用户: `dnf install wesnoth` + * Debian/Ubuntu 用户: `apt install wesnoth` + +### UFO:外星入侵UFO: Alien Invasion + +![](https://opensource.com/sites/default/files/uploads/ufo_alien_invasion.png) + +[UFO: Alien Invasion][15] 是一个开源策略游戏,基于 [幽浮系列][20]X-COM。 有两个不同的游戏模式: geoscape 和 tactical。在 geoscape 模式下,玩家控制大局、管理基地、开发新技术以及掌控整体策略。 在 tactical 游戏模式下,玩家控制一群士兵并且以回合制的形式直接迎战外星侵略者。两个游戏模式提供了不同的游戏玩法,两者都需要相当复杂的策略和战术。 + +安装这个游戏,你只需要在终端下运行以下指令: + + * Debian/Ubuntu 用户: `apt install ufoai` + +遗憾的是,UFO: 外星入寝不支持 Fedora 发行版。 + +如果你知道除了这些以外的开源策略模拟游戏的话,欢迎在评论中分享。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/18/8/strategy-simulation-games-linux + +作者:[Joshua Allen Holm][a] +选题:[lujun9972](https://github.com/lujun9972) +译者:[Scoutydren](https://github.com/Scoutydren) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:https://opensource.com/users/holmja +[1]:https://linux.cn/article-10433-1.html +[2]:https://opensource.com/article/18/3/card-board-games-linux +[3]:https://opensource.com/article/18/6/puzzle-games-linux +[4]:https://opensource.com/article/18/7/racing-flying-games-linux +[5]:https://opensource.com/article/18/8/role-playing-games-linux +[6]:http://www.freeciv.org/ +[7]:https://en.wikipedia.org/wiki/Civilization_(series) +[8]:https://megaglest.org/ +[9]:https://en.wikipedia.org/wiki/Warcraft +[10]:https://en.wikipedia.org/wiki/StarCraft +[11]:https://www.openttd.org/ +[12]:https://opensource.com/life/15/7/linux-game-review-openttd +[13]:https://en.wikipedia.org/wiki/Transport_Tycoon#Transport_Tycoon_Deluxe +[14]:https://www.wesnoth.org/ +[15]:https://ufoai.org/ +[16]:https://opensource.com/downloads/cheat-sheets?intcmp=7016000000127cYAAQ +[17]:https://opensource.com/alternatives?intcmp=7016000000127cYAAQ +[18]:https://opensource.com/tags/linux?intcmp=7016000000127cYAAQ +[19]:https://developers.redhat.com/cheat-sheets/advanced-linux-commands/?intcmp=7016000000127cYAAQ +[20]:https://en.wikipedia.org/wiki/X-COM diff --git a/published/20181016 Final JOS project.md b/published/20181016 Final JOS project.md index 92b14d8f97..93358e622a 100644 --- a/published/20181016 Final JOS project.md +++ b/published/20181016 Final JOS project.md @@ -1,4 +1,4 @@ -Caffeinated 6.828:实验 6:最终的 JOS 项目 +Caffeinated 6.828:实验 7:最终的 JOS 项目 ====== ### 简介 diff --git a/translated/tech/20181219 How to open source your Python library.md b/published/20181219 How to open source your Python library.md similarity index 59% rename from translated/tech/20181219 How to open source your Python library.md rename to published/20181219 How to open source your Python library.md index 7c4a2d3f25..e21eaeedb8 100644 --- a/translated/tech/20181219 How to open source your Python library.md +++ b/published/20181219 How to open source your Python library.md @@ -1,53 +1,52 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-10491-1.html) [#]: subject: (How to open source your Python library) [#]: via: (https://opensource.com/article/18/12/tips-open-sourcing-python-libraries) [#]: author: (Moshe Zadka https://opensource.com/users/moshez) 如何开源你的 Python 库 ====== -这 12 个步骤能确保成功发布。 + +> 这 12 个步骤能确保成功发布。 + ![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/button_push_open_keyboard_file_organize.png?itok=KlAsk1gx) -你写了一个 Python 库。我觉着这太棒了!如果让人们能够轻松使用它不是很优雅么?这有一个需要考虑的清单,以及在开源 Python 库时要采取的具体步骤。 +你写了一个 Python 库。自己觉着这太棒了!如果让人们能够轻松使用它不是很优雅么?这有一个需要考虑的清单,以及在开源 Python 库时要采取的具体步骤。 -### 1\. 源码 +### 1、源码 将代码放在 [GitHub][1] 上,这里有很多开源项目,并且人们很容易提交拉取请求。 -### 2\. 许可证 - -选择一个开源许可证。默认的一个不错的,宽容的是 [MIT 许可][2]。如果你有特定要求,Creative Common 的[选择许可][3]可以指导你完成其他选择。最重要的是,在选择许可时要记住三条规则: +### 2、许可证 +选择一个开源许可证。一般来说 [MIT 许可证][2]是一个挺好的宽容许可证。如果你有特定要求,Creative Common 的[选择许可证][3]可以指导你完成其它选择。最重要的是,在选择许可证时要记住三条规则: * 不要创建自己的许可证。 * 不要创建自己的许可证。 * 不要创建自己的许可证。 +### 3、README - -### 3\. README - -将一个名为 README.rst 的文件(使用 ReStructured Text 格式化)放在项目树的顶层。 +将一个名为 `README.rst` 的文件(使用 ReStructured Text 格式化)放在项目树的顶层。 GitHub 将像 Markdown 一样渲染 ReStructured Text,而 ReST 在 Python 的文档生态系统中的表现更好。 -### 4\. 测试 +### 4、测试 写测试。这对你来说没有用处。但对于想要编写避免破坏相关功能的补丁的人来说,它非常有用。 测试可帮助协作者进行协作。 -通常情况下,如果可以用 [**pytest**][4] 运行就最好了。还有其他测试工具 - 但很少有理由去使用它们。 +通常情况下,如果可以用 [pytest][4] 运行就最好了。还有其他测试工具 —— 但很少有理由去使用它们。 -### 5\. 样式 +### 5、样式 -使用 linter 制定样式:PyLint、Flake8 或者带上 **\--check** 的 Black 。除非你使用Black,否则请确保在下载源代码文件中指定配置选项。 +使用 linter 制定样式:PyLint、Flake8 或者带上 `--check` 的 Black 。除非你使用 Black,否则请确保在一个文件中指定配置选项,并签入到版本控制系统中。 -### 6\. API 文档 +### 6、API 文档 使用 docstrings 来记录模块、函数、类和方法。 @@ -55,33 +54,33 @@ GitHub 将像 Markdown 一样渲染 ReStructured Text,而 ReST 在 Python 的 Sphinx 可以同时处理 Google 风格和 ReST 的 docstrings,以将零散的文档集成为 API 文档。 -### 7\. 零散文档 +### 7、零散文档 使用 [Sphinx][7]。(阅读[我们这篇文章][8]。)教程很有用,但同样重要的是要指明这是什么、它有什么好处、它有什么坏处、以及任何特殊的考虑因素。 -### 8\. 构建 +### 8、构建 -使用 **tox** 或 **nox** 自动运行测试、linter 并构建文档。这些工具支持“依赖矩阵”。这些矩阵往往会快速增长,但你可以尝试针对合理的样本进行测试,例如 Python 版本、依赖项版本以及可能安装的可选依赖项。 +使用 tox 或 nox 自动运行测试和 linter,并构建文档。这些工具支持“依赖矩阵”。这些矩阵往往会快速增长,但你可以尝试针对合理的样本进行测试,例如 Python 版本、依赖项版本以及可能安装的可选依赖项。 -### 9\. 打包 +### 9、打包 -使用 [setuptools][9] 工具。写一个 **setup.py** 和一个 **setup.cfg**。如果同时支持 Python 2 和 3,请在 **setup.cfg** 中指定 universal wheel。 +使用 [setuptools][9] 工具。写一个 `setup.py` 和一个 `setup.cfg`。如果同时支持 Python 2 和 3,请在 `setup.cfg` 中指定 universal 格式的 wheel。 -**tox** 或 **nox** 应该做的一件事是构建 wheel 并对已安装的 wheel 进行测试。 +tox 或 nox 应该做的一件事是构建 wheel 并对已安装的 wheel 进行测试。 避免使用 C 扩展。如果出于性能或绑定的原因一定需要它们,请将它们放在单独的包中。正确打包 C 扩展可以写一篇新的文章。这里有很多问题! -### 10\. 持续集成 +### 10、持续集成 -使用公共持续工具。[TravisCI][10] and [CircleCI][11] 为开源项目提供免费套餐。将 GitHub 或其他仓库配置为在合并拉请求之前需要先通过检查, 那么你就不必担心在代码评审中告知用户修复测试或样式。 +使用公共持续工具。[TravisCI][10] 和 [CircleCI][11] 为开源项目提供免费套餐。将 GitHub 或其他仓库配置为在合并拉请求之前需要先通过检查,那么你就不必担心在代码评审中告知用户修复测试或样式。 -### 11\. 版本 +### 11、版本 使用 [SemVer][12] 或 [CalVer][13]。有许多工具可以帮助你管理版本:[incremental][14]、[bumpversion][15] 和 [setuptools_scm][16] 等都是 PyPI 上的包,都可以帮助你管理版本。 -### 12\. 发布 +### 12、发布 -通过运行 **tox** 或 **nox** 并使用 **twine** 将文件上传到 PyPI 上发布。你可以通过在 [DevPI][17] 中“测试上传”。 +通过运行 tox 或 nox 并使用 twine 将文件上传到 PyPI 上发布。你可以通过在 [DevPI][17] 中“测试上传”。 -------------------------------------------------------------------------------- @@ -90,7 +89,7 @@ via: https://opensource.com/article/18/12/tips-open-sourcing-python-libraries 作者:[Moshe Zadka][a] 选题:[lujun9972][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 diff --git a/translated/tech/20180814 5 open source strategy and simulation games for Linux.md b/translated/tech/20180814 5 open source strategy and simulation games for Linux.md deleted file mode 100644 index b7878dd1b6..0000000000 --- a/translated/tech/20180814 5 open source strategy and simulation games for Linux.md +++ /dev/null @@ -1,109 +0,0 @@ -5款开源的Linux策略模拟游戏 -====== - -![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/arcade_game_gaming.jpg?itok=84Rjk_32) - -长久以来,游戏都是 Linux 的软肋。近些年,Steam,GOG等游戏发布平台上不少商业游戏都开始支持 Linux,这对于 Linux 的游戏生态来说是件好事,但是我们能在这些平台上玩到的游戏通常是不开源的商业作品。当然,这些游戏在一个开源的操作系统上运行,但对于一个开源提倡者来说这似乎还不够纯粹。 - -那么,我们能找到既免费开源又能给玩家带来完整游戏体验的优质游戏吗?当然!虽然绝大多数的开源游戏很难和3A 商业游戏大作竞争,但仍然有不少各种类型的开源游戏,不仅内容有趣而且直接可以通过几大 Linux 发行版本库中直接安装。就算某个游戏在不在某个发行版本的库中,我们也可以在这个游戏项目的网站上找到直接的安装方法。 - -本篇文章将会介绍策略和模拟类游戏。我已经写了街机游戏、桌面卡牌游戏、解谜游戏、竞速飞行游戏以及角色扮演游戏。 - -### Freeciv 开源“文明” - -![](https://opensource.com/sites/default/files/uploads/freeciv.png) - -[Freeciv][6] 可以被视为是文明系列游戏的开源版本。游戏玩法和文明系列最早期的游戏十分类似, Freeciv 可以让玩家选择选用文明 1 或者文明 2 中的游戏规则设置。Freeciv 中包含了很多元素,例如建造城市、探索世界地图、发展科技以及和其他扩张中的文明竞争。胜利条件包括打败所有其他的文明或建立一个外星殖民地,如果在前两者都没有达成的话,在游戏时间期限前存活下来也可以算作胜利。这个游戏可以和其他玩家联机也可以和 AI 对战,不同的地图集可以改变游戏的外观。 - -安装 Freeciv,你只需要在终端下运行以下指令。 - - * Fedora 用户: `dnf install freeciv` - - * Debian/Ubuntu 用户:`apt install freeciv` - - -### MegaGlest - -![](https://opensource.com/sites/default/files/uploads/megaglest.png) - -[MegaGlest][8] 是一个开源的实时战略游戏,类似暴雪公司制作的游戏魔兽世界和星际争霸。玩家控制不同派别的人员、建造新建筑、招募士兵、拓展领土并与敌人作战。在游戏比赛的最开始,玩家仅能建造最基础的建筑和招募最基础的士兵。为了建造更高级的建筑并招募级别更高的人员,玩家必须通过增加建筑和人员从而一路提高科技树、解锁更加高级的选项。当敌人进入国土领域之中,战斗单元必须迎战。但是最好的应对策略是,通过控制战斗单元直接操控每一场战斗。在管理新建筑的建立,新人员的招募的同时控制战斗局势听上去十分困难,但是这就是RTS(实时战略游戏)游戏的精华所在。MegaGlest 这个游戏提供了大量的人员派类,玩家可以不断尝试这些不同的技巧。 - -安装 MegaGlest,你只需要在终端下运行以下指令: - - * Fedora 用户: `dnf install megaglest` - * Debian/Ubuntu 用户:`apt install megaglest` - - - -### OpenTTD 开源版“运输大亨” - -![](https://opensource.com/sites/default/files/uploads/openttd.png) - -[OpenTTD][11] (见我们的 [评测][12] )是一个开源实现的 [运输大亨][13] 。该游戏的目的在于创建一个交通运输网络并获得金钱,从而建立更加复杂的运输网络。这个运输网络包括了船只、巴士、火车、货车和飞机。默认的游戏时间在1950和2050之间,玩家的目标就是在规定时间内拿到最高的游戏分数。游戏的最终分数基于很多因素,例如货物运输的数量、玩家所拥有的汽车数量以及他们赚到的钱。 - -安装 OpenTTD,你只需要在终端运行以下指令: - - * Fedora 用户: `dnf install openttd` - * Debian/Ubuntu 用户 `apt install openttd` - - - -### The Battle for Wesnoth 韦诺之战 - -![](https://opensource.com/sites/default/files/uploads/the_battle_for_wesnoth.png) - -[韦诺之战][14] 是目前最完善的开源游戏之一。这个回合制游戏在一个奇幻的故事设定下。游戏在一个六角形网格中进行,各个单元可以互相操作进行战斗。每个类型的单元都有它独特的能力和弱点,因此玩家需要根据这些特点来设计不同的行动。韦诺之战中有很多不同的行动分支,每个行动分支都有它特别的故事线和目标。The 韦诺之战同时也有一个地图编辑器,感兴趣的玩家可以创作自己的地图以及行动分支。 - -安装韦诺之战,你只需要在终端运行以下指令: - - * Fedora 用户: `dnf install wesnoth ` - * Debian/Ubuntu 用户: `apt install wesnoth` - - - -### UFO: Alien Invasion (UFO:外星入侵) - -![](https://opensource.com/sites/default/files/uploads/ufo_alien_invasion.png) - -[UFO: Alien Invasion][15] 是一个开源策略游戏,基于幽浮系列 [X-COM series][20]。 有两个不同的游戏模式: geoscape 和tactical。在 geoscape 模式下,玩家控制大局、管理基地、开发新技术以及掌控整体策略。 在tactical 游戏模式下,玩家控制一群士兵并且以回合制的形式直接迎战外星侵略者。两个游戏模式提供了不同的游戏玩法,两者都需要相当复杂的策略和战术。 - -安装 UFO:外星入侵,你只需要在终端下运行以下指令: - - * Debian/Ubuntu 用户: `apt install ufoai` - -遗憾的是,UFO: 外星入寝不支持 Fedora 发行版。 - -如果你知道除了这些以外的开源策略模拟游戏的话,欢迎在评论中分享。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/18/8/strategy-simulation-games-linux - -作者:[Joshua Allen Holm][a] -选题:[lujun9972](https://github.com/lujun9972) -译者:[Scoutydren](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]:https://opensource.com/users/holmja -[1]:https://opensource.com/article/18/1/arcade-games-linux -[2]:https://opensource.com/article/18/3/card-board-games-linux -[3]:https://opensource.com/article/18/6/puzzle-games-linux -[4]:https://opensource.com/article/18/7/racing-flying-games-linux -[5]:https://opensource.com/article/18/8/role-playing-games-linux -[6]:http://www.freeciv.org/ -[7]:https://en.wikipedia.org/wiki/Civilization_(series) -[8]:https://megaglest.org/ -[9]:https://en.wikipedia.org/wiki/Warcraft -[10]:https://en.wikipedia.org/wiki/StarCraft -[11]:https://www.openttd.org/ -[12]:https://opensource.com/life/15/7/linux-game-review-openttd -[13]:https://en.wikipedia.org/wiki/Transport_Tycoon#Transport_Tycoon_Deluxe -[14]:https://www.wesnoth.org/ -[15]:https://ufoai.org/ -[16]:https://opensource.com/downloads/cheat-sheets?intcmp=7016000000127cYAAQ -[17]:https://opensource.com/alternatives?intcmp=7016000000127cYAAQ -[18]:https://opensource.com/tags/linux?intcmp=7016000000127cYAAQ -[19]:https://developers.redhat.com/cheat-sheets/advanced-linux-commands/?intcmp=7016000000127cYAAQ -[20]:https://en.wikipedia.org/wiki/X-COM