U0 RandPts() { I64 i; F64 t0 = tS; do { for (i = 0; i < 1024; i++) { gr.dc->color = RandU16 & 15; GrPlot(gr.dc, RandU32 % GR_WIDTH, RandU32 % GR_HEIGHT); } Yield; } while (tS - t0 < 1); DCFill; } U0 RandDemo() { I64 i; "Seed(0) will do timer XORed random numbers. " "A task starts with Seed(0) by default.\n"; PressAKey; Seed; RandPts; DCFill; "\nSeed(num) will do deterministic, non-timer random numbers starting at " "a specific seed. You can run a specific video game over and over " "by typing Seed(num) at the cmd line before the game.\n"; PressAKey; Seed(1); RandPts; DCFill; "\n\n\nWatch when we specify specific seeds:"; "\n\nSeed(1);\n"; Seed(1); for (i = 0; i < 5; i++) "%d: %d\n", i, RandI16; "\nSeed(2); Different, right?\n"; Seed(2); for (i = 0; i < 5; i++) "%d: %d\n", i, RandI16; "\nSeed(1); Repeats earlier values.\n"; Seed(1); for (i = 0; i < 5; i++) "%d: %d\n", i, RandI16; "\nSeed(0); Zero is special.\n"; Seed(0); for (i = 0; i < 5; i++) "%d: %d\n", i, RandI16; "\nSeed(0); Non-repeating.\n"; Seed(0); for (i = 0; i < 5; i++) "%d: %d\n", i, RandI16; Seed; //Default should be kept to zero. } RandDemo;