<filename>python/shapeFactory.py<gh_stars>1-10
import shape as vo
import random

class ShapeFactory(object):

    shapeData = [
        [[[0, 1, 1, 0],
          [0, 1, 0, 0],
          [0, 1, 0, 0],
          [0, 0, 0, 0]],
         [[0, 1, 1, 1],
          [0, 0, 0, 1],
          [0, 0, 0, 0],
          [0, 0, 0, 0]],
         [[0, 0, 0, 1],
          [0, 0, 0, 1],
          [0, 0, 1, 1],
          [0, 0, 0, 0]],
         [[0, 0, 0, 0],
          [0, 1, 0, 0],
          [0, 1, 1, 1],
          [0, 0, 0, 0]]],

        [[[0, 0, 1, 1],
          [0, 0, 0, 1],
          [0, 0, 0, 1],
          [0, 0, 0, 0]],
         [[0, 0, 0, 1],
          [0, 1, 1, 1],
          [0, 0, 0, 0],
          [0, 0, 0, 0]],
         [[0, 1, 0, 0],
          [0, 1, 0, 0],
          [0, 1, 1, 0],
          [0, 0, 0, 0]],
         [[0, 1, 1, 1],
          [0, 1, 0, 0],
          [0, 0, 0, 0],
          [0, 0, 0, 0]]],

        [[[0, 0, 0, 0],
          [0, 0, 1, 0],
          [0, 1, 1, 1],
          [0, 0, 0, 0]],
         [[0, 0, 1, 0],
          [0, 0, 1, 1],
          [0, 0, 1, 0],
          [0, 0, 0, 0]],
         [[0, 0, 0, 0],
          [0, 1, 1, 1],
          [0, 0, 1, 0],
          [0, 0, 0, 0]],
         [[0, 0, 1, 0],
          [0, 1, 1, 0],
          [0, 0, 1, 0],
          [0, 0, 0, 0]]],

        [[[0, 0, 0, 0],
          [0, 1, 1, 0],
          [0, 0, 1, 1],
          [0, 0, 0, 0]],
         [[0, 0, 0, 1],
          [0, 0, 1, 1],
          [0, 0, 1, 0],
          [0, 0, 0, 0]],
         [[0, 0, 0, 0],
          [0, 1, 1, 0],
          [0, 0, 1, 1],
          [0, 0, 0, 0]],
         [[0, 0, 0, 1],
          [0, 0, 1, 1],
          [0, 0, 1, 0],
          [0, 0, 0, 0]]],

        [[[0, 0, 0, 0],
          [0, 0, 1, 1],
          [0, 1, 1, 0],
          [0, 0, 0, 0]],
         [[0, 0, 1, 0],
          [0, 0, 1, 1],
          [0, 0, 0, 1],
          [0, 0, 0, 0]],
         [[0, 0, 0, 0],
          [0, 0, 1, 1],
          [0, 1, 1, 0],
          [0, 0, 0, 0]],
         [[0, 0, 1, 0],
          [0, 0, 1, 1],
          [0, 0, 0, 1],
          [0, 0, 0, 0]]],

        [[[0, 0, 1, 0],
          [0, 0, 1, 0],
          [0, 0, 1, 0],
          [0, 0, 1, 0]],
         [[0, 0, 0, 0],
          [1, 1, 1, 1],
          [0, 0, 0, 0],
          [0, 0, 0, 0]],
         [[0, 1, 0, 0],
          [0, 1, 0, 0],
          [0, 1, 0, 0],
          [0, 1, 0, 0]],
         [[0, 0, 0, 0],
          [0, 0, 0, 0],
          [1, 1, 1, 1],
          [0, 0, 0, 0]]],

        [[[0, 0, 0, 0],
          [0, 1, 1, 0],
          [0, 1, 1, 0],
          [0, 0, 0, 0]],
         [[0, 0, 0, 0],
          [0, 1, 1, 0],
          [0, 1, 1, 0],
          [0, 0, 0, 0]],
         [[0, 0, 0, 0],
          [0, 1, 1, 0],
          [0, 1, 1, 0],
          [0, 0, 0, 0]],
         [[0, 0, 0, 0],
          [0, 1, 1, 0],
          [0, 1, 1, 0],
          [0, 0, 0, 0]]]
    ]

    shapeColor = [0xCC6666, 0x66CC66, 0x6666CC, 0xCCCC66, 0xCC66CC, 0x66CCCC, 0xDAAA00]

    def __init__(self):
        print('init')

    def product(self, size, offset):
        i = random.randint(0, len(self.shapeColor) - 1)
        j = random.randint(0, len(self.shapeData) - 1)

        color = self.shapeColor[i]
        data = self.shapeData[j]
        shape = vo.Shape(color, data, size, offset)
        return shape

    def next(self, color, data, size, offset):
        shape = vo.Shape(color, data, size, offset)
        shape.pointX = 0
        shape.pointY = 0
        return shape
