Grow Boxes
You guessed right, boxes grow too.
Loop block()
in 3 dimensions, we can set up the timer to make a box grow:
grow_box, red
# grow_box
def grow_box(x,y,z, d):
for i in range(-d, d+1):
for j in range(-d, d+1):
for k in range(-d, d+1):
block((x+i), (y+j), (z+k), 13) # red
if d < 5:
game.set_timer(1, grow_box, x, y, z, d+1)
grow_box(0, 40, -30, 0)
This is a red color box, it's size keeps getting bigger.
A line of boxes
Let's grow a line of boxes, give the x
value in block()
a shifting number n
:
many_boxes, lime
# many_boxes
def many_boxes(x,y,z, d, n):
for i in range(-d, d+1):
for j in range(-d, d+1):
for k in range(-d, d+1):
block((x+i+n),(y+j),(z+k), 8) # lime
if d < 5:
game.set_timer(1, many_boxes, x, y, z, d+1, n+20)
grow_box(0, 10,-30, 0, 0)
many_boxColor
Add another argument, the material number m
, also update it's value in the timer function, we'll get many boxes of different color, they appear one by one, small to big.
def many_boxColor(x,y,z, d, n, m):
for i in range(-d, d+1):
for j in range(-d, d+1):
for k in range(-d, d+1):
block((x+i+n),(y+j),(z+k), m)
if d < 5:
game.set_timer(1, many_boxColor, x, y, z, d+1, n+20, m+1)
many_boxColor(0, 30 , -30, 0, 0, 49)
A picture of the final boxes, you run the program and see them in motion.