Atölye › Kule Savunması › 15/42. adım
Kuralları koyalım. Bir kule ancak şu dört şart birden doğruysa kurulur:
Hepsini tek bir fonksiyonda topluyoruz: canBuild. Cevabı iki yerde kullanacağız: tıklamayı reddetmek için ve biraz
sonra farenin altındaki kareyi beyaz ya da kırmızı boyamak için.
```js
function canBuild(col, row) {
const inside = col >= 0 && col < COLS && row >= 0 && row < ROWS
const taken = towers.some((t) => t.col === col && t.row === row)
return inside && !road.has(key(col, row)) && !taken && gold >= TOWERS[selected].cost
}
function build(col, row) {
if (!canBuild(col, row)) return
```const inside = col >= 0 && col < COLS && row >= 0 && row < ROWS → sütun 0–11, satır 0–8 arasında mı? && "ve".const taken = towers.some((t) => t.col === col && t.row === row) → bu karede duran en az bir kule var mı?return inside && !road.has(key(col, row)) && !taken && gold >= TOWERS[selected].cost → dördü birden: içeride ve
yol değil (!) ve dolu değil ve altın fiyata yetiyor. Biri bile yanlışsa false.if (!canBuild(col, row)) return → kurulamıyorsa build hiçbir şey yapmadan çıkar.function build(col, row) { satırının üstüne canBuild fonksiyonunu yaz.build'in ilk satırı olarak if (!canBuild(col, row)) return yaz.Beceriler: Oyun durumları, Çarpışma tespiti
← Tıkla ve kur Altını göster →