Atölye › Klondike Solitaire › 28/40. adım
Dokunmak kartı ilk uyduğu yere gönderiyor. Ama bazen başka bir yer istersin, mesela iki papazdan ikincisinin üstü. Bu yüzden kartları sürükleyerek de taşıyacağız.
Önce kartı nereden tuttuğumuzu hatırlamalıyız. Kartı ortasından tutarsan sürüklerken de ortasından tutmaya devam
etmelisin; yoksa kart zıplar ve köşesi parmağının altına gelir. Bu farka dx, dy diyeceğiz.
```js
const cx = pileX(h.key)
const cy = cardY(h.key, h.index)
drag = { from: h.key, index: h.index, dx: p.x - cx, dy: p.y - cy, x: p.x, y: p.y, moved: false }
```const cx = pileX(h.key), const cy = cardY(h.key, h.index) → tutulan kartın sol üst köşesi.dx: p.x - cx, dy: p.y - cy → parmağın kartın köşesinden ne kadar sağda ve aşağıda olduğu. Kartı sürüklerken
bu fark hep aynı kalacak.x: p.x, y: p.y → parmağın şu anki yeri; sürükledikçe güncellenecek.moved: false → henüz kıpırdamadı. Kıpırdamazsa bu bir dokunuş sayılacak.pointerdown dinleyicisinin son satırını (drag = { from: h.key, index: h.index }) sil; yerine üç satırı yaz.
Çalıştır: dokunarak oynamak eskisi gibi çalışmalı.
Beceriler: Klavye ve fare girdisi
← Hamleleri say İşaretçiyi izle →