summaryrefslogtreecommitdiff
path: root/src/mansion.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/mansion.lua')
-rw-r--r--src/mansion.lua80
1 files changed, 80 insertions, 0 deletions
diff --git a/src/mansion.lua b/src/mansion.lua
new file mode 100644
index 0000000..d0114f9
--- /dev/null
+++ b/src/mansion.lua
@@ -0,0 +1,80 @@
+local bump = require "bump"
+local player = require "player"
+
+local mansion = {}
+
+local world = bump.newWorld()
+mansion.world=world
+
+local draw_thing = coroutine.wrap(function()
+ local t = 0
+ local angry = false
+
+ local tri_a = 100
+ local tri_h = (math.sqrt(3)/2)*tri_a
+
+ local ell_l = 20
+ local ell_r = 30
+
+ while true do
+ local theta = t/10
+ local c = math.cos(theta)
+ local s = math.sin(theta)
+
+ local dist = math.sqrt((420-player.x)^2 + (240-player.y)^2)
+ if not angry and dist < 100 then
+ angry = true
+ elseif angry and dist > 200 then
+ angry = false
+ end
+
+ love.graphics.push()
+ love.graphics.translate(420,240)
+
+ love.graphics.push()
+ love.graphics.setLineWidth(10)
+ love.graphics.setColor(angry and {1,0,0,0.8} or {0.7,0,0.5,0.8})
+ love.graphics.rotate(-theta/1.618)
+ love.graphics.polygon("line", -tri_a/2,-tri_h/3, tri_a/2,-tri_h/3, 0,2*tri_h/3)
+ love.graphics.pop()
+
+ love.graphics.setLineWidth(7)
+ love.graphics.setColor(0.8,0.8,0,0.7)
+ love.graphics.ellipse("line", ell_l*c,ell_l*s, ell_r,2*ell_r)
+ love.graphics.setColor(0,0.8,0.8,0.7)
+ love.graphics.ellipse("line", -ell_l*c,-ell_l*s, ell_r,2*ell_r)
+ love.graphics.pop()
+
+ t = t + (angry and 1.8 or 1)
+
+ coroutine.yield()
+ end
+end)
+
+local font,title,jerma
+function mansion.load()
+ font = love.graphics.newFont("APL333.ttf",72)
+ title = love.graphics.newText(font,"mansion")
+ jerma = love.graphics.newImage("jerma.jpg")
+ world:add("jerma", 30,400, 400,50)
+end
+
+local function draw_jerma()
+ love.graphics.setColor(1,1,1,1)
+ local sx = 400 / jerma:getWidth()
+ local sy = 50 / jerma:getHeight()
+ love.graphics.draw(jerma, 30,400, 0, sx,sy)
+end
+
+function mansion.draw()
+ love.graphics.setColor(0.8,0.8,0.8)
+ love.graphics.setLineWidth(10)
+ love.graphics.rectangle("line",30,80,580,370)
+ love.graphics.draw(title,610-title:getWidth(),-10)
+
+ draw_thing()
+ draw_jerma()
+end
+
+return mansion
+