Atölye › Tetris Tarzı Bloklar › 19/32. adım
Oyun bitince yeniden oynayabilmek için her şeyi başlangıç hâline döndürebilmeliyiz: boş tahta, yeni parça,
ileride skor... Bu yüzden başlangıcı tek bir fonksiyonda topluyoruz: newGame() (yeni oyun).
Değişkenleri dosyanın üstünde boş tanımlıyoruz; değerlerini newGame veriyor. Oyun açılırken bir kez
çağrılıyor. Ekranda bir şey değişmeyecek.
```js
let board
let piece
let lastDrop = 0
function emptyRow() {
return Array(COLS).fill(0)
}
function newGame() {
board = Array.from({ length: ROWS }, emptyRow)
spawn()
}
newGame()
requestAnimationFrame(loop)
```let board → artık değer verilmeden, emptyRow'un üstünde tanımlanıyor. let piece ve let lastDrop = 0 da
onunla birlikte yukarı taşınıyor.function newGame() { → yeni bir oyun: board'a boş bir kuyu ver, ilk parçayı çıkar. Dikkat: içeride let
yok; değişkenler zaten yukarıda tanımlı, burada yalnız değer veriyoruz.spawn() yerine newGame().let board = ..., let piece ve let lastDrop = 0 satırlarını function emptyRow() satırının üstüne taşı
(altlarında bir boş satır kalsın); let board = ... satırını yalnız let board yap.emptyRow fonksiyonunun altına bir boş satır bırakıp newGame fonksiyonunu yaz.spawn() satırını newGame() yap.Beceriler: Oyun durumları, Fonksiyonlar
← Yere otur ve kilitlen Yığın tepeye ulaşınca →