2013-03-30 4 views
1

Paper Rock Scissors를 만드는 클래스를 만들었습니다.게임을 실행하기 위해 새 클래스 만들기

public class RPS { 

    private char cAns; 

    public RPS() 
    { 
     reset(); 
    } 

    public String promptShoot() 
    { 
     return "Rock, Paper, Scissors, Shoot! (r/p/s)\n"; 
    } 

    public void AI() 
    { 
     double temp = Math.random(); 
     int num = (int)(temp * 2.99); 

     switch(num) 
     { 
      case 0: 
       cAns = 'r'; 
       break; 
      case 1: 
       cAns = 'p'; 
       break; 
      case 2: 
       cAns = 's'; 
       break; 
     } 
    } 

클래스는 컴퓨터를 임의로 선택합니다. 그런 다음 스캐너를 사용하여 사람의 입력을 요구합니다.

public String winner(int won) 
    { 
     if(won == 1) 
      return "The human won!!! All hail the human!!!"; 
     else if(won == -1) 
      return "The computer won!!! Humans must die!!!"; 
     else 
      return "Tie!"; 
    } 

    public void reset() 
    { 
     cAns = 'a'; 
    } 
} 

나는이 작품 생각하고 모든하지만 난이 RPS 클래스를 실행하기 위해 별도의 클래스를 만드는 데 필요한 몰랐어요 :

모두가 자신의 선택을 선택하면
public int shoot(char hAns) 
    { 
     if(hAns == cAns) 
      return 0; 
     else if((cAns == 'r' && hAns == 'p') 
       || (cAns == 'p' && hAns == 's') 
       || (cAns == 's' && hAns == 'r')) 
      return 1; 
     else 
      return -1; 
    } 

, 그것은 승자를 선언 .

나는이 지금까지

import java.util.Scanner; 

public class game 
{ 
    public static void main(String[] args) 
    { 
     Scanner scan = new Scanner(System.in); 

     RPS choice = new RPS(); 

     choice.AI(); 

     System.out.print(choice.promptShoot()); 
     choice.hAns(scan.nextInt()); 

     scan.close(); 
    } 
} 

내가이 게임을 초기화하지만 작동하지 않는 것이라고 생각합니다. 어떤 제안이나 올바른 방향으로 지적 할 수 있습니까?

답변

0

winnershoot 방법에 static을 추가하십시오. 마지막 주에이를 넣어 :

System.out.println(winner(shoot(scan.nextLine().charAt(0)))); 

choice.hAns(scan.nextInt());

+0

제거 나는 그것을 시도했지만 여전히 그것은 편집 한 것 – user2227728

+0

를 작동하지 않을 것입니다. 지금 일해야한다. –

+0

저는 교수님이 RPS 수업을 도와 주셨고, apperantly 그는 Im이 그것에 대해 아무것도 변경하지 않아야한다고 말했습니다. 그가 내게 준 방식대로 작동해야합니다. Im은 게임을 실행하는 클래스를 생성하기로되어 있습니다. 메신저 자바에 처음부터 혼란 스러웠습니다. – user2227728

관련 문제