9.2 Animado: la hometo kiu kreskas

pict

Antaŭ ĉio, ni difinu proceduron hometo kiu grafikas la hometon apudan je elektita amplekso.

 por hometo :c
 mdn 154 an 44*:c man 44*:c
 mdn  52 an 44*:c man 44*:c
 mdn 154 an 40*:c
 mdn 154 an 44*:c man :c*44
 mdn  52 an 44*:c man :c*44
 mdn 154 an 10*:c
 mdn  90 ripetu 180 [an :c/2 dn 2] dn 90
 fino

Nun ni kreos animadon ŝajnigantan ke la hometon kreskas po malmulte. Por tio, ni grafikos hometo 0.1, poste hometo 0.2, hometo 0.3... ĝis hometo 5. Inter ĉiu grafikado, oni forviŝos l’ ekranon. Jen la du proceduroj:

 por hometo :c
 mdn 154 an 44*:c man 44*:c
 mdn  52 an 44*:c man 44*:c
 mdn 154 an 40*:c
 mdn 154 an 44*:c man :c*44
 mdn  52 an 44*:c man :c*44
 mdn 154 an 10*:c
 mdn  90 ripetu 180 [an :c/2 dn 2] dn 90
 se :c=5 [haltu]
 ev tdk hometon :c+0.1
 fino
 
 por komenci
 ev tdk
 hometo 0
 fino

Finfine, por fluemigi la tuton, oni helpu sin per la moduson movado kaj la primitivo novigu.

                                                                                                  
                                                                                                  
 por hometo :c
 mdn 154 an 44*:c man 44*:c
 mdn  52 an 44*:c man 44*:c
 mdn 154 an 40*:c
 mdn 154 an 44*:c man :c*44
 mdn  52 an 44*:c man :c*44
 mdn 154 an 10*:c
 mdn  90 ripetu 180 [an :c/2 dn 2] dn 90
 novigu
 se :c=5 [haltu]
 ev tdk hometo :c+0.1
 fino
 
 por komenci
 tdk movado
 hometo 0
 neplu_movigu
 fino
 

Rimarku: Tie, la proceduro hometo estas rekurziva; oni pli simple povus uzi la primitivon ripetupor por variigi :c de 0.1 ĝis 5. Jen la programo tiel:

 por hometo :c
 ev tdk mdn 154 an 44*:c man 44*:c
 mdn  52 an 44*:c man 44*:c
 mdn 154 an 40*:c
 mdn 154 an 44*:c man :c*44
 mdn  52 an 44*:c man :c*44
 mdn 154 an 10*:c
 mdn  90 ripetu 180 [an :c/2 dn 2] dn 90
 novigu
 fino
 
 por komenci
 tdk movado
 ripetupor [c 0 5 0.1] [hometo :c]
 neplu_movigu
 fino