Jätkame täna Pygame’is asjade liikuma panemist.
Mõned lisavõimalused:
Teksti kuvamine
Pygame programmi algusesse juurde:
# lisab määramata kirjastiili
kiri = pygame.font.Font(None, 17)
# lisab teksti, (255,255,255) on teksti värv - valge
# ja (100,100,245) on tekstikasti värv)
tekst = kiri.render('Tere maailm!', True, (255,255, 255), (100, 100, 245))
#tekstikast - ala mille sisse tekst kuvatakse
tekstikast = tekst.get_rect()
#asukoha määramine
tekstikast.x, tekstikast.y=500, 700
Lisaks tuleb pildi kuvamise juurde lisada selline rida:
# see paneb teksti kenasti ka ekraanile
ekraan.blit(tekst, tekstikast)
Objektide vahelise kauguse arvutamine ja võrdlemine
Selleks tuleb kaasata matemaatikafunktsioonid pythonile:
import math
# [siia vahele käib kogu muu programmi värk]
# arvutamine ise
vahemaa = math.sqrt(abs(asi1x-asi2x)+abs(asi1y-asi2y))
Tänane ülesanne
Võtame eelmise korra tunni lõpu tulemuse.
Esmalt lisame kontrolli et kui kaugel üksteisest on “pall” ja “rakett”. Kui kagus on väike (alla 5 piksli), siis lõpetame mängu (näitame sellekohast teadet – plahvatuse pilti “palli” või “raketi” peal).
Seejärel ehitame koodi ümber töötama nii, et juhtida saab “palli” vaid vasakule-paremale (alumises servas). Paneme “raketi” kukkuma ülevalt alla otse ja paljundame seda nii, et “kukub” palju “rakette” või õigem oleks öelda “asteroide”. Kui “pall/kosmoselaev” satub vähem kui 5 piksli kaugusele “asteroidist”, siis saab mäng läbi.
Vajalikud pildid saab:pildid2.tar
Lõpptulemuse programmikoodi failid saab: naited.tar