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.

results matching ""

    No results matching ""