2013-03-30 4 views
1

Я создал класс, который делает ножницы Paper Rock.Создание нового класса для запуска игры

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 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; 
    } 

После того, как оба выбрали свой выбор, он объявляет победителя:

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 ,

меня это до сих пор

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

Добавить static в категории winner и shoot методы. Поместите это в главный в конце:

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

Удалить choice.hAns(scan.nextInt());

+0

Я попытался это, но он все равно не будет работать – user2227728

+0

Это было отредактировано. Должен работать сейчас. –

+0

Я попросил своего профессора помочь мне в классе RPS, и он сказал, что я не должен ничего менять на этом. Он должен работать так, как он мне дал. Я просто должен создать класс, который запускает игру. Я просто смущен, так как Im new для java .. – user2227728

Смежные вопросы