Atölye › Mayın Tarlası › 5/26. adım

Komşular

Ne yapıyoruz

Mayın Tarlası'ndaki hemen her soru bir hücrenin komşularıyla ilgili: çevresindeki en fazla 8 hücre. Sayılar komşulardaki mayınları sayar; boş bir alan komşulara doğru açılır.

Komşuları bulmak için satıra ve sütuna −1, 0 ya da +1 ekleriz: 3 × 3 = 9 ihtimal. Birini (0, 0, yani hücrenin kendisi) atlarız; tahtanın dışına taşanları da.

```js
// The up to 8 cells around a cell, skipping the ones that would be off the board.
function neighbors(cell) {
  const list = []
  for (let dr = -1; dr <= 1; dr++) {
    for (let dc = -1; dc <= 1; dc++) {
      if (dr === 0 && dc === 0) continue
      const row = cell.row + dr
      const col = cell.col + dc
      if (row >= 0 && row < SIZE && col >= 0 && col < SIZE) list.push(grid[row][col])
    }
  }
  return list
}
```

Ne işe yarıyor

Sıra sende

newGame fonksiyonunun kapanan }'sinin altına bir boş satır bırakıp yorum satırını ve neighbors fonksiyonunu yaz. Çalıştır. Ekran değişmez; kontroller komşuları sayıyor.

Beceriler: Döngüler, Diziler ve nesneler

Tüm adımlar

  1. Hücre nesnelerinden bir ızgara
  2. Tuval ve kalem
  3. Tarlayı çiz
  4. Her karede çiz
  5. Komşular
  6. Mayınlar, ama ilk tıklamanın altına değil
  7. Adayları karıştır
  8. Çevredeki mayınları say
  9. Hücre aç
  10. Açık hücre farklı görünür
  11. Renkli sayılar
  12. Tıkla ve aç
  13. Mayına basmak
  14. Mayınları göster
  15. Taşma dolgusu
  16. Sağ tuşla bayrak
  17. Bayrak hücresini korur
  18. Bayrakları çiz
  19. Kalan mayınlar
  20. Kazanmak
  21. Son ve yeni oyun
  22. Saat kaç?
  23. Saat
  24. Saati durdur
  25. En iyi süre
  26. Kendin yap: yanlış bayraklar