Modifikace minulého řešení hlavolamu

Jan Walla

Minule mi na poslední chvíli přišlo řešení hlavolamu - ručičkové hodiny, které byly řešeny pomocí metody střídání obrazovek. Autor tam tehdy ne zcela využil ohromný potenciál této metody a my jsme se rozhodli něco o tomto problému napsat. Tedy chopil se toho Radek, já mu nechci příliš lézt do "zelí", takže jsem připravil alespoň malou ukázku, jak jde také napsat hodiny v turbobasicu.

Takže: program se nejprve zeptá na přesný čas, uloží jej do TIME$ a do T$.

Dále: nastaví se gr. mód 24., barvy a počítání ve stupních. Nastaví se tři proměnné OBR1, OBR2 a OBR3, což jsou začátky tří obrazovek. Obrazovka 1 je viditelná, ostatní jsou pouze někde v paměti. Do třetí obrazovky je z disku nahrán obrázek prázdného ciferníku - vy se stále díváte na prázdnou obrazovku 1.

Nastaví se obrazovka 2 jako aktivní pro kreslení (příkazem DPOKE 88,OBR2) a následuje nekonečná smyčka. Nejdříve se vezme prázdný ciferník z obrazovky 3 a zkopíruje se do obrazovky 2. Nyní do ní lze příkazy PLOT a DRAWTO, případně CIRCLE nakreslit nějaké, i ozdobné ručičky. Jakmile je scéna vykreslena a došlo ke změně času, je zkopírována do viditelné obrazovky 1 jako statický obraz a ihned je do dvojky přesunut opět prázdný ciferník, opět je do něj vykreslena scéna, tentokrát o vteřinu pokročilejší, a až bude dokreslena a nastane její čas, bude opět bleskurychle zkopírována do viditelné jedničky. Takto si můžete vyhrát a nakreslit vše, co během jedné sekundy stihnete. Je tu jen jedna "vada" - hodiny běží na pohled o jednu vteřinu pozadu.

Snad se vám budou mé "vylepšené" hodiny líbit.