public void gameLoop(){
            boolean finish=false;
            currentPlayer = ListOfPlayer.elementAt(0);
            
            while(!finish){
                board.PrintBoard();
                System.out.println("\nYour turn : "+currentPlayer.getPlayerName());
                currentPlayer.printCardsOnHand();
                showMenuGame();
                int menu = scan.nextInt();
                switch (menu){
                    case 1 ://draw Card 
                            processMenuDrawCard();
                            break;
                    case 2 : // Choose Card
                             processMenuChooseCard();
                             break;
                    case 3 : ShowPlayers();
                             break;
                    case 4 : currentPlayer.showStatus();
                             backToPrevMenu();
                             break;
                    case 5 : int IdxPrevPlayer = currentPlayer.getTurn();
                             setNextPlayer(); 
                             changeTurn(IdxPrevPlayer);
                             ListOfPlayer.removeElementAt(IdxPrevPlayer);
                             break;
                    default :printMessage("default : input is  not valid!");
                }
                finish = (board.isFinished() || ListOfPlayer.size() < 3);
                if(currentPlayer.getFinishedDraw() && menu!=5)
                    setNextPlayer();
            }
            ListOfPlayer.clear();
        }