Atölye › Yılan › 17/28. adım
Rastgele seçilen yem bazen yılanın gövdesine denk gelir; o zaman görünmez olur. Çözüm: seçilen hücre yılanın üstündeyse tekrar seç, boş bir hücre bulana kadar.
```js
function placeFood() {
do {
food = { x: Math.floor(Math.random() * COLS), y: Math.floor(Math.random() * ROWS) }
} while (snake.some((part) => part.x === food.x && part.y === food.y))
}
```do { ... } → süslü parantez içini önce bir kez yap (yem seç).while (...) → parantez içindeki koşul doğru olduğu sürece tekrar yap.snake.some((part) => part.x === food.x && part.y === food.y) → "yılanın parçalarından en az biri yemle
aynı hücrede mi?" some dizideki her parçaya bu soruyu sorar; birinde bile evet çıkarsa sonuç true.placeFood içindeki satırın üstüne do { yaz, satırı iki boşluk daha içeri al, altına } while (...) satırını
yaz. Çalıştır.
Beceriler: Diziler ve nesneler, Döngüler