Atölye › Frogger Tarzı Karşıya Geçiş › 9/22. adım
Bir araba kurbağanın karesine gelirse kurbağa ezilir ve yenisi en alttan başlar. Kurbağanın kutusunu her yandan biraz küçültüyoruz: yalnız gerçekten üst üste binmek sayılsın, sıyırmak değil.
```js
function newFrog() {
frog = { x: 5, y: START_ROW }
}
function laneAt(row) {
return LANES.find((lane) => lane.row === row)
}
function die() {
newFrog()
}
function hitByCar(lane) {
return items(lane).some((x) => frog.x + 0.15 < x + lane.len && frog.x + 0.85 > x)
}
const lane = laneAt(frog.y)
if (!lane) return
if (hitByCar(lane)) die()
```newFrog() → kurbağayı başlangıca koyar.LANES.find((lane) => lane.row === row) → o satırdaki şeridi bul; güvenli satırlarda undefined.if (!lane) return → kurbağa güvenli bir satırdaysa kontrol edecek bir şey yok.hitByCar → şeritteki arabalardan biri (some) kurbağaya biniyor mu? Araba x'ten x + len'e; kurbağa
karesinin 0,15'i ile 0,85'i arası sayılır:frog.x + 0.15 < x + lane.len → kurbağanın solu arabanın sağından önce,frog.x + 0.85 > x → kurbağanın sağı arabanın solundan sonra.die() → şimdilik yalnız yeni kurbağa. Canları sonraki adımda ekliyoruz.for (const lane of LANES) lane.offset = 0 satırının altına newFrog ve laneAt fonksiyonlarını yaz.const DIRECTIONS satırının üstüne die, update'in üstüne hitByCar fonksiyonunu yaz.update'in sonuna, bir boş satırdan sonra üç kontrol satırını yaz.Beceriler: Çarpışma tespiti