Правильное использование класса - PullRequest
0 голосов
/ 28 марта 2020

Я написал программу Nim Game. это работает нормально, если я использую две строки для первого игрока и второго игрока. Я хочу создать класс игрока. Я мог бы получить ответ. Вы можете помочь мне? Спасибо Без объекта у меня не было проблем.

public class NimPlayer {

     public String name;

     public NimPlayer(){

     }
     public NimPlayer(String n){
         name = n;
     }
     public void setName(String name){
         this.name = name;
     }
     public String getName(){
         return name;
     }


}
public class nimsys {



    public static void main(String[] args) {


        Scanner keyboard = new Scanner(System.in);       
        System.out.println("Welcome to Nim");
        String playerOne;
        String playerTwo;
        NimPlayer player[] = new NimPlayer[1];

        while(true){       
        System.out.println("Please enter Player 1's name:");
        player[0].setName(keyboard.nextLine()) ;

        if (player[0].name.contains(" ")|| (player[0].name.length()==0)){
            System.out.println("You name must not contains Space Please Enter Again");
            continue;}
        else
            break;

        }
        while(true){       
        System.out.println("Please enter Player 2's name:");
        player[1].name = keyboard.nextLine();

        if (player[1].name.contains(" ") || (player[1].name.length()==0 )){
            System.out.println("You name must not contains Space Please Enter Again");
            continue;}
        else
            break;
        }
        System.out.println("Please enter initial number of stones:");
        int initial = keyboard.nextInt();
        System.out.println("Please enter upper bound of stone removal: ");
        int upperBound = keyboard.nextInt();

        System.out.print(initial + " Stones Left :");
        for(int i=1;i <= initial;i++){
            System.out.print(" * ");
        }
        System.out.print("\n\n");

        boolean turn = true;
        int chosen ;
        while(true){
        while(turn == true){
            if (initial == 1){
                System.out.print(player[1].name + " Lost");
                break;
            }
            System.out.println(player[0].name + "'s " + "Turn - Remove How Many? ");
            chosen = keyboard.nextInt();
            if(chosen > upperBound){
                System.out.println("The chosen number MUST Not exceed the upperbound");
                continue;
            }
            initial = initial - chosen;
            System.out.print(initial + " Stones Left :");
            for(int i=1;i <= initial;i++){
               System.out.print(" * ");
        }
            turn = false;
       }

        System.out.print("\n\n");

        while(turn == false){

            if (initial == 1){
                System.out.print(player[0].name + " Lost");
                break;
            }
            System.out.println(player[1].name + "'s " + "Turn - Remove How Many? ");
            chosen = keyboard.nextInt();
            if(chosen > upperBound){
                System.out.println("The chosen number MUST Not exceed the upperbound");
                continue;
            }
            initial = initial - chosen;
            System.out.print(initial + " Stones Left :");
            for(int i=1;i <= initial;i++){
               System.out.print(" * ");
        }
            System.out.print("\n\n");
            turn = true;

        }
        if(turn == true)
            continue;
        else if(initial == 1)
            break;
        else
            break;

        }

    }






}

Я добавил некоторый код и изменил несколько его частей, но сообщение не может быть отправлено. Хорошо, если это сообщение появляется при задании нового вопроса, но оно появляется, когда я пытаюсь повторно отправить отредактированное сообщение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...