"""main module""" import random import clean_input # Game def central_function(): ''' does everything, keeps order''' active = 0 # contains index of the active player ..., players_with_cards, players = initialize()[0], initialize()[1], initialize()[2] while deckP1 and deckP2 and deckP3 not empty: round(..., players_with_cards, players) # TO DO implement active_player rotation def round(..., players_with_cards, players): '''structures one round in the game''' while player_request in deck_of_player: choose(..., players_with_cards, players) def choose(..., players_with_cards, players): """active player chooses another player from whom to steal a card""" players_without_active = players.pop(active_player) print('Folgende Spieler stehen zur Verfügung:') print(players_without_active) # needs clean.io, chosen_player enthält den index in der players liste chosen_player = players.index(input( 'Welchen Spieler möchtest du befragen?')) player_request = input('Welche Karte möchtest du haben?') # TODO: needs clean.io dict magic if player_request in players_with_cards[chosen_player]['cards_on_hand']: steal(P1, P2) else: # end of round if stack == exists: # TO DO player.values + card_from_stack break def steal(P1, P2): """defines how the active players steals cards from chosen player """ # TODO: write steal function def initialize(): """ initializes stuff :return: """ card_deck = [] players = [] players_with_cards = [] x = 0 for i in range(4): for l in "abcdefgh": d = {"id": x, "number": i, "letter": l} card_deck.append(d) x += 1 number_of_players = clean_input.io_int("Mit wie vielen Spielern wollen Sie spielen?") number_of_players += 1 # Add also human player. for i in range(number_of_players): players.append(f"player{i}") if len(players) == 2: cards_per_player = 10 else: cards_per_player = int(len(card_deck) // len(players)) for i in range(number_of_players): # Select cards for x players cards_of_player = [] # Player deck for j in range(cards_per_player): # Select ten cards x = random.randint(0, len(card_deck) - 1) # Select one random card selected_card = card_deck[x] del card_deck[x] # Remove card from main card deck. cards_of_player.append(selected_card) # Add list of dicts (cards) to players players_with_cards.append({"player": players[i], "cards_on_hand": cards_of_player}) # print(len(card_deck)) # print(players_with_cards) return ..., players_with_cards, players # TODO: clarify what is returned, this is needed is central() ''' players_with_cards = [ {'player': 'player0', 'cards_on_hand': [{'id': 13, 'number': 1, 'letter': 'f'}, {'id': 26, 'number': 3, 'letter': 'c'}, {'id': 22, 'number': 2, 'letter': 'g'}, {'id': 10, 'number': 1, 'letter': 'c'}, {'id': 19, 'number': 2, 'letter': 'd'}, {'id': 31, 'number': 3, 'letter': 'h'}, {'id': 6, 'number': 0, 'letter': 'g'}, {'id': 9, 'number': 1, 'letter': 'b'}, {'id': 5, 'number': 0, 'letter': 'f'}, {'id': 15, 'number': 1, 'letter': 'h'}] }, ...]'''