Atölye › Candy Crush Tarzı Üçlü Eşleştirme › 28/29. adım
Rekorunu kıran oyuncu, sayfayı kapatıp açınca rekorunu görmek ister. Tarayıcının küçük bir defteri var:
localStorage. İçine yazılanlar sayfa kapansa da kalır.
Sayfa açılınca en iyi skoru defterden okuyoruz. Son hamlenin zincirleri bitip her şey durduğunda skor rekoru
geçtiyse deftere yazıyoruz. Sağ üstte Best da yazacak.
```js
let best = Number(localStorage.getItem('match3-best')) || 0
function afterMoves() {
if (movesLeft === 0 && score > best) {
best = score
localStorage.setItem('match3-best', best)
}
}
afterMoves()
ctx.fillText('Moves ' + movesLeft + ' Best ' + best, canvas.width - LEFT, 30)
```localStorage.getItem('match3-best') → defterden kaydı okur: yazı olarak ('450') ya da hiç yoksa null.
Number(...) sayıya çevirir; işe yarar bir sayı çıkmazsa || 0 "değilse 0" der.function afterMoves() { → hamleler bittiyse ve skor rekoru geçtiyse:best = score → yeni rekor;localStorage.setItem('match3-best', best) → deftere aynı adla yaz.afterMoves() (update'te, else bloğunda) → bir hamle tamamen durulduğunda, yani son zincir de bittiğinde çağrılır.'Moves ' + movesLeft + ' Best ' + best → birkaç yazı ve sayı yan yana: 'Moves 20 Best 0'.let hint ... satırının altına let best = ... satırını yaz.function update() { satırının üstüne afterMoves fonksiyonunu yaz.update içinde while (!hasMove()) newBoard() satırının altına afterMoves() yaz.draw içinde 'Moves ' + movesLeft kısmının arkasına + ' Best ' + best ekle.Beceriler: Oyun durumları
← Oyunun sonu Kendin yap: kaydırarak takas →