Atölye › Ay'a İniş › 27/31. adım
Bir rekor tutalım. Oyun bir kazayla bittiğinde puan rekordan yüksekse yeni rekor olsun ve tarayıcıya kaydedilsin: sayfayı yenilesen de kaybolmasın.
Tarayıcının küçük bir kalıcı defteri var: localStorage. İçine bir ad altında yazı saklanır ve sayfa kapansa da kalır.
```js
let best = Number(localStorage.getItem('lander-best')) || 0
if (score > best) {
best = score
localStorage.setItem('lander-best', best)
}
ctx.fillText('Level ' + level + ' Score ' + score + ' Best ' + best, canvas.width - 10, 20)
```localStorage.getItem('lander-best') → 'lander-best' adıyla saklanan yazıyı okur; hiç yoksa null verir.Number(...) → yazıyı sayıya çevirir. || 0 → sonuç boşsa (ilk oyun) 0 kullan.touchdown'da state = 'crashed' satırının altında: puan rekordan yüksekse best = score ve
localStorage.setItem('lander-best', best) ile kaydet. Oyun kazayla bittiği için rekor da orada kontrol edilir.'Level 2 Score 530 Best 900'.const keys = {} satırının üstüne best satırını yaz.touchdown içinde state = 'crashed' satırının altına if (score > best) bloğunu yaz.draw içinde sağ üstteki yazıya + ' Best ' + best ekle.Beceriler: Oyun durumları
← Daha dar pist Parçalara ayrıl →