Atölye › Satranç › 40/48. adım
Bir hamle oynanınca ne olduğu hep görünsün: son hamlenin iki karesi (nereden, nereye) de seçili kare gibi sarı
yansın. Bunun için son hamleyi lastMove değişkeninde tutacağız. Birazdan bilgisayar oynayacak; onun hamlesini
görmek için bu çok işe yarayacak.
```js
let lastMove
lastMove = null
makeMove(m)
lastMove = m
const highlight = same(selected, [r, c]) || (lastMove && (same(lastMove.from, [r, c]) || same(lastMove.to, [r, c])))
if (highlight) {
```let lastMove → son oynanan hamle. reset onu null yapar.lastMove = m → play içinde, makeMove içinde değil: makeMove deneme hamleleri için de çağrılıyor; onlar
"son hamle" sayılmamalı.const highlight = ... → kare sarı yansın mı? Seçili kareyse veya (bir son hamle varsa ve bu kare onun
başlangıcı ya da varışıysa). lastMove && başta null iken lastMove.from okumaya çalışıp hata vermemizi önler.if (highlight) { → eski koşulun yerine.let state ... satırının üstüne let lastMove yaz.reset içinde state = 'playing' satırının üstüne lastMove = null yaz.play içinde makeMove(m) satırının altına lastMove = m yaz.draw içinde if (same(selected, [r, c])) { satırını sil; yerine const highlight = ... ve if (highlight) {
satırlarını yaz.Beceriler: Oyun durumları, Canvas üzerine çizim
← Yeniden oynamak için tıkla Pozisyona bir puan →