Changeset 102

Show
Ignore:
Timestamp:
03/20/04 23:55:39 (5 years ago)
Author:
ug
Message:

Various changes in class Pattern

Location:
06/devel
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • 06/devel/algosPY.py

    r101 r102  
    193193            return 
    194194 
     195        numOfMatches = 0 
     196        numOfOccurrences = 0 
     197 
    195198        while not index is None: 
    196199 
     
    204207                        
    205208                pattern = patternList.get(N) 
    206                 for a0 in range(pattern.anchors[0][0], pattern.anchors[1][0]+1): 
    207                     for a1 in range(pattern.anchors[0][1], pattern.anchors[1][1]+1): 
     209                for a0 in range(pattern.anchors[0][1], pattern.anchors[1][1]+1): 
     210                    for a1 in range(pattern.anchors[0][0], pattern.anchors[1][0]+1): 
    208211                        matches = 1 
    209212                                     
     
    220223                            for y in range(length): 
    221224                                pbIndex += 1 
    222                                 if (patternBits[pbIndex] & 
    223                                     self.finalpos[fpIndex]): 
     225                                if (patternBits[pbIndex] & self.finalpos[fpIndex]): 
    224226                                    matches = 0 
    225227                                    break 
     
    232234 
    233235             
    234             if matchList: db.makeCurrentCandidate(matchList) 
     236            if matchList: 
     237                db.makeCurrentCandidate(matchList) 
     238                numOfMatches += 1 
     239                numOfOccurrences += len(matchList) 
    235240            else: db.discardCurrent() 
    236241 
    237242            index = db.next() 
    238243 
     244        print numOfMatches, numOfOccurrences 
    239245 
    240246# in x-coord: 
  • 06/devel/kombilo.py

    r101 r102  
    18611861        if self.currentInitialPattern: 
    18621862            d = [] 
    1863             for i in range(self.sel[0][0], self.sel[1][0]+1): 
    1864                 for j in range(self.sel[0][1], self.sel[1][1]+1): 
     1863            for j in range(self.sel[0][1], self.sel[1][1]+1): 
     1864                for i in range(self.sel[0][0], self.sel[1][0]+1): 
    18651865                    d.append(self.currentInitialPattern[i+self.boardsize*j]) 
    18661866        else: 
     
    18701870            cls.append(chr(c[0]-self.sel[0][0]) + chr(c[1]-self.sel[0][1]) + c[2] + '/') 
    18711871        contListString = join(cls, '') 
    1872         self.currentSearchPattern = Pattern(anchors[0][0], anchors[0][1], anchors[1][0], anchors[1][1], 
     1872        print 'SEARCH', join(d, '') 
     1873        self.currentSearchPattern = Pattern(anchors[0][0], anchors[1][0], anchors[0][1], anchors[1][1], 
    18731874                                            self.sel[1][0]-self.sel[0][0]+1, self.sel[1][1]-self.sel[0][1]+1, 
    18741875                                            join(d, ''), contListString, len(self.currentContList), self.moveOne) 
     
    24792480        d = [] 
    24802481 
    2481         for i in range(region[0][0], region[1][0]+1): 
    2482             for j in range(region[0][1], region[1][1]+1): 
     2482        for j in range(region[0][1], region[1][1]+1): 
     2483            for i in range(region[0][0], region[1][0]+1): 
    24832484                if self.board.wildcards.has_key((i,j)): 
    24842485                    d.append(wildcolor_to_char(self.board.wildcards[(i,j)])) 
     
    24922493 
    24932494    def getAnchors(self): 
     2495        print 'ANCHORS' 
     2496        print self.sel 
    24942497        if self.sel[0] == (0,0) or \ 
    24952498           (self.sel[0][0], self.sel[1][1]) == (0,self.boardsize-1) or \ 
     
    25162519                                self.boardsize-2 -self.sel[1][1]+self.sel[0][1])] 
    25172520        anchors.sort() # FIXME: is this necessary? 
     2521        print anchors 
    25182522        return anchors 
    25192523 
  • 06/devel/patternPY.py

    r101 r102  
    6464         
    6565 
     66    def printPattern(self): 
     67        d = [] 
     68        for j in range(self.sizeY): 
     69            for i in range(self.sizeX): 
     70                d.append(self.initialPos[i+j*self.sizeX]) 
     71            d.append('\n') 
     72        print join(d, '') 
     73        print 'anchors', self.anchors 
     74 
     75         
    6676    def getBits(self, b, i): 
    6777        return self.bits[b][i] 
     
    8898 
    8999        self.initialPos = initialPos 
    90  
    91100        helpFinalPos = list(initialPos) 
    92101 
     
    135144                self.bits.append(nextBlock) 
    136145 
     146        self.printPattern() 
    137147 
    138148    flips = [] 
     
    206216                    newPd[f(i,j, self.pattern.sizeX-1, self.pattern.sizeY-1)] = self.pattern.getInitial(i, j) 
    207217 
    208             print newPd 
    209218            cl = self.pattern.contList.split('/') 
    210219            for c in cl: 
     
    229238 
    230239            npdl = [] 
    231             for i in range(newSizeX): 
    232                 for j in range(newSizeY): 
     240 
     241            for j in range(newSizeY): 
     242                for i in range(newSizeX): 
    233243                    npdl.append(newPd[(i,j)]) 
    234244            newPdString = join(npdl, '') 
    235245                               
    236             pNew = Pattern(newAnchors[0][0], newAnchors[0][1], newAnchors[1][0], newAnchors[1][1], 
     246            pNew = Pattern(newAnchors[0][0], newAnchors[1][0], newAnchors[0][1], newAnchors[1][1], 
    237247                           newSizeX, newSizeY, 
    238248                           newPdString, newContList, self.pattern.lenContList, self.pattern.moveOne) 
     
    249259                                      = self.invertColor(self.pattern.getInitial(i, j)) 
    250260                npdl = [] 
    251                 for i in range(newSizeX): 
    252                     for j in range(newSizeY): 
    253                         npdl.append(newPd[(i,j)]) 
     261 
     262                for j in range(newSizeY): 
     263                    for i in range(newSizeX): 
     264                        npdl.append(newPd1[(i,j)]) 
    254265                newPd1String = join(npdl, '') 
    255266                         
    256267                newContList1 = join([t[0]+t[1]+self.invertColor(t[2])+'/' for t in ncl], '') 
    257268                 
    258                 pNew1 = Pattern(newAnchors[0][0], newAnchors[0][1], newAnchors[1][0], newAnchors[1][1], 
     269                pNew1 = Pattern(newAnchors[0][0], newAnchors[1][0], newAnchors[0][1], newAnchors[1][1], 
    259270                                newSizeX, newSizeY, 
    260271                                newPd1String, newContList1, self.pattern.lenContList, self.pattern.moveTwo)