Занимают ли помеченные изображения память / места? - PullRequest
0 голосов
/ 11 мая 2011

Мне просто интересно, могут ли помеченные изображения занимать память / места (я не знаю, как их назвать, поэтому я называю их памятью / местами) ...

Код ниже используется для поиска совпадений, а затем удаляет их из поля зрения, когда их 3 или более в строке / столбце. Дело в том, что кажется, что оператор if работает только один раз. Как только они были использованы, они перестают находить спички.

Есть ли способ "освобождения" занятых операторов if или есть другой способ сделать это?

for( int y=0; y<HEIGHT-2; y++ ){
for( int x=0; x<WIDTH-2; x++ ){

    //don't match empty squares
    if(grid[x][y] == nil){
        continue;
        NSLog(@"continue");
    }

    if(x >= 2 && x <= WIDTH -2  && y >= 2 && y <= HEIGHT - 2) {

        //Check to the right
        if(grid[x+1][y].tag == grid[x][y].tag && grid[x+2][y].tag == grid[x][y].tag) {

            NSLog(@"to the right");

            grid[x][y].alpha = 0;
            grid[x+1][y].alpha = 0;
            grid[x+2][y].alpha = 0;


            NSLog(@"Match to the right grid[x][y].tag %d",grid[x][y].tag);
            NSLog(@"Match to the right grid[x+1][y].tag %d",grid[x+1][y].tag);
            NSLog(@"Match to the right grid[x+2][y].tag %d",grid[x+2][y].tag);

        }

        //Check to the left
        else if (grid[x-1][y].tag == grid[x][y].tag && grid[x-2][y].tag == grid[x][y].tag){

            NSLog(@" to the left");

            grid[x][y].alpha = 0;
            grid[x+1][y].alpha = 0;
            grid[x+2][y].alpha = 0;

            NSLog(@"Match to the left grid[x][y].tag %d",grid[x][y].tag);
            NSLog(@"Match to the left grid[x-1][y].tag %d",grid[x-1][y].tag);
            NSLog(@"Match to the left grid[x-2][y].tag %d",grid[x-2][y].tag);

        }

        //Check up
        else if(grid[x][y-1].tag == grid[x][y].tag && grid[x][y-2].tag == grid[x][y].tag){

            NSLog(@"up");   

            grid[x][y].alpha = 0;
            grid[x][y-1].alpha = 0;
            grid[x][y-2].alpha = 0;         

            NSLog(@"Match up grid[x][y].tag %d",grid[x][y].tag);
            NSLog(@"Match up grid[x][y-1].tag %d",grid[x][y-1].tag);
            NSLog(@"Match up grid[x][y-2].tag %d",grid[x][y-2].tag);

        }

        //Check down
        else if(grid[x][y+1].tag == grid[x][y].tag && grid[x][y+2].tag == grid[x][y].tag){

            NSLog(@"down");

            grid[x][y].alpha = 0;
            grid[x][y+1].alpha = 0;
            grid[x][y+2].alpha = 0;

            NSLog(@"Match down grid[x][y].tag %d",grid[x][y].tag);
            NSLog(@"Match down grid[x][y+1].tag %d",grid[x][y+1].tag);
            NSLog(@"Match down grid[x][y+2].tag %d",grid[x][y+2].tag);

        }

    else{
        GamePaused = NO;
    }
}

}

1 Ответ

0 голосов
/ 11 мая 2011

Нет, они не занимают память.Они назначаются только для однозначной идентификации в родительском элементе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...