Atölye › Candy Crush Tarzı Üçlü Eşleştirme › 23/29. adım
hasMove ile oyun asla sıkışmaz:
hasMove() bir hamle bulana kadar yeniden kurar.```js
function reset() {
do newBoard()
while (!hasMove())
else {
phase = 'idle'
// No swap left anywhere: a fresh board.
while (!hasMove()) newBoard()
}
```do newBoard() / while (!hasMove()) → tahtayı en az bir kez kur; hamlesi yoksa yeniden kur. hasMove()
null döndürünce if/while içinde yanlış sayılır; ! onu tersine çevirir: "hamle yoksa".else { ... } → else artık birden çok satır yaptığı için süslü paranteze alındı.while (!hasMove()) newBoard() → hamle kalmadıysa yeni tahta; o da hamlesizse (çok nadir) bir daha.reset içindeki newBoard() satırını do newBoard() yap; altına while (!hasMove()) yaz.update içindeki else phase = 'idle' satırını koddaki else { ... } bloğuna çevir.Beceriler: Oyun durumları
← Hiç hamle var mı? Beş saniye sonra ipucu →