//9 has graphics <1>/* Graphics Not Rendered in HTML */ #define X 330 #define Y 35 F64 t0 = Beat; U0 DrawIt(CTask *,CDC *dc) { I64 i; F64 x, y, dt = Beat - t0; Sprite3(dc, X, Y, 0, <1>); if (Beat - t0 < 24) { if (Rand < 0.7) { dc->color = YELLOW; GrPlot(dc, X - 12, Y + 1); GrPlot(dc, X - 12, Y + 2); GrPlot(dc, X - 11, Y + 4); GrPlot(dc, X + 10, Y + 4); GrPlot(dc, X + 4, Y + 4); GrPlot(dc, X + 5, Y + 4); GrPlot(dc, X + 6, Y + 4); GrPlot(dc, X + 7, Y + 5); GrPlot(dc, X + 8, Y + 5); } for (i = 0; i < 512; i++) { x = 1.0 - Rand ` 3.0; y = Rand; x = 5.0 * Sin(pi * Sqrt(y)) * x; y = 25.0 * y; if (Rand * (x * x + 2.0) * Sqrt(y) < 4.0) { if (Rand < 0.5) dc->color = BLUE; else dc->color = LTBLUE; } else dc->color = YELLOW; if (RandI16 < 0) x = -x; x += 150.0 * Sin(pi * dt) / (35 - y) ` 1.5; GrPlot(dc, X + x, Y - y); } } } U0 Song() { SettingsPush; //See SettingsPush Fs->text_attr = BLACK << 4 + LTGRAY; Fs->draw_it = &DrawIt; Fs->task_end_cb = &SoundTaskEndCB; MusicSettingsReset; music.tempo = 2.0; try { "$BG+H,BLACK$$FD+H,LTGRAY$"; while (TRUE) { t0 = Beat; "$WHITE$God said this was a dirge.\n$FG$"; Play("5FqDqD4eA5CqEqEqDqDq", "Gone \0to \0sleep \0for \0the \0fi\0nal \0time.\n\0"); Play("5FqDqD4eA5CqEqEqDqDq", "Gone \0to \0sleep \0for \0the \0fi\0nal \0time.\n\0"); Play("5DqGqFeGFqFqEqE4qBq", " \0Ash \0to... \0and \0 \0dust \0to \0dust.\n\0"); Play("5DqGqFeGFqFqEqE4qBq", " \0Ash \0to... \0and \0 \0dust \0to \0dust.\n\0"); } } catch PutExcept; SettingsPop; } Song;