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 を解いた。
- D - Jumping Takahashi 2
https://atcoder.jp/contests/abc257/tasks/abc257_d
- 提出: https://atcoder.jp/contests/abc257/submissions/32796359
- 本番では解けなかった
- 答えを二分探索する
- すべての辺を列挙し条件に合致するものだけを残す
- 始点を全探索して残った辺ですべての頂点に到達できれば OK そうでなければ NG
- NG を 0 OK を 10^10 あたりからはじめれば良い
今日のコミット。
- rust-atcoder 1 commit
- rust-sandbox 4 commits