Как сделать так, чтобы выбранные блоки на сетке меняли цвет при клике - PullRequest
0 голосов
/ 02 мая 2019

Мне нужен код, чтобы изменить цвет сундука в зависимости от того, является ли он одним из случайно выбранных ящиков с «Сокровищем».Я сделал код, чтобы рандомизировать местоположение сокровища, и коробки меняют на правильный цвет, основываясь на этом, но он работает только для одного клика, и после этого никакие другие выбранные коробки не меняют цвет.

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

  for(int i = 0; i <= 6; i ++){ 

  row = getClickRow(panel);
  col = getClickColumn(panel);
  while ((row < 0 || col < 0) && !(pRow == row && pCol == row)) {
    row = getClickRow(panel);
    col = getClickColumn(panel); 
  }

  if (pRow != row || pCol != col) {
    pRow = row;
    pCol = col;
  }

    ret = verifyPos(xPos, yPos, row, col); // should be converted to verify all treasures

    if (row > -1 && col > -1) {
      if (ret)
        g.setColor(Color.GREEN);
      else
        g.setColor(Color.RED);
      g.fillRect(col * 100 + 51, row * 100 + 51, 99, 99);
    }
  }

Я добавил цикл for всверху ожидаем, что он будет работать для 6 выбранных ящиков, но ящики не меняют цвет после того, как выбрана первая.

...