Atölye › Bomberman Tarzı Arena › 41/42. adım
En hızlı zaferin unutulmasın. Onu localStorage'da tutacağız: tarayıcının, sayfayı kapatsan da silinmeyen küçük
defteri. Burada az olan iyidir: kayıt yoksa ya da yeni süre daha kısaysa kaydederiz. 0 "henüz kazanılmadı"
demek. Rekor, saatin yanında Best 38 gibi görünecek.
```js
let best = Number(localStorage.getItem('bomber-best')) || 0
state = 'won'
const seconds = Math.floor(frames / 60)
if (best === 0 || seconds < best) {
best = seconds
localStorage.setItem('bomber-best', best)
}
ctx.fillText('Time ' + Math.floor(frames / 60) + (best ? ' Best ' + best : ''), canvas.width - 8, 22)
```localStorage.getItem('bomber-best') → defterden bomber-best kaydını okur; ilk seferde null.Number(...) → defter her şeyi yazı olarak tutar; Number sayıya çevirir. || 0 → yoksa 0.const seconds = Math.floor(frames / 60) → kazanma süresi.if (best === 0 || seconds < best) → henüz rekor yoksa ya da bu süre daha kısaysa:best = seconds → yeni rekor; localStorage.setItem('bomber-best', best) → deftere yaz.(best ? ' Best ' + best : '') → rekor varsa (0 değilse) ' Best 38' ekle, yoksa boş yazı (''). Parantez,
? :'nın yalnız bu parçayı seçmesini sağlar.let frames satırının altına let best = ... satırını yaz.update'in sonundaki kazanma bloğunda state = 'won' satırının altına kayıt satırlarını yaz.draw'daki Time satırını (best ? ' Best ' + best : '') eklenmiş hâliyle değiştir.Beceriler: Oyun durumları
← Bir saat Kendin yap: daha akıllı düşman →