Dealler.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.company;
  2. import java.util.Random;
  3. public class Dealler {
  4. private Deck deck = new Deck();
  5. private Player []players;
  6. private Card []table = new Card[5];
  7. private GAME_STAGE stage = GAME_STAGE.PREFLOP;
  8. private Random random = new Random(System.currentTimeMillis());
  9. public Dealler(String []playerNames) throws Exception {
  10. if (playerNames.length < 2 || playerNames.length > 10) {
  11. throw new Exception("Некорректное количество игроков");
  12. }
  13. players = new Player[playerNames.length];
  14. for (int i = 0; i < playerNames.length; i++) {
  15. players[i] = new Player(playerNames[i]);
  16. }
  17. }
  18. public void HandOut() {
  19. switch (stage) {
  20. case PREFLOP: {
  21. boolean isLeftCardOnHand = false;
  22. for (int i = 0; i < players.length; i++) {
  23. Card currentCard = deck.Cards[random.nextInt(deck.CARD_COUNT)];
  24. if (!isLeftCardOnHand) {
  25. if (currentCard.isOnHand()) {
  26. i--;
  27. continue;
  28. }
  29. isLeftCardOnHand = true;
  30. players[i].setLeft(currentCard);
  31. currentCard.setOnHand(true);
  32. }
  33. currentCard = deck.Cards[random.nextInt(deck.CARD_COUNT)];
  34. if (currentCard.isOnHand()) {
  35. i--;
  36. continue;
  37. }
  38. players[i].setRight(currentCard);
  39. currentCard.setOnHand(true);
  40. }
  41. } break;
  42. case FLOP: {
  43. } break;
  44. case TURN: {
  45. } break;
  46. case RIVER: {
  47. } break;
  48. case OPENING: {
  49. } break;
  50. }
  51. }
  52. }