Как я могу проверить надписи
Привет, я пытаюсь сделать игру, в которой вы должны есть очки с доски. Я использовал swing для создания графического интерфейса, и теперь я создал каждую часть на столе, но теперь я застрял в попытке проверить положение метки.
Это та часть, где создается доска:
for (int i = 0; i < row; i++) { for (int j = 0; j < cols; j++) { grid[i][j] = new JLabel("", SwingConstants.CENTER); grid[i][j].setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); grid[i][j].setFont(grid[i][j].getFont().deriveFont(20f)); if (i == 0 || j == 0 || i == 9 || j == 19) { grid[i][j].setBackground(Color.black); } else { grid[i][j].setBackground(Color.WHITE); int position = rand.nextInt(3); if (position == 2) { grid[i][j].setBackground(Color.red); } } if (i == finalRandSpawn && j == finalRandSpawn1) { grid[i][j].setBackground(Color.green); } if (i == finalRandSpawn2 && j == finalRandSpawn3) { grid[i][j].setBackground(Color.BLUE); } if (i == 9 && j == 0) { grid[i][j].addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { try { restartButtonActionPerformed(); } catch (Exception exception) { exception.printStackTrace(); } super.mouseClicked(e); } }); grid[i][j].setText("RETRY"); } grid[i][j].setOpaque(true); panel.add(grid[i][j]); } } panel.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { switch (e.getKeyCode()) { case KeyEvent.VK_LEFT: moveLeft(player); System.out.println("Left"); break; case KeyEvent.VK_DOWN: moveDown(player); break; case KeyEvent.VK_RIGHT: moveRight(player); break; case KeyEvent.VK_UP: moveUp(player); break; default: System.out.println("Use W-A-S-D only !"); break; } super.keyPressed(e); } });
и это методы движения
public static void moveUp(Player player) { int i = player.x; int j = player.y; grid[i][j].setBackground(Color.WHITE); grid[i - 1][j].setBackground(Color.GREEN); player.y = j; player.x = i - 1; } public static void moveDown(Player player) { int i = player.x; int j = player.y; grid[i][j].setBackground(Color.WHITE); grid[i + 1][j].setBackground(Color.GREEN); player.y = j; player.x = i + 1; } public static void moveLeft(Player player) { int i = player.x; int j = player.y; grid[i][j].setBackground(Color.WHITE); grid[i][j - 1].setBackground(Color.GREEN); player.y = j - 1; player.x = i; } public static void moveRight(Player player) { int i = player.x; int j = player.y; grid[i][j].setBackground(Color.WHITE); grid[i][j + 1].setBackground(Color.GREEN); player.y = j + 1; player.x = i; }
Все работает, но теперь я должен создать ту часть, где он останавливается, если ударяется о стену, и забивает, если вы съедаете очко. Может кто-нибудь дать мне совет?
Что я уже пробовал:
Я ничего не мог придумать, честно говоря, я смертельно застрял