@Override public void actionPerformed(ActionEvent e) { if (firstClick) { firstClick = false; lastIcon = buttons[0][0].getIcon(); buttons[0][0].setIcon(null); for (int i = 0; i < 10000; i++) { int zufallY = (int) ((Math.random() * YY) + 0); int zufallX = (int) ((Math.random() * XX) + 0); switchButton(zufallY, zufallX); } // ToDo: unwiederrufbare Operationen vermeiden? // funktion klären und abfangen /*while(lastButton % XX != 0) switchButton(lastButton-1); while (lastButton != "00") switchButton(lastButton-XX);*/ } else { PuzzButton tmp = (PuzzButton) e.getSource(); int posY = tmp.getPosY(); int posX = tmp.getPosX(); switchButton(posY, posX); if (isDone()) { buttons[0][0].setIcon(lastIcon); firstClick = true; } } }
private boolean isDone() { // hint: name wird umgesetzt, deswegen muss entweder name geprüft werden, oder x / y umgesetzt // werden. for (PuzzButton[] b : buttons) { for (PuzzButton button : b) { if (!button.getYX().equals(button.getActionCommand())) return false; } } return true; };