Может ли кто-нибудь объяснить этот фрагмент кода, пожалуйста - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь сделать игру по соединению четыре, но я застрял на том, как я уменьшу высоту столбца, когда игрок выбирает ячейку, а затем падает.Я попытался найти его в Google и нашел, что не могу понять, кто-нибудь может объяснить это

Примечание. Решение, которое я нашел https://codereview.stackexchange.com/questions/100917/connect-four-game-in-java

for (int h = this.height - 1; h >= 0; h--) {
            if (this.grid[h][col] == '.') {
                this.grid[this.lastTop=h][this.lastCol=col] = symbol;
                return;
            }
        }

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Этот цикл обновляет сетку, которая представляет доску или детскую площадку.Он просто помещает символ, который представляет текущего игрока, в столбец на высоте, которая все еще пуста (пусто представлено точкой).

Как вы можете видеть, сетка - это двумерный массив, первое измерение котороговысота.

this.grid = new char[height][]; for (int h = 0; h < height; h++) { Arrays.fill(this.grid[h] = new char[width], '.'); }

0 голосов
/ 11 октября 2018

не могу объяснить подробно из-за отсутствующего кода, но что я понимаю

     this.grid[this.lastTop=h][this.lastCol=col] = symbol;
     //if (this.grid[h][col] == '.') when true in case h = 1 and col =1
     // then first assign the value h to lastTop and same col value to lastCol variable and add/replace the symbol in that place, for this this.grid[1][1] = symbol 
...