Atölye › Dört Bağla › 24/38. adım
Bir disk inince land artık wins4'e soracak. Dörtlü varsa o oyuncu kazanır: winner (kazanan) onun numarası olur,
dört hücre de line'da saklanır. Yoksa sıra eskisi gibi geçer.
Kazanan belli olunca oyun durur: play artık hamle kabul etmez.
```js
let winner // 0 while playing, 1 or 2, or 'draw'
let line // the four winning cells
winner = 0
line = []
function play(col) {
if (winner || falling || dropRow(col) === -1) return
falling = null
const four = wins4(row, col)
if (four) {
winner = who
line = four
} else {
turn = 3 - turn
}
```let winner → oynanırken 0, sonra kazananın numarası (1 ya da 2). let line → kazanan dört hücre; reset içinde
boş liste [].if (winner || falling || ...) return → 0 yanlış sayıldığı için winner "oyun bitti mi?" sorusu olur.const four = wins4(row, col) → inen diskten geçen dörtlü var mı?if (four) { ... } else { ... } → varsa kazanan ve çizgi kaydedilir; değilse (else) sıra geçer.let turn satırının altına let winner ... ve let line ... satırlarını yaz.reset içinde turn = 1 satırının altına winner = 0 ve line = [] yaz.play'in ilk satırında falling ||'in önüne winner || ekle.land içindeki turn = 3 - turn satırını sil; yerine four satırını ve if ... else bloğunu yaz.Beceriler: Oyun durumları
← Dört yan yana mı? Dördünü halkala →