2017-10-24 1 views
0

저는 수업을위한 주사위 게임을 만들고 있는데 주사위 굴림 방법을 어떻게 호출해야할지 모르겠습니다. 내 공공 ​​무효 playerRolls의 내부같은 클래스에서 메소드를 어떻게 호출합니까?

public class PigGame{ 

    public GVdie die1; 
    public GVdie die2; 
    public int PlayerScore; 
    public int ComputerScore; 
    public int RoundScore; 
    public int winningScore; 
    public int Roll1; 

    public PigGame(){ 
    die1 = new GVdie(); 
    die2 = new GVdie(); 
    PlayerScore = (0); 
    ComputerScore = (0); 
    RoundScore = (0); 
    winningScore = (100); 
    System.out.println("Welcome to the game of Pig");  
    } 

    public int getRoundScore(){ 
    return RoundScore; 
    } 

    public int getPlayerScore(){ 
    return PlayerScore; 
    } 

    public int getComputerScore(){ 
    return ComputerScore; 
    } 

    public boolean playerWon(){ 
    if (PlayerScore >= 100) 
    return true; 
    else 
    return false; 
    } 

    public boolean computerWon(){ 
    if (ComputerScore >= 100) 
    return true; 
    else 
    return false; 
    } 

    private void rollDice(){ 
    die1.roll(); 
    die2.roll();  
    int roll1 = die1.getValue(); 
    int roll2 = die2.getValue(); 
    if ((roll1 == 1) || (roll2 == 1)) 
    RoundScore = 0; 
    else 
    RoundScore = roll1 + roll2;  

    System.out.println(die1 + "+" + die2 + "=" + (RoundScore)); 

    } 

    public void playerRolls(){ 
    Roll1.rollDice(); 

    System.out.print(PlayerScore); 
    if(PlayerScore >= 100) 
    System.out.println("You have won the game of Pig!"); 

    } 

는() 나는 rollDice 메소드를 호출해야하고, 그 작업을 수행하는 방법을 알아내는 정말 힘든 시간을 보내고 왔습니다. 내가 한 모든 일은 새로운 오류가 떠오른다. 그 줄에있는 첫 줄의 코드는 분명히 잘못되었습니다. 내가 마지막에 넣은 것입니다.

답변

1

playerRolls()에서 직접 rollDice()를 호출 할 수 있습니다. 단지 rollDice();. 지금 당신이하고있는 것은 이상한 int로부터 메소드를 호출하려고하는 것입니다. 개인 메서드는 내부 클래스 인스턴스 내부에서만 호출 할 수 있습니다. 방법 클래스 INT의 rollDice() 호출 당신이 Roll1.rollDice()에 의해 수행하려는

public void playerRolls(){ 
    rollDice(); //HERE 

    System.out.print(PlayerScore); 
    if(PlayerScore >= 100) 
     System.out.println("You have won the game of Pig!"); 
} 
+0

감사합니다. 나는 그것이 어리석게 쉬운 고침 일 예정였다라는 것을 알고 있었다. 나는 아직도이 프로젝트에 더 많은 것을 가지고있어 희망을 갖고 끝낼 수있다. –

0

(I 강하게 가정 존재하지 않습니다).

this.rollDice() 또는 동일한 클래스에서 rollDice()으로 간단하게 전화 할 수 있습니다.

this은 그 시점에있는 객체에 대한 포인터입니다.

관련 문제