1 ポイント 投稿者 GN⁺ 2024-10-27 | 1件のコメント | WhatsAppで共有
  • ポッドキャストや音楽を聴きながら気軽に解くのに向いた Battleship Solitaire 形式の論理パズルで、盤面に隠れた船と水のマスを推理して埋めていく方式
  • 各行・列の数字は、その列に含まれる 船のマス数を示し、パズル上部の船リストは見つけるべき船のサイズを示す
  • 船同士は接することができず、斜め接触も禁止されているため、確定した船の周囲を水として確定する、といった推理が可能
  • 行き詰まったときは、残りマス、残りは水、角の水処理、完成した船の囲い込み、最大の船が入る唯一の位置探しといったルールを活用できる
  • モバイルでもプレイでき、数字をクリックして水を自動で埋める機能があり、繰り返し入力の負担を減らせる

パズルの仕組み

  • Battleship SolitaireBattleship Logic Puzzle) の一種で、Battleship Solitaire、Bimaru、Yubotu とも呼ばれる
  • 盤面には複数のサイズの船が隠されており、パズル上部には見つけるべき 船のサイズ一覧が表示される
  • ユーザーは各マスをクリックして、船がある場所と水の場所を指定する
  • 行と列の数字は、その行または列に含まれる 船のマス数を表す
  • すべてのマスを正しく埋めるとパズルが解ける
  • 船同士は接することができず、斜めにも接触できない

解き方のルールと便利機能

  • 残りマスのルール: ある行に船のマスが3つ必要で、水ではないマスがちょうど3つだけ残っているなら、その3マスはすべて船である
  • 残りは水のルール: ある行がすでに必要な船のマス数を満たしているなら、その行の残りのマスはすべて水である
    • 必要な船のマス数が0の行も、同じようにすべて水として処理できる
    • 数字をクリックすると、水を自動で埋められる
  • 角の水のルール: 船は斜めに接することができないため、船のマスの斜め角の周囲は常に水にできる
  • 完成した船を囲むルール: 船全体の位置が分かれば、その船の周囲を完全に水で囲める
  • 入る唯一の場所のルール: 盤面で最大の船が入る位置が1つだけ残る場合がある
  • モバイル端末でもプレイできる

1件のコメント

 
GN⁺ 2024-10-27
Hacker Newsのコメント
  • こういうパズルが好きなら、PuTTY作者のSimon Tathamによる Puzzles もぜひ見る価値がある: https://www.chiark.greenend.org.uk/~sgtatham/puzzles/
    AndroidとiPhoneへの移植もよくできていて、広告や余計な要素なしで無料

    • ここにもある: https://puzz.link/db/
      ただし各パズルのルールは自分で探す必要がある
  • 興味深いことに、BattleshipsパズルはNP完全: http://www.mountainvistasoft.com/docs/BattleshipsAsDecidabil...
    パズルや盤面サイズが大きくなったとき、多項式時間で解ける既知の解法アルゴリズムはない

  • モバイルフレンドリーに作ってくれてうれしい。普段使っていたサイトは使い物にならないほどで、Play Storeで見つけたものは、生成に大した手間もかかっていないパズル50個パックを $1.99 で売ろうとするアプリばかりだったので、自分でAndroid版を作りかけた
    週1問の無料パズルを、ものすごい寛大さのように扱ってさえいた。ただ、左クリック/右クリックのデフォルト動作を入れ替える設定があるとよい。こういうパズルでは「ある場所をクリックし、ない場所は右クリックでマークする」方式が好み

    • すぐできる。手早く ボタン入れ替えURLパラメータ を追加した: https://lukerissacher.com/battleships?swapmouse=1
      要望が多ければ、保存される設定にするのがよさそう
    • パズルによっては実際に 制作の手間がかかっている 場合があり、こうしたパズルのかなり多くは自動生成ではない
      解いた経験が多いと、だいたい生成パズルと人間が作ったパズルも見分けられる。Battleshipパズルを探しているのか、それとも変種Sudoku全般を探しているのかも気になる
  • これは面白い Nonogramの変種 のように思える。このパズルが気に入ったならNonogramも好きだと思う: https://en.wikipedia.org/wiki/Nonogram

  • 不思議なことに、全体として 15x15パズル のほうが6x6より簡単に感じる。15x15は密度が低く、二次的な論理をあまり使わなくて済むからかもしれない
    提案を一つ挙げるなら、中央クリックでそのマスを可能性のある場所としてマークできるとよい

  • 横の数字が連続した船を意味するという Nonogramのルール を忘れるまで少し時間がかかった。その後はとても楽しかった

  • 似たパズルゲームとして、ZachtronicsのLast Call BBSにある Dungeons & Diagrams がある。8x8のグリッドでどのマスが壁かを決めてダンジョンを作り、「行き止まりには必ずモンスターがいなければならず、その逆も同様」といった制約を満たす必要がある
    このゲームも各行と列が満たすべき合計を教えてくれる。無料クローンもある: https://netchips.dev/

  • Bimaruは面白いパズル。以前 Battleships という文言を含むAndroidアプリをストアに出したら、Hasbroから著作権クレームが入り、Googleが即座にStoreからアプリを削除したのを覚えている
    そこでWeb版として作り直した。今でもここで見られるはず: https://www.kleemans.ch/static/bimaru-web/

  • AndroidのFirefox Mobileでは 10x10以上 で動作しない。タッチ対象が小さくなりすぎて選択できないように見える
    数字は押して赤くできるが、どのマスも選択できないように見える。より小さいサイズや同じ端末のChromeでは問題なく動作する

    • 奇妙なバグだったが、たった今修正したので再読み込みすればよい。狭い画面でFirefoxだけ、マス要素の高さが0になる CSSの問題 で、その要素と親要素には明示的な高さがあったにもかかわらずそうなっていた
      絶対配置の回避策を追加して修正した
  • 似たエンジンと比べると、ドラッグ実装 がかなり気になる。慣れた方式では、クリック後のドラッグは横または縦の1列にだけ効き、元の状態と新しい状態を考慮して同じ操作だけを行う
    特に、すでに1マスおきに水で埋めてある状態で「船」モードでドラッグした場合、空白マスだけを埋めるべきで、水マークを上書きしてはいけない。Ctrl-ZやU、ボタンによる 元に戻す も必要。紙で解いていた感覚を一部取り戻すには、新しいパズルを始めると消える近くのメモ用テキストボックスも便利

    • クリック後のドラッグが1列に制限されないのは、完成した船の周囲を囲んでマークするときには実際に便利。外側の数字の手がかりをタップして不足している水マークを埋められるので、長い直線を引く必要が減る
      ただし同じ操作だけを行うようにすれば、さらに良くなりそう
    • 元に戻す機能はぜひ欲しい。モバイルでは、特に大きなグリッドで、誤って間違ったマスを押しやすく、以前の状態が何だったのか分かりにくい
    • 空でないマスを上書きしないクリック後ドラッグは、Nintendoの Picross シリーズにある良い機能