示例#1
0
  /**
   * metoda pozwalająca na rozpoczecie nowej gry wywołanie jej jest konieczne żeby móc zagrać w gre
   *
   * @value String token - przyjmuje token który został zwrócony zalogowaniu na wsMainServer
   * @return 1 gra zostala rozpoczeta
   * @return -1 nie wszyscy gracze zakonczyli poprzednia gre
   */
  private void startGame() {
    if (!gameStarted) {
      stos = new Stos(); // przygotowanie tali
      krupier = new Krupier(stos); // i krupiera
      finishedCounter = 0;

      for (byte i = 0; i < 2; ++i) // rozdanie po 2 karty
      {
        krupier.addCard(stos.getCard()); //  krupierowi
        Set<String> keys = activePlayers.keySet();
        for (String key : keys) {
          activePlayers.get(key).addCard(stos.getCard()); // i graczom
        }
      }

      activityMap.clear();
      Set<String> k = activePlayers.keySet(); // kazdy z graczy dostaje do swojej kolejki zdarzen
      for (String keyX : k) // informacje o drugiej karcie krupiera
      {
        activityMap.put(
            keyX,
            new Date()); // zapisywany jest aktualczy czas od którego gracz ma 10 sekund na podjęcie
                         // akcji
        passPlayers.put(keyX, false);
        playerTook2Cards.put(keyX, false);
      }

      gameStarted = true; // rozpoczeto gre przy stole

      startGameTimer.cancel();
      startGameTimer = null; // w czasie gry nie trzeba odliczać do rozpoczęcia gry

      actionTimer = new ActionTimer();
      canStart =
          false; // zmienna musi być false aby można było później od nowa dodać graczy do rozdania
      // LOG
      System.out.println("startGame(): GRA ZOSTAŁA ROZPOCZETA");
    }
  }