square.lua
· 2.4 KiB · Lua
Brut
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 |