Marble_Pile, class
# Marble_Pile, class
class Marble_Pile:
def __init__(self, x, z, h, m):
self.x = 0
self.z = z
self.h = h
self.m = m
self.build()
def build(self):
column(self.x, self.z, self.h, self.m)
def putOnce(self, n, color):
self.x += 2
self.h = n
self.m = color
self.build()
def putTwice(self, n, color):
self.putOnce(n, color)
self.putOnce(n, color)
Class Marble_Pile
is similar to previous class Marble_bag
. We can see in CodeCraft how the objects of the Marble_Pile behaves:
~ Marble_Pile
object has some marbles as base when created and initialized;
~ Method putOnce(n, color)
can add n marbles with specific color;
~ Method putTwice(n, color)
can add two more piles in another color: each has n marbles;
~ Method build()
is to be called in all other methods (including __init__
) to build the current pile.
~ Object property (which indicates the x
location of the current pile), is updated as self.x += 2
in method putOnce(n, color)
to make sure a newly build pile is shifted two blocks to the right of the existing piles.
((??~ We use an instance variable n
to keep track of the x location of the newly build column.
))