local window = require("window") local room = require("room") local edge = require("edge") local clock_size = 60 local arm_size = 55 local m = room:new() local from = m.from function m:from(t) local sd = from(self, t) sd.tick = 0 sd.ni = 1 edge.set(sd, 'down', sd.room) register(sd) return sd end m.draw = window.draw(function (self) love.graphics.circle('fill', 160, 120, clock_size, 12) local s = math.pi * self.numbers[self.ni] / 6 local x = 160 + arm_size * math.sin(s) local y = 120 - arm_size * math.cos(s) local n = 120 - arm_size love.graphics.setColor(0, 0, 0) love.graphics.polygon('fill', 160, n, 160, 120, x, y) love.graphics.setColor(1, 1, 1) love.graphics.polygon('fill', 160, n, 160, 120, 140, n) love.graphics.setColor(0, 0, 0) love.graphics.polygon('line', 160, n, 160, 120, 140, n) love.graphics.setColor(1, 1, 1) self.edges[1]:draw() end) function m:update(dt) self.tick = self.tick + dt if self.tick > 2 then self.tick = self.tick - 2 self.ni = self.ni + 1 if self.ni > #self.numbers then self.ni = 1 end end end return m