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