RosettaCodeData/Task/Simple-windowed-application/Wren/simple-windowed-application.wren
2023-07-01 13:44:08 -04:00

44 lines
1.1 KiB
Text

import "graphics" for Canvas, Color
import "input" for Mouse
import "dome" for Window
class SimpleWindowedApplication {
construct new(width, height) {
Window.title = "Simple windowed application"
_fore = Color.white
_clicks = 0
}
init() {
drawControls()
}
update() {
if (Mouse["left"].justPressed && insideButton) _clicks = _clicks + 1
}
draw(alpha) {
drawControls()
}
insideButton {
var p = Mouse.position
return p.x >= 120 && p.x <= 200 && p.y >= 90 && p.y <= 170
}
drawControls() {
Canvas.cls()
if (_clicks == 0) {
Canvas.print("There have been no clicks yet", 40, 40, _fore)
} else if (_clicks == 1) {
Canvas.print("The button has been clicked once", 30, 40, _fore)
} else {
Canvas.print("The button has been clicked %(_clicks) times", 10, 40, _fore)
}
Canvas.rectfill(120, 90, 80, 80, Color.red)
Canvas.rect(120, 90, 80, 80, Color.blue)
Canvas.print("click me", 130, 125, _fore)
}
}
var Game = SimpleWindowedApplication.new(600, 600)