#game #git #ui

app minesweeper

使用 Rust 编写的简单扫雷

6 个版本 (稳定版)

使用旧的 Rust 2015

1.3.0 2017 年 6 月 15 日
1.2.1 2016 年 1 月 5 日
1.2.0 2015 年 10 月 26 日
1.1.0 2015 年 9 月 7 日
0.1.0 2015 年 8 月 27 日

#203游戏

每月 30 次下载

MIT 许可证

245KB
1K SLoC

minesweeper-rs 构建状态 许可证 加入聊天 https://gitter.im/Vinatorul/minesweeper-rs

基于 piston_window 的 Rust 扫雷

如何游戏

赢得游戏 - 打开所有带有数字的单元格。

控制

  • R - 重新开始
  • H - 设置场地高度
  • W - 设置场地宽度
  • M - 设置地雷数量
  • 箭头键 选择单元格(或在 setup 模式下更改设置)
  • 空格键 打开单元格
  • Ctrl 标记单元格
  • Esc 退出
  • LMB 点击单元格以打开
  • RMB 点击单元格以标记

注意:已标记的单元格不允许打开,直到标记被移除。

注意:在打开的单元格上按下 空格键LMB 将打开其邻居(感谢 waynenilsenxilec!)

屏幕截图

游戏截图(绿色单元格被标记) 扫雷游戏 注意:您可以在窗口右侧看到已标记单元格的计数器

失败(红色单元格是未爆炸的地雷) 扫雷失败 注意:使用 * 标记导致游戏结束的地雷

许可证

minesweeper 使用 MIT 许可证。请阅读本存储库中的 LICENSE 文件以获取更多信息。

编译

按照以下说明编译 minesweeper-rs

  1. 克隆项目 $ git clone https://github.com/Vinatorul/minesweeper-rs && cd minesweeper-rs
  2. 构建项目 $ cargo build --release注意:不进行优化编译时性能差异很大,因此建议始终使用 --release 来启用它们)
  3. 完成后,二进制文件将位于 target/release/minesweeper

选项

-h 传递给参数或查看此处

USAGE:
    minesweeper [FLAGS] [OPTIONS]

FLAGS:
    -h, --help       Prints help information
        --oldOGL     set OpenGL version to 2.1
    -V, --version    Prints version information

OPTIONS:
    -f, --field <field>       field size "width"x"height"
        --maxFPS <max_fps>    set max fps
    -m, --mines <mines>       max mines
    -s, --size <size>         window size "width"x"height"

如何贡献

总是欢迎贡献!在为 minesweeper 贡献时,请遵循以下指南

  1. 分支 minesweeper
  2. 克隆您的分支(git clone https://github.com/$YOUR_USERNAME/minesweeper-rs && cd minesweeper-rs
  3. 创建新分支(git checkout -b new-branch
  4. 进行更改并提交(git commit -am "your message"
  • 我使用 conventional 变更日志格式,以便使用 clog 更新我的变更日志
  • 除了上述约定之外,我还使用 impwipgr
  • 使用以下格式格式化提交主题行:TYPE(COMPONENT): MESSAGE 其中 TYPE 是以下之一
    • feat - 新功能
    • imp - 对现有功能的改进
    • perf - 性能改进
    • tests - 测试框架或测试的更改
    • fix - 错误修复
    • refactor - 代码功能没有改变,但底层结构可能改变
    • style - 仅样式更改,没有功能更改
    • wip - 工作中提交(通常应使用 git rebase 删除)
    • chore - 所有或与构建系统有关的事情
    • gr - 图形更改
  • COMPONENT 是可选的,可以是一个文件、目录或逻辑组件。如果提交适用于全局,则可以省略
  1. 运行测试(cargo test
  2. git rebase 将合并提交简化,并移除 --fixup 命令(使用 git rebase -i HEAD~NUM,其中 NUM 是回退的提交数量)
  3. 将您的更改推回到您的分支(git push origin $your-branch
  4. 创建一个拉取请求!(您也可以先创建拉取请求,我们将在准备好的时候合并。这是讨论提议更改的好方法。)

依赖关系

~20MB
~228K SLoC