square.lua
· 2.4 KiB · Lua
Eredeti
Playground
require "prelude"
local function _zt()
local y, x = POP(''), POP('')
PUSH('', x * y)
end
local function _zp()
local y, x = POP(''), POP('')
PUSH('', x + y)
end
local function _sqrt()
local x = POP('')
PUSH('', math.sqrt(x))
end
local function _print()
print(POP(''))
end
local function _pprint()
require "pprint" (POP(''))
end
local function _drop()
POP('')
end
local function _dup()
PUSH("x", POP(''))
PUSH('', PEEK("x"))
PUSH('', POP("x"))
end
local function _enter()
_dup()
PUSH('', PEEK("lobby"))
do
local value, object = POP(''), POP('')
PUSHTO(object, "lobby", value)
end
_dup()
_me()
do
local value, object = POP(''), POP('')
PUSHTO(object, "parent", value)
end
_become()
end
local function _leave()
POP("lobby")
PUSH('', PEEK("parent"))
_me()
do
local value, object = POP(''), POP('')
PUSHTO(object, "child", value)
end
PUSH('', POP("parent"))
_become()
PUSH('', POP("child"))
end
local function _rectangle()
love.graphics.rectangle(POP('fill-mode'), POP('x'), POP('y'), POP('w'), POP('h'))
end
local function _ZCrectangle()
PUSH('', PEEK("position"))
_enter()
PUSH('', PEEK("parent"))
PUSH('', PEEK("x"))
do
local value, object = POP(''), POP('')
PUSHTO(object, "x", value)
end
PUSH('', PEEK("parent"))
PUSH('', PEEK("y"))
do
local value, object = POP(''), POP('')
PUSHTO(object, "y", value)
end
_leave()
_drop()
PUSH('', PEEK("size"))
_enter()
PUSH('', PEEK("parent"))
PUSH('', PEEK("x"))
do
local value, object = POP(''), POP('')
PUSHTO(object, "w", value)
end
PUSH('', PEEK("parent"))
PUSH('', PEEK("x"))
do
local value, object = POP(''), POP('')
PUSHTO(object, "h", value)
end
_leave()
_drop()
_rectangle()
end
local function _draw()
PUSH('', PEEK("player"))
_enter()
PUSH('', "fill")
PUSH("fill-mode", POP(''))
_ZCrectangle()
_leave()
_drop()
end
local function _newzmpoint()
_object()
_enter()
PUSH('', PEEK("parent"))
PUSH('', POPFROM(POP(''), "x"))
PUSH("x", POP(''))
PUSH('', PEEK("parent"))
PUSH('', POPFROM(POP(''), "y"))
PUSH("y", POP(''))
_leave()
end
_object()
_enter()
PUSH('', 100)
PUSH("x", POP(''))
PUSH('', 100)
PUSH("y", POP(''))
_newzmpoint()
PUSH("position", POP(''))
PUSH('', 25)
PUSH("x", POP(''))
PUSH('', 25)
PUSH("y", POP(''))
_newzmpoint()
PUSH("size", POP(''))
_object()
_enter()
PUSH('', 1)
PUSH("r", POP(''))
PUSH('', 1)
PUSH("g", POP(''))
PUSH('', 0)
PUSH("b", POP(''))
_leave()
PUSH("color", POP(''))
_leave()
PUSH("player", POP(''))
function love.draw()
_draw()
end
| 1 | require "prelude" |
| 2 | local function _zt() |
| 3 | local y, x = POP(''), POP('') |
| 4 | PUSH('', x * y) |
| 5 | end |
| 6 | local function _zp() |
| 7 | local y, x = POP(''), POP('') |
| 8 | PUSH('', x + y) |
| 9 | end |
| 10 | local function _sqrt() |
| 11 | local x = POP('') |
| 12 | PUSH('', math.sqrt(x)) |
| 13 | end |
| 14 | local function _print() |
| 15 | print(POP('')) |
| 16 | end |
| 17 | local function _pprint() |
| 18 | require "pprint" (POP('')) |
| 19 | end |
| 20 | local function _drop() |
| 21 | POP('') |
| 22 | end |
| 23 | local function _dup() |
| 24 | PUSH("x", POP('')) |
| 25 | PUSH('', PEEK("x")) |
| 26 | PUSH('', POP("x")) |
| 27 | end |
| 28 | local function _enter() |
| 29 | _dup() |
| 30 | PUSH('', PEEK("lobby")) |
| 31 | do |
| 32 | local value, object = POP(''), POP('') |
| 33 | PUSHTO(object, "lobby", value) |
| 34 | end |
| 35 | _dup() |
| 36 | _me() |
| 37 | do |
| 38 | local value, object = POP(''), POP('') |
| 39 | PUSHTO(object, "parent", value) |
| 40 | end |
| 41 | _become() |
| 42 | end |
| 43 | local function _leave() |
| 44 | POP("lobby") |
| 45 | PUSH('', PEEK("parent")) |
| 46 | _me() |
| 47 | do |
| 48 | local value, object = POP(''), POP('') |
| 49 | PUSHTO(object, "child", value) |
| 50 | end |
| 51 | PUSH('', POP("parent")) |
| 52 | _become() |
| 53 | PUSH('', POP("child")) |
| 54 | end |
| 55 | local function _rectangle() |
| 56 | love.graphics.rectangle(POP('fill-mode'), POP('x'), POP('y'), POP('w'), POP('h')) |
| 57 | end |
| 58 | local function _ZCrectangle() |
| 59 | PUSH('', PEEK("position")) |
| 60 | _enter() |
| 61 | PUSH('', PEEK("parent")) |
| 62 | PUSH('', PEEK("x")) |
| 63 | do |
| 64 | local value, object = POP(''), POP('') |
| 65 | PUSHTO(object, "x", value) |
| 66 | end |
| 67 | PUSH('', PEEK("parent")) |
| 68 | PUSH('', PEEK("y")) |
| 69 | do |
| 70 | local value, object = POP(''), POP('') |
| 71 | PUSHTO(object, "y", value) |
| 72 | end |
| 73 | _leave() |
| 74 | _drop() |
| 75 | PUSH('', PEEK("size")) |
| 76 | _enter() |
| 77 | PUSH('', PEEK("parent")) |
| 78 | PUSH('', PEEK("x")) |
| 79 | do |
| 80 | local value, object = POP(''), POP('') |
| 81 | PUSHTO(object, "w", value) |
| 82 | end |
| 83 | PUSH('', PEEK("parent")) |
| 84 | PUSH('', PEEK("x")) |
| 85 | do |
| 86 | local value, object = POP(''), POP('') |
| 87 | PUSHTO(object, "h", value) |
| 88 | end |
| 89 | _leave() |
| 90 | _drop() |
| 91 | _rectangle() |
| 92 | end |
| 93 | local function _draw() |
| 94 | PUSH('', PEEK("player")) |
| 95 | _enter() |
| 96 | PUSH('', "fill") |
| 97 | PUSH("fill-mode", POP('')) |
| 98 | _ZCrectangle() |
| 99 | _leave() |
| 100 | _drop() |
| 101 | end |
| 102 | local function _newzmpoint() |
| 103 | _object() |
| 104 | _enter() |
| 105 | PUSH('', PEEK("parent")) |
| 106 | PUSH('', POPFROM(POP(''), "x")) |
| 107 | PUSH("x", POP('')) |
| 108 | PUSH('', PEEK("parent")) |
| 109 | PUSH('', POPFROM(POP(''), "y")) |
| 110 | PUSH("y", POP('')) |
| 111 | _leave() |
| 112 | end |
| 113 | _object() |
| 114 | _enter() |
| 115 | PUSH('', 100) |
| 116 | PUSH("x", POP('')) |
| 117 | PUSH('', 100) |
| 118 | PUSH("y", POP('')) |
| 119 | _newzmpoint() |
| 120 | PUSH("position", POP('')) |
| 121 | PUSH('', 25) |
| 122 | PUSH("x", POP('')) |
| 123 | PUSH('', 25) |
| 124 | PUSH("y", POP('')) |
| 125 | _newzmpoint() |
| 126 | PUSH("size", POP('')) |
| 127 | _object() |
| 128 | _enter() |
| 129 | PUSH('', 1) |
| 130 | PUSH("r", POP('')) |
| 131 | PUSH('', 1) |
| 132 | PUSH("g", POP('')) |
| 133 | PUSH('', 0) |
| 134 | PUSH("b", POP('')) |
| 135 | _leave() |
| 136 | PUSH("color", POP('')) |
| 137 | _leave() |
| 138 | PUSH("player", POP('')) |
| 139 | function love.draw() |
| 140 | _draw() |
| 141 | end |
| 142 |