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
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