1个不稳定版本
0.1.0 | 2021年10月8日 |
---|
#1450 在 算法
每月 35次下载
在 5 个crate(4个直接)中使用
680KB
15K SLoC
Rusty Train
构建18xx地图和识别最优列车路线的图形用户界面。
示例用法
使用以下命令启动Rusty Train cargo run --release
使用 Ctrl+O
加载 1867_bc
示例游戏,该游戏位于 ./examples/output/1867_bc.game
按 r
键找到一家公司的最优路线。选择 大西部铁路 并点击 OK
这家公司拥有一列 5-train
和一列 8-train
,并且不接收右侧列出的四个奖金。输入这些详细信息并点击 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》或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 协议(《LICENSE-MIT》或http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则根据Apache-2.0许可证定义,你故意提交以供包含在本作品中的任何贡献,都将如上双许可,没有任何附加条款或条件。
依赖关系
~10MB
~207K SLoC