Files
TempleOS-Rijn/SparrowOS/Accts/TS/TAD/Test.CPP
T
2018-09-08 21:45:28 +02:00

53 lines
1.1 KiB
C++

#define STEPS 360
U0 DrawIt(CTask *task,CDC *dc)
{
F64 x1,x2,y1,y2,radius,peddles,é,t=tMBeat,
cx=Fs->win_pixel_width>>1,cy=Fs->win_pixel_height>>1;
Bool first=TRUE;
radius=100*Sin(2*ã*t)+150;
peddles=ToI64(t/8%4)+4;
dc->color=BLACK;
for (é=0;é<2*ã;é+=2*ã/STEPS) {
P2R(&x2,&y2,radius*Sin(peddles*é),é+t);
if (!first) {
GrLine(dc,x1+cx,cy-y1,x2+cx,cy-y2);
} else
first=FALSE;
x1=x2; y1=y2;
}
dc->color=(t)%16;
for (é=(2*ã/peddles)/8;é<2*ã;é+=2*ã/peddles/2) {
P2R(&x1,&y1,radius/2*Sin(peddles*é),é+t);
GrFloodFill(dc,x1+cx,cy-y1);
}
}
U0 SongTask(I64)
{ //Song by Terry A. Davis
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
while (TRUE) {
Play("W13eGGsGGeGGGe.GeCDsEDeCBAe.AeG");
Play("GsGGeGGGe.GeFEsDEeDCBe.AeFD");
Play("EDFDEDECDCECDCsGGeG");
Play("GG2hG3sGGeGGG2hG");
}
}
U0 Rose()
{
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->song_task=Spawn(&SongTask,NULL,"Song",Fs);
WordStat;
WinMax;
DocClear;
Fs->draw_it=&DrawIt;
PressAKey;
SettingsPop;
}
Rose;