HTML、CSS、JavaScript を使用してマインスイーパーを再作成しようとしています。隣接するセルをチェックして爆弾かどうかを確認し、カウントする必要がありますが、セルの正しい部分をチェックしていないようです。 x、y、isBomb、isChecked、および隣接するセルの数を表す数値を含むセル クラスを使用しています。また、セルのグリッドを格納するために 1D 配列も使用しています。 そこで私の質問は、この関数に問題があるのか、それとも挿入された 2D 配列を使用してコードを書き直す必要があるのかということです。 リーリー
各セルでcheckN関数を使用した結果-1を足したり、1を足したり、値を少し変更してみましたが、まだ正しくありません
P粉1240704512024-01-18 00:23:38
問題は、coll
と rows
:
cells[xy*coll]
を介して x, y
のセルにアクセスできる場合もあれば、 cells[xy*rows]
を介してアクセスできる場合もあります。 coll
が正しいと思います (各 y
は coll
列で構成される行全体をスキップします)。そのため、コードを :
そして、この間違いを再び繰り返さないように、このロジックを独自の関数に抽出することを検討してください。
(== true
の部分も、別の if
の中に if
があるなど、冗長ですが、どちらも問題は発生しません) p>