From 6c1848c5badd3c2565eade3be0bff81a663f9654 Mon Sep 17 00:00:00 2001 From: Steinadler Date: Tue, 12 Jan 2021 10:41:48 +0100 Subject: [PATCH] cleaning in quartett.py --- clean_input.py | 3 +-- quartett.py | 38 +++++++++++++++++++++++--------------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/clean_input.py b/clean_input.py index a07b5c4..e24d10c 100644 --- a/clean_input.py +++ b/clean_input.py @@ -81,8 +81,7 @@ def io_card_selection(message: str): if user_input[0] in "0123" and user_input[1] in "abcdefgh": for c in card_stack: if c["number"] == user_input[0] and c["letter"] == user_input[1]: - card = c - return card + return c elif user_input == "q": end() diff --git a/quartett.py b/quartett.py index b12c748..fff7e5f 100644 --- a/quartett.py +++ b/quartett.py @@ -6,7 +6,7 @@ __email__ = "" import random import clean_input -import itertools +#import itertools # Game @@ -17,42 +17,46 @@ def central_function(): active = 0 # contains index of the active player card_stack, players_with_cards, players = initialize() - while deckP1 and deckP2 and deckP3 not empty: - round(card_stack, players_with_cards, players, active) - for i in itertools.cycle(range(len(players))): - active = i + print(players) + # while deckP1 and deckP2 and deckP3 not empty: + # round(card_stack, players_with_cards, players, active) + # for i in itertools.cycle(range(len(players))): + # active = i -def round(card_stack, players_with_cards, players,active): +def round(card_stack, players_with_cards, players, active): '''structures one round in the game active player chooses another player from whom to steal a card''' - + switch = True - while switch: + while switch: players_without_active = players players_without_active.remove(active) 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.clean_input.io_str('Welchen Spieler möchtest du befragen?', players_without_active)) + chosen_player = clean_input.io_str('Welchen Spieler möchtest du befragen?', + players_without_active) player_request = clean_input.io_card_selection('Welche Karte möchtest du haben?') if player_request in players_with_cards[chosen_player]['cards_on_hand']: - steal(active, chosen_player) + steal(active, chosen_player, players_with_cards, player_request) else: # end of round # except if stack is not empty, which is only the case with two players if card_stack == True: # last card from the stack gets added to active player's hand players_with_cards[active]['cards_on_hand'].append(card_stack.pop()) - break + switch = False -def steal(P1, P2): +def steal(active, chosen_player, players_with_cards, player_request): """defines how the active players steals cards from chosen player """ - players_with_cards[active].['cards_on_hand'].append(players_with_cards[chosen_player]['cards_on_hand'].pop(player_request)) + players_with_cards[active]['cards_on_hand'].append( + players_with_cards[chosen_player]['cards_on_hand'].pop(player_request)) + def initialize(): """ @@ -71,7 +75,7 @@ def initialize(): card_stack.append(d) x += 1 - number_of_players = clean_input.io_int("Mit wie vielen Spielern wollen Sie spielen?") + number_of_players = clean_input.io_int("Gegen wie viele Spieler wollen Sie spielen?") number_of_players += 1 # Add also human player. for i in range(number_of_players): @@ -93,9 +97,13 @@ def initialize(): # Add list of dicts (cards) to players players_with_cards.append({"player": players[i], "cards_on_hand": cards_of_player}) - return card_stack, players_with_cards, players + +# Call central_function() only if quartett.py is the main module +if __name__ == "__main__": + central_function() + ''' players_with_cards = [ {'player': 'player0', 'cards_on_hand': [{'id': 13, 'number': 1, 'letter': 'f'},