Пример #1
0
 def __init__(self, array, pos):
     super(LMove, self).__init__(array, pos)
     self.move = np.zeros((2, 3))
     self.move[0, asint(array[pos + 2:pos + 4]) -
               1] = asint(array[pos + 12:pos + 16]) - 5
     self.move[1, asint(array[pos:pos + 2]) -
               1] = asint(array[pos + 8:pos + 12]) - 5
Пример #2
0
 def __init__(self, array, pos):
     super(Fission, self).__init__(array, pos)
     packed = asint(array[pos:pos + 5])
     self.dir = np.zeros(3)
     for i in reversed(range(3)):
         self.dir[i] = packed % 3 - 1
         packed //= 3
     self.size = asint(array[pos + 8:pos + 16])
Пример #3
0
 def __init__(self, data):
     self.size = asint(bitarray(data[:8], endian="big"))
     cell_count = self.size**3
     cells = numpy.frombuffer(data[8:8 + cell_count].unpack(),
                              dtype=bool).astype(int)
     cells.resize(cell_count)
     self.data = cells.reshape((self.size, self.size, self.size))
Пример #4
0
 def __init__(self, array, pos):
     super(SMove, self).__init__(array, pos)
     self.move = np.zeros(3)
     self.move[asint(array[pos + 2:pos + 4]) -
               1] = asint(array[pos + 11:pos + 16]) - 15