Atölye › Pong › 21/26. adım
Yeni bir maç için her şeyi başa almalıyız: raketler yerine, skorlar sıfıra, durum "oynanıyor", ilk servis. Hepsini
tek bir reset (sıfırla) fonksiyonunda topluyoruz. Maç bitince Boşluk onu çağıracak; oyun açılırken de bir kez
çalışacak.
```js
let left
let right
let ball
let state // 'playing' or 'over'
function reset() {
left = { x: 20, y: 160, score: 0 }
right = { x: canvas.width - 20 - PADDLE_W, y: 160, score: 0 }
state = 'playing'
serve(1)
}
if (event.key === ' ' && state === 'over') reset()
reset()
```let left ... → değişkenler en üstte değersiz tanımlanır; değerlerini reset verir.function reset() { ... } → yeni maçın kurulumu: raketler, sıfır skor, 'playing', ilk servis. İçeride let yok,
çünkü değişkenler yukarıda tanımlı; burada yalnız değer veriyoruz.if (event.key === ' ' && state === 'over') reset() → Boşluk'a basıldıysa ve maç bittiyse yeni maç.reset() → eski serve(1)'in yerine; oyun açılırken ilk maçı kurar.let left = { ... } satırından let state = 'playing' ... satırına kadar olan dört satırı, değer vermeyen
tanımlarla değiştir (let state // 'playing' or 'over').const keys = {} satırının altına bir boş satır bırakıp reset fonksiyonunu yaz.keydown dinleyicisinde keys[event.key] = true satırının altına Boşluk satırını yaz.serve(1) satırını reset() yap.Beceriler: Oyun durumları, Fonksiyonlar
← Kim kazandı? Raketle nişan al →