Atölye › Kule Savunması › 12/42. adım
Kule türlerini küçük bir tabloda tutacağız: TOWERS. Her türün fiyatı (cost), menzili (range, kare), hasarı
(damage), yeniden dolma süresi (reload, kare) ve rengi var. Şimdilik tek tür: arrow (ok kulesi).
Kurulan kuleler bir listede duracak ve karelerinin içine küçük kareler olarak çizilecek. Liste boş; kuleyi fareyle kurmayı yakında yazacağız.
```js
const TOWERS = {
arrow: { cost: 50, range: 2.5, damage: 4, reload: 24, color: '#38bdf8' },
}
let towers
towers = []
for (const t of towers) {
ctx.fillStyle = TOWERS[t.kind].color
ctx.fillRect(t.col * TILE + 6, TOP + t.row * TILE + 6, TILE - 12, TILE - 12)
}
```const TOWERS = { arrow: { ... } } → nesnenin içinde nesne: TOWERS.arrow.cost 50 altın, range 2.5 kare,
damage 4, reload 24 kare, color açık mavi.let towers → kurulan kuleler: her biri { col, row, kind } gibi bir nesne olacak. Kule yalnız türünün adını
taşır; bilgilerin kendisi tabloda. Böylece yeni bir tür eklemek bir satır veri olur.TOWERS[t.kind] → köşeli parantez, adı bir değişkende duran alanı okur: t.kind 'arrow' ise TOWERS.arrow.ctx.fillRect(t.col * TILE + 6, TOP + t.row * TILE + 6, TILE - 12, TILE - 12) → karenin içinde, her yandan 6
piksel boşluklu 28 × 28'lik kare.const SPEED = ... satırının altına TOWERS tablosunu yaz.let enemies satırının altına let towers yaz; reset içinde enemies = [] satırının altına towers = [] yaz.draw içinde düşman döngüsünün üstüne kule döngüsünü ve bir boş satır yaz.Beceriler: Oyun durumları, Canvas üzerine çizim
← İşte geliyorlar Tıklamadan kareye →