U8 *poem= "To a Waterfowl\0" "by William Cullen Bryant\0" " \0" "Whither, 'midst falling dew,\0" "While glow the heavens with the last steps of day,\0" "Far, through their rosy depths, dost thou pursue\0" "Thy solitary way?\0" " \0" "Vainly the fowler's eye\0" "Might mark thy distant flight to do thee wrong,\0" "As, darkly painted on the crimson sky,\0" "Thy figure floats along.\0" " \0" "Seek'st thou the plashy brink\0" "Of weedy lake, or marge of river wide,\0" "Or where the rocking billows rise and sink\0" "On the chafed ocean side?\0" " \0" "There is a Power whose care\0" "Teaches thy way along that pathless coast,--\0" "The desert and illimitable air,--\0" "Lone wandering, but not lost.\0" " \0" "All day thy wings have fann'd\0" "At that far height, the cold thin atmosphere:\0" "Yet stoop not, weary, to the welcome land,\0" "Though the dark night is near.\0" " \0" "And soon that toil shall end,\0" "Soon shalt thou find a summer home, and rest,\0" "And scream among thy fellows; reed shall bend\0" "Soon o'er thy sheltered nest.\0" " \0" "Thou'rt gone, the abyss of heaven\0" "Hath swallowed up thy form; yet, on my heart\0" "Deeply hath sunk the lesson thou hast given,\0" "And shall not soon depart.\0" " \0" "He, who, from zone to zone,\0" "Guides through the boundless sky thy certain flight,\0" "In the long way that I must tread alone,\0" "Will lead my steps aright.\0"; #define POEM_LINES 42 #define POEM_COLS 53 #define POEM_TIME 80.0 $SP,"<1>",1$ $SP,"<2>",2$ #define NUM_GEESE 11 F64 t0,t0_s[NUM_GEESE]; I64 x[NUM_GEESE],y[NUM_GEESE]; I64 x0[NUM_GEESE],y0[NUM_GEESE]; U0 PutPoem(CTask *task,CDC *dc,I64 w,I64 h) { F64 tt=Saw(tP(task)-t0,POEM_TIME); I64 i,j=tt*(POEM_LINES+4)*FONT_HEIGHT-h/2, x=w>>1-(POEM_COLS*FONT_WIDTH)>>1; U8 *st=poem; dc->color=DKGRAY; for (i=POEM_LINES-1;i>=0;i--) { GrPutS(dc,x, (FONT_HEIGHT*i+j)%((POEM_LINES+4)*FONT_HEIGHT), st); st+=StrLen(st)+1; } } U0 DrawIt(CTask *task,CDC *dc) { U8 *inter; I64 i,w=task->win_pixel_width,h=task->win_pixel_height; F64 tt; task->text_attr=LTGRAY<<4+BLACK; PutPoem(task,dc,w,h); for (i=0;i",1$,$IB,"<2>",2$,tt); CSpritePlot3(dc,w>>1+x0[i]+x[i],h>>1+y0[i]+y[i],0,inter); Free(inter); } } U0 Init() { I64 i,j; for (i=0;i>1; t0_s[i]=ToF64(RandU16)/MAX_U16; x0[i]=j*20; y0[i]=AbsI64(j)*20; x[i]=5*RandI16/MAX_I16; y[i]=5*RandI16/MAX_I16; } } U0 AnimateTask(I64) { I64 i; while (TRUE) { for (i=0;itask_end_cb=&SndTaskEndCB; MusicSettingsRst; while (TRUE) { Play("3eEDCBCBCBAqReEDCBC"); Play("BCBAqReFEDEDEDCqB"); Play("ReFEDEDEDCBqR"); } } U0 WaterFowl() { SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$ WinMax; Init; Fs->song_task=Spawn(&SongTask,NULL,"Song",Fs); Fs->animate_task=Spawn(&AnimateTask,NULL,"Animate",Fs); WordStat; DocCursor; DocClear; Fs->draw_it=&DrawIt; t0=tP; try //This catches exits GetChar; catch CatchAll; SettingsPop; } WaterFowl; àõÿÿÿÿÿÿÿÿÿÿÿûÿÿÿûÿÿÿûÿÿÿûÿÿÿ    þÿÿÿ ýÿÿÿÿÿÿÿþÿÿÿþÿÿÿõÿÿÿàøÿÿÿÿÿÿÿÿÿÿÿûÿÿÿûÿÿÿûÿÿÿûÿÿÿ    þÿÿÿ þÿÿÿÿÿÿÿþÿÿÿþÿÿÿøÿÿÿ