Pseudorandom number generator image: Difference between revisions
Content added Content deleted
m (update to perl & raku - thanks to SqrtNegInf for the image links ; my bad for the off-by-one bug ; I guess perl rounds toward zero so I change it too, please correct if it is wrong, thanks.) |
(Added Wren) |
||
Line 212: | Line 212: | ||
</pre> |
</pre> |
||
[https://github.com/SqrtNegInf/Rosettacode-Perl6-Smoke/blob/master/ref/PNG-image500.png image500.png] (sample image, offsite) |
[https://github.com/SqrtNegInf/Rosettacode-Perl6-Smoke/blob/master/ref/PNG-image500.png image500.png] (sample image, offsite) |
||
=={{header|Wren}}== |
|||
{{libheader|DOME}} |
|||
Wren's 'random' module uses the '[https://en.wikipedia.org/wiki/Well_equidistributed_long-period_linear Well equidistributed long-period linear]' (WELL512a) PRNG which doesn't need to be seeded with a prime number. It is in fact seeded from a sequence of 16 numbers but, if less are provided, the others are generated automatically. Typically (as here) the seed is generated from the current time. |
|||
<lang ecmascript>import "dome" for Window |
|||
import "graphics" for Canvas, Color |
|||
import "random" for Random |
|||
class Game { |
|||
static init() { |
|||
Window.title = "Pseudorandom Number Generator Image" |
|||
Window.resize(1000, 1000) |
|||
Canvas.resize(1000, 1000) |
|||
var r = Random.new() // generates seed from current time |
|||
for (x in 0...1000) { |
|||
for (y in 0...1000) { |
|||
var c = Color.rgb(r.int(256), r.int(256), r.int(256)) |
|||
Canvas.pset(x, y, c) |
|||
} |
|||
} |
|||
} |
|||
static update() {} |
|||
static draw(dt) {} |
|||
}</lang> |