Садржај
1. Програмирање у пајтону - Увод у Pygame
15. Цртање уз помоћ петљи - обнављање
16. Завршни квиз

7.2. Домаћи задатак

Циљ овог задатка је да направимо програм који црта кућицу. Приликом цртања кућице применићемо знање о израчунавању координата. Да би лакше дошли до крајњег решења, одговори на наредни низ питања која се сва односе на цртеж кућице:

../_images/pygame_quiz_house.png

Основу кућице чини жути правоугаоник ширине 180 и висине 160 пиксела. Ако је прозор у коме се црта димензије 300 пута 300 пиксела, ако је испод кућице остављена маргина од 20 пиксела и ако је правоугаоник хоризонтално центриран унутар прозора, кoje су координате горњег левог угла жутог правоугаоника (напиши их у облику уређеног пара)?

Изнад врха крова остављена је маргина од 20 пиксела. Које су координате тачке у којој се налази врх крова (напиши их у облику уређеног пара)?

    Q-56: Кров је нацртан у облику испуњеног многоугла (тј. троугла). Чиме се може допунити наредба за исцртавање pg.draw.polygon(prozor, pg.Color("red"), ???) да би се нацртао кров?

  • [(120, 60), (20, 150), (120, 240)])
  • Покушај поново
  • [(150, 20), (60, 120), (240, 120)])
  • Тачно
  • [(60, 120), (150, 20), (180, 160)])
  • Покушај поново
  • [(60, 120), (150, 20), (240, 120)])
  • Тачно

Леви и десни прозор су распоређени симетрично. Које су координате горњег левог угла десног прозора (напиши их у облику уређеног пара ), ако је леви прозор исцртан наредбом pg.draw.rect(prozor, pg.Color("skyblue"), (80, 140, 50, 50))?

    Q-57: Врата димензије 60 пута 80 пиксела су постављена симетрично у односу на средину кућице. Како се може израчунати положај горњег левог темена врата? Означи све поступке који су тачни.

  • Координату x можемо израчунати тако што од координате центра кућице (150) одузмемо пола ширине врата (60:2 = 30) и тако добијемо 120.
  • Покушај поново
  • Координату y можемо израчунати тако што од координате дна кућице (а то је 300 - 20 = 280) одузмемо висину врата (80) и тако добијемо 200.
  • Покушај поново
  • Координату x можемо израчунати тако што на координату леве ивице кућице (а то је 150 - 180:2 = 60) додамо ширину врата (60) и тако добијемо 120.
  • Тачно
  • Координату x можемо израчунати тако што на координату леве ивице кућице (а то је 150 - 180:2 = 60) додамо половину разлике између ширине кућице и ширине врата (а то је (180-60):2 = 60) и тако добијемо 120.
  • Покушај поново

    Q-58: Која од наредних наредби исцртава хоризонталну линију на десном прозору:

  • pg.draw.line(prozor, pg.Color("black"), (80, 165), (130, 165))
  • Покушај поново
  • pg.draw.line(prozor, pg.Color("black"), (105, 140), (105, 190))
  • Покушај поново
  • pg.draw.line(prozor, pg.Color("black"), (195, 140), (195, 190))
  • Покушај поново
  • pg.draw.line(prozor, pg.Color("black"), (170, 165), (220, 165))
  • Тачно

    Q-59: Желимо да нацртамо вертикалну црну дуж по средини левог прозора, који је нацртан као квадрат димензије \(50\), чије је горње лево теме у \((80, 140)\). Означи тврђења која исправно одређују координате те дужи:

  • Координата x горње тачке дужи једнака је координати y леве ивице прозора (80), а координата x доње тачке дужи једнака је координати x десне ивице прозора (80 + 50 = 130).
  • Покушај поново
  • Координата x и горње и доње тачке дужи једнака је аритметичкој средини координата x леве ивице прозора (80) и десне ивице прозора (80 + 50 = 130), тј. једнака је (80 + 130) : 2 = 105.
  • Тачно
  • Координата x и горње и доње тачке дужи се може израчунати тако што се на координату x леве ивице прозора (80) дода пола ширине прозора (50:2 = 25).
  • Тачно
  • Координата y горње тачке дужи једнака је координати y горње ивице прозора (140), а координата y доње тачке дужи једнака је координати y доње ивице прозора (140 + 50 = 190).
  • Тачно

На основу свега реченог можеш и да нацрташ кућицу.

(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+