Atölye › Pinball › 3/42. adım

Duvar listesi

Ne yapıyoruz

Bütün masa düz parçalardan yapılıyor: kavisli tepe aslında birkaç kısa eğik çizgi, sağdaki fırlatma kanalı iki uzun çizgi ve bir taban, altta da paletlere inen iki eğim.

Her duvarı ayrı ayrı yazmak yerine hepsini tek bir listede tutacağız: WALLS. Her duvar dört sayıdır: [x1, y1, x2, y2], yani "şu noktadan şu noktaya". Sonra bir döngü listedeki her duvarı aynı dört satırla çizecek. Masayı değiştirmek istersen yalnız listeyi değiştirirsin; ileride top da bu listeye çarpacak.

```js
// The walls, as line segments [x1, y1, x2, y2].
const WALLS = [
  [20, 470, 20, 120], [20, 120, 60, 55], [60, 55, 140, 22], [140, 22, 260, 22], [260, 22, 340, 50], [340, 50, 390, 120],
  [390, 120, 390, 590], [360, 590, 360, 170], [360, 590, 390, 590], // the launch lane
  [20, 470, 128, 530], [360, 470, 272, 530], // the slopes down to the flippers
]

for (const [x1, y1, x2, y2] of WALLS) {
  ctx.beginPath()
  ctx.moveTo(x1, y1)
  ctx.lineTo(x2, y2)
  ctx.stroke()
}
```

Ne işe yarıyor

Sıra sende

  1. const ctx = ... satırının altına bir boş satır bırak; yorum satırını ve WALLS listesini yaz. Sayıları dikkatle yaz: her virgül ve köşeli parantez önemli.
  2. En alttaki dört satırı (ctx.beginPath()'ten ctx.stroke()'a kadar) sil; yerine for döngüsünü yaz. Üstteki strokeStyle, lineWidth, lineCap satırları aynı kalır.
  3. Çalıştır: masanın bütün duvarlarını görmelisin.

Beceriler: Diziler ve nesneler, Canvas üzerine çizim

Tüm adımlar

  1. Masayı boya
  2. Bir duvar çiz
  3. Duvar listesi
  4. Oyun döngüsü
  5. Kanalda bir top
  6. Topu çiz
  7. Hıza göre ilerle
  8. Boşlukla fırlat
  9. Yerçekimi
  10. Top duvara değiyor mu?
  11. Topu dışarı it
  12. Duvardan sek
  13. Küçük adımlar ve hız sınırı
  14. Hazır mı, oyunda mı
  15. Sıradaki top
  16. Üç tampon
  17. Top tampona çarpıyor
  18. Tampon tekmeler
  19. Skor ve yeni başlangıç
  20. Her vuruşa puan
  21. Hangi tampon vuruldu, hatırla
  22. Yak
  23. Bir an yanık, bir kez puan
  24. İki palet
  25. Uç nerede?
  26. Paletler topu durdurur
  27. Hangi tuşlar basılı?
  28. Hangi yöne dönmeli
  29. Çevir!
  30. Hareket eden duvar
  31. Palet fırlatır
  32. Üç top
  33. Kalan toplar ve oyun sonu
  34. Yeniden oyna
  35. En iyi skoru hatırla
  36. Bırakınca fırlat
  37. Yayı ger
  38. Yayı göster
  39. İki başparmak
  40. Parmakla ger
  41. Dokun, yeniden oyna
  42. Kendin yap: sapanlar