def __init__(self, cards_count): """Инициализация стола. Параметры: - cards_count (int): количество карт для игры. При инициализации стола происходит генерация набора из 'cards_count' карт (номерами от 1 до 'cards_count'). Если options.debug == True, карты должны быть лицом вверх. После генерации их необходимо перемешать - используйте self._card_list.shuffle(). Необходимо удостовериться, что 'cards_count' > 1. """ assert cards_count > 1, 'Количество карт должно быть больше единицы' self._card_list = CardList() # print(self._card_list._cards) self._card_list._cards = [Card(x) for x in range(1, cards_count + 1)] # self._card_list._cards=map(Card,list(range(1,cards_count+1))) # кажется нельзя использовать мап для создания списка объектов класса # print(self._card_list._cards) # используется поле CardList с '_', еще map может не работать с range # print(options.debug) if options.debug: # print('love') list(map(lambda x: x.turn_face(), self._card_list._cards)) # почему мап работает только, когда конвертируется в список??? # print(self._card_list._cards[0].is_face) # можно ли без lambda? self._card_list.shuffle()
def __init__(self, cards_count): assert cards_count > 1, "Недостаточное кол-во карт, для игры!" self._card_list = CardList() for i in range(1, cards_count + 1): card = Card(i) if options.debug: card.is_face = True self._card_list.append(card) self._card_list.shuffle()
def __init__(self, name): """Инициализация игрока. Параметры: - name (str): имя игрока. В процессе инициализации необходимо: - запомнить имя игрока; - инициализировать набор карт. """ self.name = name self.card_list = CardList()
def create_list(self, language: Language, name: str): card_list = CardList(util.slugify(name) + ".json", language, name=name) if self.get_flashcard_list_by_name(language, name) is not None: msg = QMessageBox() msg.setIcon(QMessageBox.Warning) msg.setText( "Die neue Liste konnte nicht erstellt werden, da eine andere mit dem gleichen Namen bereits existiert." ) msg.setWindowTitle("Liste existiert bereits") msg.exec_() return self.card_lists[language.value][card_list.id] = card_list self.save_list(card_list)
def load_lists(self): for language in Language: self.card_lists[language.value] = {} language_dir = self.language_dirs[language.name] for file in os.listdir(language_dir): if file.endswith(".json"): try: with open(os.path.join(language_dir, file), encoding='utf-8') as json_file: card_list = CardList( file, language, json_data=json.load(json_file)) self.card_lists[language.value][ card_list.id] = card_list except: print("Invalid", language.name, "card list '", file, "'") traceback.print_exc()
draw_cards(players_hand, hand_size) draw_cards(bots_hand, hand_size) def draw_cards(card_list, num_of_cards): # draws num_of_cards from the top of the deck to the input card_list for i in range(num_of_cards): card_list.cards.append(deck.cards.pop(0)) def display_current(): print(players_hand) print(bots_hand) print(deck.cards) if __name__ == '__main__': # script for playing 2s and 4s 1v1 vs a bot # Hardcoded default variables for the game hand_size = 5 # init stuff players_hand = CardList() bots_hand = CardList() deck = CardList() play_pile = CardList() new_game()
Attributes: normal_cards: 通常札 trump_cards: 切札 extra_cards: 追加札・毒 """ def __init__(self, normal_cards, trump_cards, extra_cards=None): # TODO: 追加札はカードから得る(引数で与えない) self.normal_cards = normal_cards self.trump_cards = trump_cards if extra_cards is None: self.extra_cards = [] else: self.extra_cards = extra_cards def __str__(self): return str(self.normal_cards + self.trump_cards) card_list = CardList() # ウツロのかけら初期デッキ utsuro_no_kakera_1 = Deck( [card_list[Goddess.UTSURO_HAJIMARI][0][0][i][0] for i in range(7)], [card_list[Goddess.UTSURO_HAJIMARI][0][1][i][0] for i in range(3)]) # ホノカのかけら初期デッキ honoka_no_kakera_1 = Deck( [card_list[Goddess.HONOKA_HAJIMARI][0][0][i][0] for i in range(7)], [card_list[Goddess.HONOKA_HAJIMARI][0][1][i][0] for i in range(3)])
def __init__(self, name): self.name = name self.card_list = CardList()