2013-05-09 4 views
0

저는 매끄러운 도구뿐만 아니라 Java 초보자입니다. 나는 창문의 특정 영역 내에 무작위로 배치 된 다른 색깔의 큐브를 가진 게임을 만들고 싶다.난수를 매끄럽게 고정하려면 어떻게해야합니까?

두 개의 for-loops를 사용하고 렌더링 할 때 임의의 번호를 호출합니다. 큐브를 원하는대로 정확하게 배치 할 수 있지만 모든 색상이 깜박입니다. 나는 그것이 내가 임의의 숫자를 요구하는 방법과 관련이 있다고 생각하고 FPS로 업데이트된다고?!

도와주세요!

public void render(GameContainer gc, StateBasedGame sdg, Graphics g) throws SlickException { 
    //set background 

    Image background = (new Image("res/background.png")).getScaledCopy(800, 500); 
    g.drawImage(background, 0, 0); 

    //set gamescape 
    blue = (new Image("res/blue.png")).getScaledCopy(20,20); 
    green = (new Image("res/green.png")).getScaledCopy(20,20); 
    red = (new Image("res/red.png")).getScaledCopy(20,20); 
    int xvalue = 300; 
    int yvalue = 400; 


    for (int a = 1; a < 20; a++) { 

     for (int i = 1; i < 10; i++) { 
      r = rand.nextInt(3); 
      if(r==0){g.drawImage(blue,xvalue,yvalue);} 

      else if(r==1){g.drawImage(red, xvalue, yvalue);} 

      else{g.drawImage(green, xvalue, yvalue);} 

      xvalue = xvalue+20; 
     } 
     yvalue = yvalue - 20; 
     xvalue = xvalue -180; 
    } 


} 

답변

0

문제는 장면을 다시 그릴 때마다 새로운 난수를 생성한다는 것입니다.

이 문제를 해결하려면 각 큐브의 생성 된 색을 저장하는 배열을 만들어야 할 수 있습니다. 이미지를 다시 그릴 때마다 배열의 각 색상 값을 읽습니다.

관련 문제