Atölye › 2048 › 20/26. adım
2048 karosunu yapmak kazanmak demek. Ama oyun 4096'ya ve ötesine devam edebilir. Bu yüzden kazanmak ayrı bir
durum olacak: 'won'. Oyuncu devam etmeyi seçerse bunu keepPlaying bayrağında hatırlarız; yoksa kazanma ekranı
her hamlede yeniden gelirdi.
'playing' --2048 yapıldı--> 'won' --devam--> 'playing' (keepPlaying)
'playing' --hamle yok--> 'over'
```js
let keepPlaying // true once the player chose to continue after making 2048
keepPlaying = false
if (!keepPlaying && board.some((row) => row.includes(2048))) state = 'won'
else if (!canMove()) state = 'over'
```let keepPlaying → oyuncu 2048'den sonra devam etmeyi seçti mi? newGame içinde false.row.includes(2048) → satırda 2048 var mı?board.some((row) => ...) → some, listenin elemanlarından en az biri için koşul doğruysa true verir:
herhangi bir satırda 2048 var mı?!keepPlaying && ... → oyuncu henüz devam etmeyi seçmediyse ve 2048 varsa: 'won'.else if (!canMove()) → değilse, eskisi gibi hamle kalmadıysa 'over'.let state satırının altına let keepPlaying ... yaz; newGame içinde state = 'playing' satırının altına
keepPlaying = false yaz.move içindeki if (!canMove()) state = 'over' satırını sil; yerine iki satırı yaz.Beceriler: Oyun durumları, Diziler ve nesneler
← Oyun bitti Kazanma ve kaybetme ekranları →