/** * menu principal onde são evocados todos os métodos * * @param user * @param pass */ private void showMenu(String user, String pass, User Player) { String op = null; int option = 0; User player = new User("", "", "", 0); player.setUsername(user); player.setPassword(pass); while (true) { // uma vez logado e até fazer logout, cada vez que faz uma chamada de método, no // final // retorna aqui, onde o menu é de novo impresso try { // uma vez logado e até fazer logout, cada vez que faz uma chamada de método, no final // retorna aqui, onde o menu é de novo impresso synchronized (System.out) { System.out.println("###############################################"); System.out.println(" --------< MyBet-and-Win>-----------------------"); System.out.println("(1) Credit: shows the current credit of the user."); System.out.println( "(2) Reset: userʼs credit should default to a certain number of credits (e.g. 100cr)."); System.out.println("(3) View Current Matches"); System.out.println("(4) Bet"); System.out.println("(5) Online Users: shows a list of users who are logged in."); System.out.println("(6) Message User: sends a message to a specific user."); System.out.println("(7) Message All: sends a message to all the users."); System.out.println("(8) Logout.\n>"); } // lê opção do teclado // lê opção do teclado // --------------------------- InputStreamReader input1 = new InputStreamReader(System.in); BufferedReader reader1 = new BufferedReader(input1); op = reader1.readLine(); option = Integer.parseInt(op); System.out.println("Hi " + player.getUserName() + ". Here are the result of your call"); switch (option) { case 1: System.out.println("------ (1) - CREDITS------------------------------------------"); int receive = server.credits(player); System.out.println("[Server]>" + receive + " créditos."); System.out.println("-----------------------------------------------------------------"); break; case 2: System.out.println( "--------(2) - RESET-------------------------------------------------"); String receive1 = server.reset(player); System.out.println("[Server]" + receive1 + " créditos."); System.out.println("-----------------------------------------------------------------"); break; case 3: System.out.println( "-----------(3) - VIEW MATCH-----------------------------------------"); server.view(player, this); System.out.println("-----------------------------------------------------------------"); break; case 4: int Crs = Player.getCredit(); System.out.println("Os seus creditos:" + Crs); System.out.println( "--------------- (4) - BET ------------------------------------------"); // tenho de preencher objecto do tpo betmatch (String username, int id, int resul, int // valor) System.out.println( "Para fazer uma aposta, seleccione o jogo através do [id] e utilize o sistema 1 2 3."); System.out.println("Insira o id do jogo em que pretende apostar\n>"); String idJogo = reader1.readLine(); System.out.println("Insira o número de créditos que pretende apostar\n>"); String val = reader1.readLine(); System.out.println( "Insira a sua aposta para o jogo. (1). Vitória da equipa da casa; (2).Vitória da equipa Visitante; (3).Empate;\n>"); String res = reader1.readLine(); // -------------------------------------------------------------- // gets: String userN = Player.getUserName(); // parseints: int id = Integer.parseInt(idJogo); int result = Integer.parseInt(res); int valor = Integer.parseInt(val); /*TCP««««« * BetMatch opt2 = new BetMatch(); opt2.setCrs(value); opt2.setId(cod); opt2.setResul(resul); opt2.setType(1); opt2.setValor(value); opt2.setEmissor(user_name); out.writeObject(opt2); */ BetMatch bM = new BetMatch(); bM.setType(2); bM.setId(id); bM.setEmissor(userN); bM.setResul(result); bM.setValor(valor); bM.setCrs(Crs); // objecto: public BetMatch(String username, int id, int resul, int valor, int crs) { // ENVIO---> username| id do jogo | resultado do jogo| valor a apostar| // BetMatch bM = new BetMatch(userN, id, result, valor, Crs); // chamada em callback // equivalente à de tcp server.betGame(userN, bM, this); // ja estou a enviar dados da aposta // preciso de receber // String receive3 = server.betGame(player); // System.out.println("[Server]" + receive3); System.out.println("-----------------------------------------------------------------"); break; case 5: System.out.println( "----------- (5) - Online -------------------------------------------"); ArrayList<String> temp = server.viewOnline(player); for (int i = 0; i < temp.size(); i++) { System.out.println(temp.get(i)); } System.out.println("-----------------------------------------------------------------"); break; case 6: System.out.println( "----------(6)- SEND MESSAGE to user ---------------------------------------------"); System.out.println("Insira a mensagem\n>"); String msg = reader1.readLine(); System.out.println("Insira o destinatário"); String receptor = reader1.readLine(); // chama message User com mensagem (string) a enviar e receptor que é o destinatario server.messageS(msg, receptor, player); System.out.println("-----------------------------------------------------------------"); break; case 7: System.out.println( "-----------(7)- SEND MESSAGE TO ALL -----------------------------------------------"); System.out.println("Insira a mensagem\n>"); String msg1 = reader1.readLine(); server.messageA(msg1, player); System.out.println("-----------------------------------------------------------------"); break; case 8: System.out.println("--------(8)- Logout----------------------------------------------"); server.lOut(player); menu(); break; } } catch (IOException ex) { Logger.getLogger(ClientRMI.class.getName()).log(Level.SEVERE, null, ex); } } }