2013-10-30 3 views
0

나는 사용자가 1에서 100 사이의 숫자를 추측해야하는 학교에 대한 간단한 자바 높은 낮은 게임을 만들고 있습니다.이 자바 스윙을 사용하고 있습니다 내 GUI. 사용자가 숫자를 추측하고 다시 시작 버튼을 누르면 다시 설정되는 추측을 세고 있습니다.안녕하세요 추측 게임에서 가장 낮은 점수를 추적

그러나 최선의 추측 수를 추적하고 싶습니다. 그래서 나는 "Current guesses"카운터와 "Best"카운터를 가질 것입니다. "최고"카운터는 첫 번째 라운드 만 증가시키고 그 후 추측의 가장 낮은 수에 따라 변경해야합니다.

currentScore 및 previousScore가 있다고 생각했지만 구현 방법을 잘 모르겠습니다. 어떤 아이디어?

내 인터페이스의 코드/사진이 필요한 경우이를 제공 할 수 있습니다. 기타 게임은 아래에 있습니다.

public class HiLoGame { 

    private int randomNum; 
    private int guessCount; 
    private String result; 
    private Random generator = new Random(); 

    public HiLoGame() { 
     randomNum = generator.nextInt(100) + 1; 
    } 

    public void randomNumber() { 
     randomNum = generator.nextInt(100) + 1; 
    } 

    public int getRandomNum() { 
     return randomNum; 
    } 

    public void checkGuess(int guess) { 
     if (guess < randomNum) { 
      result = Integer.toString(guess) + " - Too low, try again"; 
      guessCount++; 
     } else if (guess > randomNum) { 
      result = Integer.toString(guess) + " - Too high, try again"; 
      guessCount++; 
     } else if (guess == randomNum) { 
      guessCount++; 
      result = Integer.toString(guess) + " - You guessed it!"; 
     } 
    } 

    public String getResult() { 
     return result; 
    } 

    public int getGuessCount() { 
     return guessCount; 
    } 

    public void resetGame() { 
     guessCount = 0; 
    } 

}

답변

0

클래스 변수 하나만 사용하면 bestGuess를 정수 MaxVal로 초기화 할 수 있습니다.

checkGuess에서 guessCount가 bestGuess보다 작은 경우 bestsuess를 guessCount로 업데이트하십시오.

bestGuess를 리턴하는 getBestGuess 메소드를 추가하십시오.

성공적인 추측을하기 전에 getBestGuess가 호출되어 maxint를 리턴하지 않는 경우도 처리 할 수 ​​있습니다. 예를 들어 적어도 bestGuess가 업데이트되면 플래그를 설정하고, 그 전에 getBestGuess를 호출하면 아직 추측이 없다는 표시를 던질 수 있습니다.

+0

훌륭한 작품! 고마워요. –

+0

@MadsJustesen 유용하다면, 대답에 그 것을 나타낼 수 있습니다. :) –

+0

제 의원이 여전히 너무 낮습니다. 미안합니다. –

0

당신의 상태 :

은 내가 currentScore과 previousScore을 가진 생각,하지만 난이를 구현하는 방법을 잘 모르겠습니다. 어떤 아이디어?

예, 두 개의 int 변수 currentScore와 previousScore를 만들고 결과로 채 웁니다.

내 대답은 사소한 것처럼 보이지만 공평하게 생각됩니다. 좀 더 구체적인 도움이 필요하면 어떻게 붙어 있는지 더 자세히 이야기하고 싶을 것입니다.

+0

답변 해 주셔서 감사합니다. 내 guessCount가 매 라운드마다 재설정되므로 이전 점수를 저장하는 데 문제가있었습니다. 나는 뭔가를 간과하고 있을지도 모른다, 늦게지고있다! –

관련 문제