#screeps #world #utilities #room #visual #ext

room_visual_ext

Screeps:World的附加可视化工具

1 个不稳定版本

0.1.0 2023年3月23日

可视化类别中排名280

MIT许可证

275KB
528 行(不包括注释)

room_visual_ext

这是为Rust bots(Rust游戏API)编写的Rust语言实现的Screeps:World附加可视化工具。

安装

在我们的Cargo.toml中添加依赖项

[dependencies]
room_visual_ext = "0.1.0"

您也可以直接将src/lib.rs文件复制到您的项目中(可能已重命名),并直接使用它或进行修改。

使用方法

  1. 创建一个RoomVisualExt对象,就像创建一个RoomVisual对象一样
use room_visual_ext::RoomVisualExt;
// room_name: RoomName
let room_visual_ext = RoomVisualExt::new(room_name);
  1. 使用其structure方法在指定的坐标和透明度下绘制给定类型的结构。使用透明度1.0进行不透明可视化,使用更小的、正的值进行部分透明。在部分透明可视化中会出现小的视觉伪影。
room_visual_ext.structure(42.0, 42.0, StructureType::Spawn, 1.0);
room_visual_ext.structure_roomxy(
    unsafe { RoomXY::unchecked_new(42u8, 42u8) },
    StructureType::Rampart,
    1.0
);
  1. 您也可以直接从RoomVisualExt对象中调用任何RoomVisual方法。
  2. 由于它就像RoomVisual一样无效,因此您不能在下一个游戏周期中使用该对象。
  3. 放置道路时,道路会自动连接。为了得到游戏中的结果,请先放置在容器上的道路,然后放置在下面的结构之后的壁垒。

示例

以下是展示所有支持的结构在透明度1.0和0.5下的可视化示例。为了比较,我们展示了它们在游戏中的实际外观。

Screenshot of showcase of RoomVisualExt in-game

您可以在examples/showcase.rs文件中找到用于生成这些可视化的代码。

项目历史

最初,这些可视化工具的JS版本发布在Screeps Slack上,并由不同的人维护(没有任何特定的许可证)。如今,您可以在screepers仓库中找到它。大多数颜色和结构的形状值来自screepers的RoomVisual。

然而,这个版本有一些显著的变化

  • 实现了提取器,
  • 用方形建造墙壁和壁垒以改善可见性,
  • 透明的壁垒(基础透明度的50%)以查看下面的内容,
  • 用能量/矿物质填充的结构,使其看起来像活动房间的结构,
  • 较小的终端和核弹以改善可见性(与screepers的RoomVisual中的存储一致),
  • 道路的即时连接,
  • 各种视觉修复,使其更接近原始版本,
  • 没有动画位置、对话框或资源徽章。

依赖关系

~2.2–3.5MB
~62K SLoC