Я делаю дворцовую игру, чтобы понять и лучше программировать в Java. Хотя я столкнулся с проблемой, когда каждый раз, когда я минимизирую экран, переменная, которая выбирает изображение карты, постоянно обновляется. Например, функция рандомизации, которую я имею, заставляет переменную выбирать карту в зависимости от ди git, а затем отображает ее, но она меняется каждый раз, когда я минимизирую страницу и открываю ее снова. Я пытался найти ответ на свою проблему, но я не смог его найти. Мой код для того, что я делаю, находится в предыдущем вопросе, который я задал. Мой вопрос заключается в том, как мне остановить обновление переменных при каждом сворачивании страницы?
Редактировать: я только что понял, что это также меняется каждый раз, когда я перемещаю окно курсором, если это помогает.
Это моя функция рандомизации:
public void randomizer() {
Random rand = new Random();
int rand_int1 = rand.nextInt(15-1)+1;
System.out.print(rand_int1);
if (rand_int1 == 1) {
setVariables(aceClover);
}else if (rand_int1 == 2) {
setVariables(twoClover);
}else if (rand_int1 == 3) {
setVariables(threeClover);
}else if (rand_int1 == 4) {
setVariables(fourClover);
}else if (rand_int1 == 5) {
setVariables(fiveClover);
}else if (rand_int1 == 6) {
setVariables(sixClover);
}else if (rand_int1 == 7) {
setVariables(sevenClover);
}else if (rand_int1 == 8) {
setVariables(eightClover);
}else if (rand_int1 == 9) {
setVariables(nineClover);
}else if (rand_int1 == 10) {
setVariables(tenClover);
}else if (rand_int1 == 11) {
setVariables(jackClover);
}else if (rand_int1 == 12) {
setVariables(queenClover);
}else if (rand_int1 == 13) {
setVariables(kingClover);
}else {
System.out.println("Couldn't return any Cards!");
}
}
package MainClasses;
import java.awt.*;
import java.io.*;
import java.util.Random;
import javax.imageio.ImageIO;
public class DrawBoard extends Component{
AllCards accessor = new AllCards();
public void paint(Graphics g) { // function to draw onto the window
Graphics2D g1 = (Graphics2D)g; // the component being used to access and write to the window
g1.clearRect(0, 0, getWidth(), getHeight()); // clears rectangle every frame
g1.setBackground(Color.green); // sets background color
accessor.randomizer();
g1.drawImage(accessor.imageExtract, 100, 100, null);
}
}
Если вам нужен остаток кода в этом вопросе:
Полный код
В нем есть некоторые незначительные изменения, потому что я исправил свою предыдущую проблему, все, что я сделал, это сделал новый класс и перенес создание этих переменных в этот класс и удалил их из моего предыдущий.