Atölye › Pinball › 24/42. adım
Şimdi oyunun kalbi: paletler (flipper). Palet, bir ucu sabit (eksen) olan ve o eksenin etrafında dönen bir çubuk. Dinlenirken aşağı eğik durur, tuşa basınca yukarı kalkar.
Her paletin sabit bilgileri: eksenin yeri (x, y), dinlenme açısı (rest), kalkık açısı (up) ve hangi tuşa
bağlı olduğu (key). Oyun sırasında bir de değişen bilgileri var: şu anki açısı (angle) ve dönüş hızı
(speed). Sabitleri FLIPPERS'ta, oyunun kendi kopyasını flippers'ta tutuyoruz. Ekranda henüz bir şey
değişmeyecek.
```js
const FLIPPER_LENGTH = 62
const FLIPPERS = [
{ x: 130, y: 530, rest: 0.45, up: -0.45, key: 'left' },
{ x: 270, y: 530, rest: Math.PI - 0.45, up: Math.PI + 0.45, key: 'right' },
]
let flippers // { ...FLIPPERS[i], angle, speed }
flippers = FLIPPERS.map((f) => ({ ...f, angle: f.rest, speed: 0 }))
```const FLIPPER_LENGTH = 62 → paletin boyu: 62 piksel.Math.PI yarım tur (180°). y aşağı doğru büyüdüğü
için artı açı aşağı, eksi açı yukarı eğer.(130, 530)'da, sağa bakar: dinlenirken 0.45 (≈ 26° aşağı), kalkınca -0.45 (≈ 26° yukarı).(270, 530)'da, sola bakar: açıları yarım tur, Math.PI civarında. Math.PI - 0.45 sola-aşağı,
Math.PI + 0.45 sola-yukarı.key: 'left' → bu palet hangi tuş bilgisine bakacak (birkaç adım sonra kullanacağız).flippers = FLIPPERS.map((f) => ({ ...f, angle: f.rest, speed: 0 })) → her palet için yeni bir nesne:...f → üç nokta (yayma, spread): f'nin bütün alanlarını (x, y, rest, up, key) yeni nesneye
kopyalar;angle: f.rest, speed: 0 → üstüne iki alan ekler: palet dinlenme açısında ve duruyor.({ ... }) → ok fonksiyonu bir nesne döndürürken süslü parantez normal parantez içine alınır; yoksa
JavaScript onu fonksiyon gövdesi sanar.FLIPPERS hiç değişmez; oyun kendi kopyasıyla oynar ve her reset temiz kopyalar yapar.BUMPERS listesinin kapanan ] satırının altına FLIPPER_LENGTH ve FLIPPERS satırlarını yaz.let ball ... satırının altına let flippers ... yaz.reset içinde en üste, score = 0 satırının üstüne flippers = ... satırını yaz.Beceriler: Oyun durumları, Diziler ve nesneler
← Bir an yanık, bir kez puan Uç nerede? →