1个不稳定版本
0.1.0 | 2021年10月8日 |
---|
#2508 在 算法
62 每月下载量
用于 8 个crate(7个直接使用)
410KB
9K SLoC
Rusty Train
用于构建18xx地图和识别最佳火车路线的图形用户界面。
示例用法
使用cargo run --release
启动Rusty Train
使用Ctrl+O
加载1867_bc
示例游戏,该游戏位于./examples/output/1867_bc.game
按r
查找公司的最佳路线。选择大西部铁路
并点击OK
该公司拥有5辆火车和8辆火车,并且没有获得右侧列出的四个奖金之一。输入这些详细信息并点击OK
在搜索最佳路线时,地图将禁用并淡出
找到最佳路线后,它们将绘制在地图上(以绿色和红色突出显示),并在窗口标题中显示净收入
使用箭头键(<Left>
、<Right>
、<Up>
、<Down>
)循环访问各个路线;火车名称和路线收入显示在窗口标题中
按d
显示股息支付
按Esc
或Return
返回到默认用户界面模式。
用户指南
有四种不同的用户界面 模式
- 默认模式:选择和旋转地块,切换到其他模式。
- 替换地块:放置和升级地块。
- 编辑代币:在地块上放置和移除代币。
- 查找路线:识别公司的最佳路线和收入。
每种模式对不同按键组合有不同的响应(请参阅下文部分)。
还有全局按键,在任何模式下都执行相同操作
按键 | 操作 |
---|---|
q 、Q |
退出 |
s 、S |
保存当前地图的屏幕截图 |
Ctrl+n , Ctrl+N |
开始新游戏 |
Ctrl+o , Ctrl+O |
从磁盘加载已保存的游戏 |
Ctrl+s , Ctrl+S |
将当前游戏保存到磁盘 |
+ |
放大 |
- |
缩小 |
默认模式
使用此模式选择瓦片或六边形空间,切换到其他模式以放置瓦片、放置代币和选择最佳路线。
按键 | 操作 |
---|---|
e , E |
切换到替换瓦片模式,选择任何瓦片 |
u , U |
切换到替换瓦片模式,选择升级瓦片 |
t , T |
切换到编辑代币模式 |
r , R |
切换到查找路线模式 |
<左> |
选择当前六边形左侧的六边形 |
<右> |
选择当前六边形右侧的六边形 |
<上> |
选择当前六边形上方的六边形 |
<下> |
选择当前六边形下方的六边形 |
任何鼠标按钮 | 选择光标下的六边形 |
, , < |
逆时针旋转当前瓦片 |
. , > |
顺时针旋转当前瓦片 |
<退格键> |
移除当前瓦片 |
<删除键> |
移除当前瓦片 |
p , P |
更改游戏阶段 |
替换瓦片模式
使用此模式放置和升级瓦片。
按键 | 操作 |
---|---|
Esc |
返回到默认模式,忽略任何编辑 |
返回 |
返回到默认模式,保存任何编辑 |
o , O |
如果有的话,显示原始瓦片 |
<上> |
选择下一个可用的瓦片 |
<下> |
选择上一个可用的瓦片 |
, , < |
逆时针旋转所选瓦片 |
. , > |
顺时针旋转所选瓦片 |
编辑代币模式
使用此模式在瓦片上放置和移除代币。
按键 | 操作 |
---|---|
Esc |
返回到默认模式,忽略任何编辑 |
返回 |
返回到默认模式,保存任何编辑 |
<左> |
选择活动瓦片上的上一个代币 |
<右> |
选择活动瓦片上的下一个代币 |
<上> |
将当前代币(如果有)替换为下一个可用的代币 |
<下> |
将当前代币(如果有)替换为上一个可用的代币 |
0 |
移除当前代币 |
<删除键> |
移除当前代币 |
<退格键> |
移除当前代币 |
查找路线模式
使用此模式选择一家公司并找到该公司的最佳路线和收入。
用户将被提示选择在地图上放置代币的一家公司。然后,他们将被提示选择该公司的可用火车和任何相关奖金。
这将启动查找路线过程;根据潜在路线的数量,这可能需要几分钟才能完成。
然后将在地图上绘制最佳路线,并显示最佳收入。用户可以使用箭头键循环查看各个路线。
按键 | 操作 |
---|---|
Esc , Return |
返回到默认模式 |
<Left> , <Up> |
显示上一个火车路线 |
<Right> , <Down> |
显示下一个火车路线 |
d , D |
显示股息支付 |
支持的游戏
以下游戏的地图、瓷砖和火车已实现
- 1830:铁路和强盗大亨
- 1861:俄罗斯帝国的铁路
- 1867:加拿大的铁路
- 1889:四国铁路史(四国1889)
许可
根据以下之一进行许可
- Apache License,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的任何有意提交以包含在作品中的贡献,都将根据上述方式进行双许可,没有任何附加条款或条件。
依赖项
~8MB
~163K SLoC