Atölye › Bomberman Tarzı Arena › 9/42. adım
Sıra oyuncuda. Oyuncu bir nesne: konumu (x sütun, y satır) ve ileride kullanacağımız bir hedefi (target)
var. Konum kare birimiyle tutulur, piksel değil: x = 2.5 2. ve 3. sütunun tam ortası demek. Böylece kurallar
satır ve sütunla konuşur; yalnız çizim TILE ile çarpar.
Oyuncu sol üst köşede başlar ve karesinin ortasında beyaz bir daire olarak çizilir. Daireyi çizen küçük bir yardımcı da yazıyoruz; ileride bombalar ve düşmanlar da onu kullanacak.
```js
let player // { x, y, target: null or { r, c } }
player = { x: 1, y: 1, target: null }
function drawCircle(m, color, radius) {
ctx.fillStyle = color
ctx.beginPath()
ctx.arc(m.x * TILE + TILE / 2, TOP + m.y * TILE + TILE / 2, radius, 0, Math.PI * 2)
ctx.fill()
}
drawCircle(player, '#f8fafc', 12)
```let player → oyuncu. Yorum içinde ne olacağını söylüyor.player = { x: 1, y: 1, target: null } → bir nesne: ad: değer çiftleri. player.x ile okunur. null
"hiçbir şey": henüz hedef yok.function drawCircle(m, color, radius) { → m neredeyse (oyuncu, ileride bomba ya da düşman) oraya daire çizer:m.x * TILE + TILE / 2 → karenin sol kenarı + yarım kare = karenin ortası (piksel).TOP + m.y * TILE + TILE / 2 → aynısı dikeyde, üst şerit kadar aşağıdan.ctx.beginPath() → yeni şekil; ctx.arc(x, y, yarıçap, 0, Math.PI * 2) → tam tur çember; ctx.fill() → içini
boya.drawCircle(player, '#f8fafc', 12) → oyuncuyu 12 yarıçaplı, neredeyse beyaz bir daire olarak çiz. Karelerden
sonra çizilir ki üstlerinde görünsün.let grid satırının altına let player yaz.reset içinde makeGrid() satırının altına player = { x: 1, y: 1, target: null } yaz.function draw() { satırının üstüne drawCircle fonksiyonunu yaz.draw'un en sonuna, iki döngünün kapanan }'lerinden sonra drawCircle(player, '#f8fafc', 12) yaz.Beceriler: Oyun durumları, Canvas üzerine çizim
← Köşeleri boş tut Basılı tuşlar →