Project 2; Nim

Code

    // Donovan Rich
    // Period 6
    // Nim
    // Nim.java
    // 2/5/2016
    
    import java.util.Scanner;
    import java.util.Random;
    
    public class Nim
    {
        public static void main( String[] args )
        {
            Scanner keyboard = new Scanner(System.in);
            Random r = new Random();
            String selector="", player1, player2;      
            int p1 = 1+r.nextInt(5), p2 = 1+r.nextInt(5), p3 = 1+r.nextInt(5), turn = 1, nimber = 0;
            System.out.print( "\nPlayer 1, enter name >>  " );
            player1 = keyboard.next();
            System.out.print( "\nNow, Player 2, enter name >> " );
            player2 = keyboard.next();
            
            while ( p1+p2+p3 != 0 )
            {
                while ( turn == 1  )
                {
                    System.out.println( "\nPile A = [" + p1 + "]  Pile B = [" + p2 + "]  Pile C = [" + p3 + "]" );
                    System.out.print( player1 + ", do you take from pile 'A', 'B', or 'C'? >>  " );
                    selector = keyboard.next();
                    if ( ( selector.equals("A") && p1 > 0 ) || ( selector.equals("B") && p2 > 0 )|| ( selector.equals("C") && p3 > 0 ) )
                    {
                        do
                        {
                            if ( selector.equals("A") )
                            {
                                System.out.print( "\nHow many do you take from pile A? >> " );
                                nimber = keyboard.nextInt();
                                if ( nimber < 1 )
                                    System.out.println( "ERROR. Number taken must be greater than 0." );
                                else if ( nimber > p1 )
                                    System.out.println( "ERROR. Number chosen exceeds amount left in pile A." );
                                else 
                                {
                                    p1 = p1 - nimber;
                                    turn = 2;
                                    System.out.println( "It is now " + player2 + "'s turn." );
                                }
                            }
                            if ( selector.equals("B") )
                            {
                                System.out.print( "\nHow many do you take from pile B? >> " );
                                nimber = keyboard.nextInt();
                                if ( nimber < 1 )
                                    System.out.println( "ERROR. Number taken must be greater than 0." );
                                else if ( nimber > p2 )
                                    System.out.println( "ERROR. Number chosen exceeds amount left in pile B." );
                                else 
                                {
                                    p2 = p2 - nimber;
                                    turn = 2;
                                    System.out.println( "It is now " + player2 + "'s turn." );
                                }
                            }
                            if ( selector.equals("C") )
                            {
                                System.out.print( "\nHow many do you take from pile C? >> " );
                                nimber = keyboard.nextInt();
                                if ( nimber < 1 )
                                    System.out.println( "ERROR. Number taken must be greater than 0." );
                                else if ( nimber > p3 )
                                    System.out.println( "ERROR. Number chosen exceeds amount left in pile C." );
                                else 
                                {
                                    p3 = p3 - nimber;
                                    turn = 2;
                                    if ( p1+p2+p3 != 0 )
                                        System.out.println( "\nIt is now " + player2 + "'s turn." );
                                }
                            }
                        } while ( turn == 1 );
                    }
                    else 
                        System.out.println( "ERROR. Invalid pile selected." );
                    
                }
                while ( turn == 2 && p1+p2+p3 != 0 )
                {
                    System.out.println( "\nPile A = [" + p1 + "]  Pile B = [" + p2 + "]  Pile C = [" + p3 + "]" );
                    System.out.print( player2 + ", do you take from pile 'A', 'B', or 'C'? >>  " );
                    selector = keyboard.next();
                    if ( ( selector.equals("A") && p1 > 0 ) || ( selector.equals("B") && p2 > 0 )|| ( selector.equals("C") && p3 > 0 ) )
                    {
                        do
                        {
                            if ( selector.equals("A") )
                            {
                                System.out.print( "\nHow many do you take from pile A? >> " );
                                nimber = keyboard.nextInt();
                                if ( nimber < 1 )
                                    System.out.println( "ERROR. Number taken must be greater than 0." );
                                else if ( nimber > p1 )
                                    System.out.println( "ERROR. Number chosen exceeds amount left in pile A." );
                                else 
                                {
                                    p1 = p1 - nimber;
                                    turn = 1;
                                    System.out.println( "It is now " + player1 + "'s turn." );
                                }
                            }
                            if ( selector.equals("B") )
                            {
                                System.out.print( "\nHow many do you take from pile B? >> " );
                                nimber = keyboard.nextInt();
                                if ( nimber < 1 )
                                    System.out.println( "ERROR. Number taken must be greater than 0." );
                                else if ( nimber > p2 )
                                    System.out.println( "ERROR. Number chosen exceeds amount left in pile B." );
                                else 
                                {
                                    p2 = p2 - nimber;
                                    turn = 1;
                                    System.out.println( "It is now " + player1 + "'s turn." );
                                }
                            }
                            if ( selector.equals("C") )
                            {
                                System.out.print( "\nHow many do you take from pile C? >> " );
                                nimber = keyboard.nextInt();
                                if ( nimber < 1 )
                                    System.out.println( "ERROR. Number taken must be greater than 0." );
                                else if ( nimber > p3 )
                                    System.out.println( "ERROR. Number chosen exceeds amount left in pile C." );
                                else 
                                {
                                    p3 = p3 - nimber;
                                    turn = 1;
                                    if ( p1+p2+p3 != 0 )
                                        System.out.println( "\nIt is now " + player1 + "'s turn." ); //IT IS NOW POOP'S TURN
                                }
                            }
                        } while ( turn == 2 );
                    }
                    else 
                        System.out.println( "ERROR. Invalid pile selected." );
                    
                } 
            }
            System.out.println( "The game is over." );
            if ( turn == 1 )
            {
                System.out.println( player2 + " pulled the last counter(s)." );
                System.out.println( player1 + " wins! Huzzah. " );
            }
            else if ( turn == 2 )
            {
                System.out.println( player1 + " pulled the last counter(s)." );
                System.out.println( player2 + " wins! Huzzah. " );
            }
            
        }
    }
        

Picture of the output