Unittestov ta teden ne bo.

Obrnljiva želva

Za ogrevanje dodaj želvi metodo turn_around, ki jo obrne v nasprotno smer.

Želva+

Razredu Turtle dodaj metodi set_width in set_color, s katerima določiš debelino in barvo črte, ki jo za seboj pušča želva. Uporabili ju bomo takole:

>>> t.set_width(10)
>>> t.forward(20) 
>>> t.set_color(risar.rdeca) 
>>> t.forward(20)

Indikator peresa

K izrisu želve dodaj še indikator, ali je pero spuščeno ali ne. Pri programiranju pazi, da bodo pravilno delovale tudi kombinacije, kot na primer

>>> t.pen_up() 
>>> t.hide() 
>>> t.show()

Po tem mora biti pero nevidno, ker je dvignjeno.

>>> t.hide()
>>> t.pen_down()

Pero mora biti nevidno, ker je želva nevidna.

Želva s spuščenim peresom

zelva_dol

Želva z dvignjenim peresom

zelva_gor

Pomoč: Ali je želvja glava vidna, preverite z self.head.isVisible().

Štempelj

Dodaj metodi stamp(), ki naredi odtis želve, torej izriše želvo, ki ostane izrisana tudi, ko gre želva naprej, in clear_stamps(), ki pobriše vse odtisnjene želve s trenutne slike. Program

t.forward(10)
t.stamp()
t.left()
t.forward(100)
t.turn(45)
t.forward(20)
t.stamp()
t.right()
t.forward(40)
t.left()
t.forward(40)
t.right()
t.forward(40)
t.stamp()
t.right()
t.forward(40)
t.hide()

nariše

stamp1

Če nato rečemo clear_stamps(), želvice izginejo:

stamp2

Zahteva: metodi morata pravilno delovati tudi, če imamo več želv, ki se odtiskujejo in brišejo svoje odtise!

Namig: stamps naj vse, kar riše, shranjuje v seznam, clear_stamps pa pobriše narisano.

Kot v radianih

Želvo spremenite tako, da shranjevala kot v radianih. Kot 0 naj gleda na desno (prejšnjih 90 stopinj) in kot naj se povečuje v smeri urinega kazalca (tako kot zdaj).

Pozor: od zunaj naj želva še vedno izgleda enako. To pomeni, da še vedno sprejema kote v stopinjah.

Zadnja sprememba: torek, 11 maj 2021, 13:32