Changeset 916


Ignore:
Timestamp:
Sep 25, 2006, 2:45:33 AM (15 years ago)
Author:
livings124
Message:

two for-loops is probably better in this case

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/nat-traversal/PiecesWindowController.m

    r915 r916  
    127127    [fTorrent getAvailability: pieces size: fNumPieces];
    128128   
    129     int i, j, piece;
     129    int i, j, piece, index = -1;
    130130    NSPoint point;
    131131    NSRect rect = NSMakeRect(0, 0, fWidth, fWidth);
     
    133133    BOOL change = NO;
    134134       
    135     for (i = 0; i < fNumPieces; i++)
    136     {
    137         pieceImage = nil;
    138        
    139         piece = pieces[i];
    140         if (piece < 0)
     135    for (i = 0; i < fAcross; i++)
     136        for (j = 0; j < fAcross; j++)
    141137        {
    142             if (first || fPieces[i] != -1)
    143             {
    144                 fPieces[i] = -1;
    145                 pieceImage = fGreenPiece;
     138            index++;
     139            if (index >= fNumPieces)
     140                break;
     141           
     142            pieceImage = nil;
     143           
     144            piece = pieces[index];
     145            if (piece < 0)
     146            {
     147                if (first || fPieces[index] != -1)
     148                {
     149                    fPieces[index] = -1;
     150                    pieceImage = fGreenPiece;
     151                }
     152            }
     153            else if (piece == 0)
     154            {
     155                if (first || fPieces[index] != 0)
     156                {
     157                    fPieces[index] = 0;
     158                    pieceImage = fWhitePiece;
     159                }
     160            }
     161            else if (piece == 1)
     162            {
     163                if (first || fPieces[index] != 1)
     164                {
     165                    fPieces[index] = 1;
     166                    pieceImage = fBlue1Piece;
     167                }
     168            }
     169            else if (piece == 2)
     170            {
     171                if (first || fPieces[index] != 2)
     172                {
     173                    fPieces[index] = 2;
     174                    pieceImage = fBlue2Piece;
     175                }
     176            }
     177            else
     178            {
     179                if (first || fPieces[index] != 3)
     180                {
     181                    fPieces[index] = 3;
     182                    pieceImage = fBlue3Piece;
     183                }
     184            }
     185           
     186            if (pieceImage)
     187            {
     188                //drawing actually will occur, so figure out values
     189                if (!change)
     190                {
     191                    [fExistingImage lockFocus];
     192                    change = YES;
     193                }
     194               
     195                point = NSMakePoint((float)j * (fWidth + BETWEEN) + BETWEEN,
     196                                    (float)(fAcross - i) * (fWidth + BETWEEN) - fWidth);
     197               
     198                [pieceImage compositeToPoint: point fromRect: rect operation: NSCompositeSourceOver];
    146199            }
    147200        }
    148         else if (piece == 0)
    149         {
    150             if (first || fPieces[i] != 0)
    151             {
    152                 fPieces[i] = 0;
    153                 pieceImage = fWhitePiece;
    154             }
    155         }
    156         else if (piece == 1)
    157         {
    158             if (first || fPieces[i] != 1)
    159             {
    160                 fPieces[i] = 1;
    161                 pieceImage = fBlue1Piece;
    162             }
    163         }
    164         else if (piece == 2)
    165         {
    166             if (first || fPieces[i] != 2)
    167             {
    168                 fPieces[i] = 2;
    169                 pieceImage = fBlue2Piece;
    170             }
    171         }
    172         else
    173         {
    174             if (first || fPieces[i] != 3)
    175             {
    176                 fPieces[i] = 3;
    177                 pieceImage = fBlue3Piece;
    178             }
    179         }
    180        
    181         if (pieceImage)
    182         {
    183             //drawing actually will occur, so figure out values
    184             if (!change)
    185             {
    186                 [fExistingImage lockFocus];
    187                 change = YES;
    188             }
    189            
    190             int numAcross = i % fAcross, numDown = i / fAcross;
    191             point = NSMakePoint((float)numAcross * (fWidth + BETWEEN) + BETWEEN,
    192                                 (float)(fAcross - numDown) * (fWidth + BETWEEN) - fWidth);
    193            
    194             [pieceImage compositeToPoint: point fromRect: rect operation: NSCompositeSourceOver];
    195         }
    196     }
    197201   
    198202    if (change)
Note: See TracChangeset for help on using the changeset viewer.