Atölye › 15 Bulmacası › 11/27. adım
16 sayıyı elle yazdık. Ama çözülmüş tahtaya birazdan tekrar ihtiyacımız olacak ("bulmaca çözüldü mü?" diye
karşılaştırmak için), ve N'yi 3 ya da 5 yapsak elle yazdığımız liste bozulur.
Bu yüzden çözülmüş tahtayı N'den üreten bir fonksiyon yazıyoruz: solvedTiles. Tek satır, ama parça parça
okuyunca basit.
```js
const solvedTiles = () => [...Array(N * N - 1).keys()].map((i) => i + 1).concat(0)
function reset() {
tiles = solvedTiles()
}
```N * N - 1 → taş sayısı: 16 − 1 = 15.Array(15) → 15 boş yeri olan bir liste. .keys() → o yerlerin numaraları: 0, 1, ... 14.[... ] → üç nokta bu numaraları dağıtır, köşeli parantez onları bir listeye koyar: [0, 1, ..., 14]..map((i) => i + 1) → her elemana 1 ekleyip yeni bir liste yapar: [1, 2, ..., 15]..concat(0) → listenin sonuna 0 (boşluk) ekler: [1, 2, ..., 15, 0].reset artık bu listeyi kullanıyor. Her çağrı yeni bir liste ürettiği için tiles'ı değiştirmek çözülmüş hâli
bozmaz.const colOf = ... satırının altına solvedTiles satırını yaz.reset içindeki uzun listeyi sil, yerine solvedTiles() yaz: tiles = solvedTiles().Beceriler: Diziler ve nesneler
← Tekrar tekrar çiz Komşular →