Atölye › Klondike Solitaire › 31/40. adım
Bırakınca iki durum var:
autoMove.Kural izin vermezse ne olur? Hiçbir şey! Kart yığından hiç çıkmamıştı; drag boşalınca yine yerinde çizilir.
```js
const { from, index, moved } = drag
if (!moved) autoMove(from, index)
else {
// Drop on the pile under the middle of the held card.
const target = hit(drag.x - drag.dx + CW / 2, drag.y - drag.dy + CH / 2)
if (target) tryMove(from, index, target.key)
}
```const { from, index, moved } = drag → moved'ı da çıkarıyoruz.if (!moved) autoMove(from, index) → kıpırdamadıysa dokunuş.else { ... } → sürüklendiyse:drag.x - drag.dx, drag.y - drag.dy → tutulan kartın sol üst köşesi (önceki adımda çizdiğimiz yer).+ CW / 2, + CH / 2 → yarım kart eklenince kartın ortası.hit(...) → orada hangi yığın var?if (target) tryMove(from, index, target.key) → bir yığın bulunduysa oraya taşımayı dene.pointerup dinleyicisinde const { from, index } = drag ve autoMove(from, index) satırlarını sil; yerine yeni
satırları yaz. Çalıştır ve bir kızı iki papazdan ikincisine sürükle.
Beceriler: Klavye ve fare girdisi, Çarpışma tespiti
← Tutulan kartları işaretçide çiz Boş sütuna papaz bırak →