Vibrating rectangles: Difference between revisions

Content added Content deleted
(Added X86 Assembly example using 75 bytes.)
(Added Wren)
Line 934: Line 934:


[https://1drv.ms/v/s!AqDUIunCqVnIg1MxKPi5DzwUbJEf Vibrating rectangles]
[https://1drv.ms/v/s!AqDUIunCqVnIg1MxKPi5DzwUbJEf Vibrating rectangles]

=={{header|Wren}}==
{{libheader|DOME}}
<lang ecmascript>import "graphics" for Canvas, Color
import "dome" for Window

var Palette = [
Color.red, Color.green, Color.blue, Color.orange,
Color.indigo, Color.pink, Color.yellow, Color.white
]

class VibratingRectangles {
construct new(width, height) {
Window.title = "Vibrating Rectangles"
Window.resize(width, height)
Canvas.resize(width, height)
_w = width
_h = height
}

init() {
_c = 0
_r = 0
_frame = 0
}

update() {
_frame = _frame + 1
if (_frame == 60) _frame = 0
if (_frame % 15 == 0) {
_r = _r + 1
if (_r > 20) {
_r = 0
_c = (_c + 1) % 8
}
}
}

draw(alpha) {
var x = (_w * (_r + 1) / 50).floor
var y = (_h * (_r + 1) / 50).floor
var w = _w - 2 * x
var h = _h - 2 * y
Canvas.rect(x, y, w, h, Palette[_c])
}
}

var Game = VibratingRectangles.new(500, 500)</lang>


=={{header|X86 Assembly}}==
=={{header|X86 Assembly}}==