Клементина обнови решението на 15.11.2022 00:48 (преди над 2 години)
+import random
+
+faces = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']
+suits = ['clubs', 'diamonds', 'hearts', 'spades']
+
+
+
+
+class Card:
+
+ def __int__(self, suit, face):
+ self.face = face
+ self.suit = suit
+
+ def get_suit(self):
+ return self.suit
+
+ def get_face(self):
+ return self.face
+
+
+class Deck:
+
+ cards = []
+
+ def __init__(self, face_filter=faces):
+ for face in face_filter:
+ for suit in suits:
+ self.cards.append(Card(suit, face))
+
+ def get_cards(self):
+ return self.cards
+
+ def cut(self):
+ index = random.random()
+ while index not in len(self.cards):
+ index = random.random()
+ temp_cards = self.cards[0, index - 1]
+ self.cards=self.cards[index, len(self.cards)]
+ self.cards.append(temp_cards)
+ return self.cards
+
+ def shuffle(self):
+ return random.shuffle(self.cards)
+
+
+class Player:
+ deck_ = []
+ def get_cards(self):
+ return self.deck_
+
+class Game:
+
+ deck = Deck()
+
+ def __init__(self, number_of_players, dealing_direction, dealing_instructions):
+ self.players = number_of_players
+ self.direction = dealing_direction
+ self.instructions = dealing_instructions
+
+ def get_players(self):
+ return self.players
+
+ def prepare_deck(self):
+ self.deck.shuffle()
+ self.deck.cut()
+ return self.deck
+
+ def deal(self, player):
+ index = index(player)
+ count = 0
+ while count < len(self.instructions):
+ if self.direction == 'ltr':
+ while index + 1 == index(player) or index - 1 == index(player):
+ self.players[index].deck = self.deck[0, self.instructions[0] - 1]
+ self.deck = self.deck[self.instructions[0] - 1, len(self.deck)]
+ self.players[index].deck = self.deck[0, self.instructions[0] - 1]
+ self.deck = self.deck[self.instructions[count] - 1, len(self.deck)]
+ index += 1
+ if index >= len(self.players):
+ index = 0
+ if self.direction == 'rtl':
+ while index - 1 == index(player):
+ self.players[index].deck = self.deck[0, self.instructions[0] - 1]
+ self.deck = self.deck[self.instructions[count] - 1, len(self.deck)]
+ index -= 1
+ count += 1
+ index = index(player)
+
+ def get_deck(self):
+ return self.deck
+
+
+class Poker(Game):
+
+ deck_ = Deck(faces)
+
+ def __init__(self):
+ super().__init__(9, 'rtl', (1, 1, 1, 1, 1))
+
+
+class Belot(Game):
+
+ deck_ = Deck(['7', '8', '9', '10', 'J', 'Q', 'K', 'A'])
+
+ def __init__(self):
+ super().__init__(4, 'ltr', (2, 3, 3))
Изпускаш част от условието на този метод.