Example #1
0
 def __init__(self, grid, type, unit_id):
     if unit_id >= 0 and unit_id < 9:
         self.__unit_id = unit_id
         self.__type = type
         # 初始化组内格子的引用
         if self.__type == 0:
             # row
             self.__cells = [
                 grid.cell(i) for i in range(81)
                 if convertor.id2Row(i) == self.__unit_id
             ]
         elif self.__type == 1:
             # box
             self.__cells = [
                 grid.cell(i) for i in range(81)
                 if convertor.id2Box(i) == self.__unit_id
             ]
         elif self.__type == 3:
             # column
             self.__cells = [
                 grid.cell(i) for i in range(81)
                 if convertor.id2Column(i) == self.__unit_id
             ]
         else:
             self.__cells = []
             print "UNITTYPE is not defined!"
             del self
     else:
         print "The unit_id is not exist!"
         del self
Example #2
0
 def relationCell(self, cell_id):
     row = convertor.id2Row(cell_id)
     column = convertor.id2Column(cell_id)
     box = convertor.id2Box(cell_id)
     relation = [convertor.RC2id(row, i) for i in range(9)]
     relation += [convertor.RC2id(i, column) for i in range(9)]
     relation += [convertor.BA2id(box, i) for i in range(9)]
     relation = list(set(relation))
     relation.remove(cell_id)
     relation.sort()
     return [self.cell(i) for i in relation]
Example #3
0
 def relationCell(self, cell_id):
     row = convertor.id2Row(cell_id)
     column = convertor.id2Column(cell_id)
     box = convertor.id2Box(cell_id)
     relation = [convertor.RC2id(row, i) for i in range(9)]
     relation += [convertor.RC2id(i, column) for i in range(9)]
     relation += [convertor.BA2id(box, i) for i in range(9)]
     relation = list(set(relation))
     relation.remove(cell_id)
     relation.sort()
     return [self.cell(i) for i in relation]
Example #4
0
 def __init__(self, grid, type, unit_id):
     if unit_id >= 0 and unit_id < 9:
         self.__unit_id = unit_id
         self.__type = type
         # 初始化组内格子的引用
         if self.__type == 0:
             # row
             self.__cells = [grid.cell(i) for i in range(81) if convertor.id2Row(i) == self.__unit_id]
         elif self.__type == 1:
             # box
             self.__cells = [grid.cell(i) for i in range(81) if convertor.id2Box(i) == self.__unit_id]
         elif self.__type == 3:
             # column
             self.__cells = [grid.cell(i) for i in range(81) if convertor.id2Column(i) == self.__unit_id]
         else:
             self.__cells = []
             print "UNITTYPE is not defined!"
             del self
     else:
         print "The unit_id is not exist!"
         del self
Example #5
0
 def getUnitDict(self):
     row = convertor.id2Row(self.__id)
     box = convertor.id2Box(self.__id)
     column = convertor.id2Column(self.__id)
     return {UNITTYPE[0]: row, UNITTYPE[3]: column, UNITTYPE[1]: box}
Example #6
0
 def getUnitDict(self):
     row = convertor.id2Row(self.__id)
     box = convertor.id2Box(self.__id)
     column = convertor.id2Column(self.__id)
     return {UNITTYPE[0]: row, UNITTYPE[3]: column, UNITTYPE[1]: box}