blog.bouzuya.net

2022-06-27 suiro 0.1.0 をつくった

昨日 (2022-06-26) bouzuya/rust-sandbox の suiro の 0.1.0 をつくった。

suiro は CLI で遊べる水路パズルだ。 Android で遊べる AQUAVIAS というゲームの劣化コピーだ。 https://play.google.com/store/apps/details?id=ua.krou.aqueducts&gl=US

インストール方法など README を書いていない。試していないが↓でたぶんインストールできると思う。インストールするために Rust が必要だ。

$ git clone https://github.com/bouzuya/rust-sandbox
$ cd rust-sandbox/suiro
$ cargo install --path .
$ suiro
 COUNT 0 / q: quit / ←↓↑→: move / space: rotate right
╔═════════╗
━[┌]├ ─ │ ║
║ │ ┘ ─ └ ║
║ ┐ ┐ │ ─ ║
║ │ ┘ │ │ ━
╚═════════╝

HJKL でカーソルを上下左右に動かし Space でパイプを右回転する。

左上から右下まで途切れることなくパイプを繋げればゲームクリアだ。

 COUNT 6 / q: quit / GAME OVER
╔═════════╗
━ ┓ ├ ─ │ ║
║ ┃ ┘ ─ └ ║
║ ┗ ┓ │ ─ ║
║ │ ┗ ━ ━ ━
╚═════════╝

マップの生成と、指定したマップをプレイできるようにしてある。サイズ指定もできる。

$ suiro --generate
6C6G82RA1W60W10A185GG18E0G4G

$ suiro --map 6C6G82RA1W60W10A185GG18E0G4G
 COUNT 0 / q: quit / ←↓↑→: move / space: rotate right
╔═════════╗
━[┫]│ ┘ ┐ ║
║ ┣ ┳ ┻ │ ║
║ ┐ ┐ ┘ └ ║
║ ─ ┴ │ ┌ ━
╚═════════╝

$ suiro --size 8
 COUNT 0 / q: quit / ←↓↑→: move / space: rotate right
╔═════════════════╗
━[┫]┤ │ │ ─ │ ┤ └ ║
║ ┃ ┌ │ ┴ ├ ─ ┴ ─ ║
║ ─ ─ │ │ ┘ ─ ┴ ┤ ║
║ │ ┌ ─ ┤ ├ │ ─ ┴ ║
║ ─ ─ │ ─ │ ─ │ │ ║
║ ─ │ ┌ ├ ├ ─ └ ─ ║
║ │ ┌ ┬ ─ └ ├ ┘ ─ ║
║ ┘ ┴ ┤ └ │ ┐ │ ┴ ━
╚═════════════════╝

今後のバージョンでは↓のようなことができると望ましいがやるかは分からない。

  • 無のパイプを追加する
  • 回転不可なパイプを追加する
  • カーソル表示 [ ] をやめる
  • スコア履歴を追加する
  • 目標スコアを追加する

日鉄ソリューションズプログラミングコンテスト2022(ABC257 : AtCoder Beginner Contest 257)の D を解いた。


今日のコミット。