Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
|
|
@ -0,0 +1,69 @@
|
|||
require "bitmap"
|
||||
|
||||
local w = 600
|
||||
local h = 600
|
||||
local bmp = bitmap.of(w, h, color.white, "Simple_turtle_graphics")
|
||||
local t = turtle.of(bmp)
|
||||
|
||||
local function drawhouse(size)
|
||||
-- Save initial turtle position and direction.
|
||||
local saveX = t.x
|
||||
local saveY = t.y
|
||||
local saveD = t.dir
|
||||
|
||||
t.pen.width = 2
|
||||
|
||||
-- Draw house.
|
||||
t:rect(w // 4, h // 2, size, size)
|
||||
|
||||
-- Draw roof.
|
||||
t:right(30)
|
||||
t:walk(size)
|
||||
t:right(120)
|
||||
t:walk(size)
|
||||
|
||||
-- Draw door.
|
||||
local doorWidth = size // 4
|
||||
local doorHeight = size // 2
|
||||
t:rect(w // 4 + doorWidth // 2, h // 2 + doorHeight, doorWidth, doorHeight)
|
||||
|
||||
-- Draw window
|
||||
local windWidth = size // 3
|
||||
local windHeight = size // 4
|
||||
t:rect(w // 4 + size // 2, h // 2 + size // 2, windWidth, windHeight)
|
||||
|
||||
-- Restore initial turtle position and direction.
|
||||
t.x = saveX
|
||||
t.y = saveY
|
||||
t.dir = saveD
|
||||
end
|
||||
|
||||
-- 'nums' assumed to be all non-negative.
|
||||
local function barChart(nums, size)
|
||||
-- Save intial turtle position and direction.
|
||||
local saveX = t.x
|
||||
local saveY = t.y
|
||||
local saveD = t.dir
|
||||
|
||||
-- Find maximum.
|
||||
local max = nums:max()
|
||||
|
||||
-- Scale to fit within a square with sides 'size' and draw chart.
|
||||
local barWidth = size // #nums
|
||||
local startX = w // 2 + 20
|
||||
local startY = h // 2
|
||||
for i = 1, #nums do
|
||||
local barHeight = math.round(nums[i] * size / max)
|
||||
t:rect(startX, startY - barHeight, barWidth, barHeight)
|
||||
startX += barWidth
|
||||
end
|
||||
|
||||
-- restore intial turtle position and direction
|
||||
t.x = saveX
|
||||
t.y = saveY
|
||||
t.dir = saveD
|
||||
end
|
||||
|
||||
drawhouse(w // 4)
|
||||
barChart({15, 10, 50, 35, 20}, w // 3)
|
||||
bmp:view()
|
||||
Loading…
Add table
Add a link
Reference in a new issue