Advertisement
Guest User

Untitled

a guest
Oct 24th, 2014
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. import java.io.IOException;
  2. import java.net.ServerSocket;
  3. import java.net.Socket;
  4. import java.util.ArrayList;
  5. import java.util.LinkedList;
  6. import java.util.Random;
  7. import java.util.concurrent.ExecutorService;
  8. import java.util.concurrent.Executors;
  9.  
  10. /**
  11. * Created by Mariusz on 2014-10-10.
  12. */
  13. /*First */
  14. public class Game {
  15. private static int port=4444;
  16. private static int numberOfPlayers = 6;
  17. private static int activeClients = 0;
  18. private static int initialCashOfEachPlayer = 0;
  19. private static ServerSocket server;
  20. private static ExecutorService ThreadExecutor = Executors.newCachedThreadPool();
  21. private static Random random = new Random();
  22. public static void main(String[] args){
  23. Socket socket;
  24. ArrayList<PlayerThread> players = new ArrayList<PlayerThread>();
  25. try{
  26. numberOfPlayers = 3; //Integer.parseInt(args[0]);
  27. }
  28. catch(Exception e){}
  29. try{
  30. initialCashOfEachPlayer = 1000;//Integer.parseInt(args[1]);
  31. }
  32. catch (Exception e){}
  33. try{
  34. server = new ServerSocket(port);
  35. System.out.println("Utworzono ServerSocket");
  36. }
  37. catch (IOException e){System.out.println("Blad tworzenia ServerSocket");}
  38. while(activeClients!=numberOfPlayers)
  39. {
  40. try {
  41. socket = server.accept();
  42. PlayerThread player=new PlayerThread(socket, port, server, activeClients++, initialCashOfEachPlayer);
  43. players.add(player);
  44. ThreadExecutor.execute(player);
  45. System.out.println("Aktywni klienci: "+activeClients);
  46. player.sendMessage("Test test test");
  47. }
  48. catch (IOException e){}
  49. }
  50. PlayerThread dealer=players.get(random.nextInt(activeClients));
  51. dealer.setDealerButton(true);
  52. handleNames(players);
  53. new Round(players).start();
  54. }
  55. @Override
  56. protected void finalize(){
  57. try{
  58. server.close();
  59. }
  60. catch(IOException e){System.out.println("Nie udało sie zakonczyc");}
  61. }
  62. private static void handleNames(ArrayList<PlayerThread> players){
  63. StringBuilder namesString = new StringBuilder();
  64. for(int i = 0 ; i < players.size() ; i++){
  65. namesString.append("IM");
  66. if(players.get(i).isDealerButton())
  67. namesString.append("@");
  68. namesString.append(players.get(i).getId());
  69. namesString.append(players.get(i).getName());
  70. if(i<players.size()-1)
  71. namesString.append(",");
  72. namesString.append("$"+initialCashOfEachPlayer);
  73. }
  74. for(int j = 0 ; j < players.size() ; j++){
  75. players.get(j).sendMessage(namesString.toString());
  76. }
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement