예제 #1
0
class Border(Tile):
    '''Animate a border.'''
    
    def __init__(self):
        Tile.__init__(self, 3)

        def position(border):
            while True:
                for i in range(1 + border, 8 - border): yield (i, border)
                for i in range(1 + border, 8 - border): yield (7 - border, i)
                for i in range(1 + border, 8 - border): yield (7 - i, 7 - border)
                for i in range(1 + border, 8 - border): yield (border, 7 - i)

        self.__gens = []

        for i in range(4):
            self.__gens.append(position(i))

        self.__bloc = Block(8, 8)
        self.getFrame().add(self.__bloc, 0, 0)

    def count(self, n):
        self.__bloc.fill(LampState.OFF)

        for g in self.__gens:
            (x, y) = g.next()
            self.__bloc.setLamp(x, y, LampState.ON)
예제 #2
0
class Border(Tile):
    '''Animate a border.'''
    def __init__(self):
        Tile.__init__(self, 3)

        def position(border):
            while True:
                for i in range(1 + border, 8 - border):
                    yield (i, border)
                for i in range(1 + border, 8 - border):
                    yield (7 - border, i)
                for i in range(1 + border, 8 - border):
                    yield (7 - i, 7 - border)
                for i in range(1 + border, 8 - border):
                    yield (border, 7 - i)

        self.__gens = []

        for i in range(4):
            self.__gens.append(position(i))

        self.__bloc = Block(8, 8)
        self.getFrame().add(self.__bloc, 0, 0)

    def count(self, n):
        self.__bloc.fill(LampState.OFF)

        for g in self.__gens:
            (x, y) = g.next()
            self.__bloc.setLamp(x, y, LampState.ON)
    def __init__(self):
        Tile.__init__(self, 1, 1)
        self.__random = Random()
        b = Block(8, 8)

        for i in range(0, 8):
            for j in range(0, 8):
                if self.__random.nextBoolean():
                    b.setLamp(i, j, LampState.ON)
                else:
                    b.setLamp(i, j, LampState.OFF)

        self.getFrame().add(b, 0, 0)
        self.__block = b
예제 #4
0
    def __init__(self):
        FlipTile.__init__(self)

        cross1 = Block(8, 8).fill(LampState.OFF)
        cross2 = Block(8, 8).fill(LampState.OFF)

        for i in range(0, 8):
            cross1.setLamp(i, i, LampState.ON)
            cross1.setLamp(i, 7 - i, LampState.ON)

        for i in range(0, 8):
            cross2.setLamp(3, i, LampState.ON)
            cross2.setLamp(4, i, LampState.ON)
            cross2.setLamp(i, 3, LampState.ON)
            cross2.setLamp(i, 4, LampState.ON)

        self.getFrame().add(cross1, 0, 0).add(cross2, 0, 0)

        self.__cross1 = cross1
        self.__cross2 = cross2
예제 #5
0
    def __init__(self):
        FlipTile.__init__(self)

        cross1 = Block(8, 8).fill(LampState.OFF)
        cross2 = Block(8, 8).fill(LampState.OFF)

        for i in range(0, 8):
            cross1.setLamp(i, i, LampState.ON)
            cross1.setLamp(i, 7 - i, LampState.ON)

        for i in range(0, 8):
            cross2.setLamp(3, i, LampState.ON)
            cross2.setLamp(4, i, LampState.ON)
            cross2.setLamp(i, 3, LampState.ON)
            cross2.setLamp(i, 4, LampState.ON)

        self.getFrame().add(cross1, 0, 0).add(cross2, 0, 0)

        self.__cross1 = cross1
        self.__cross2 = cross2