EPR-Gruppenabgabe-07/game.py
Jonas_Jones ad3f491a81 uwu
2022-12-23 01:55:48 +01:00

84 lines
No EOL
2.3 KiB
Python

__author__ = "7987847, Werner, 7347119, Fajst, 7735965, Melikidze"
from random import randint
from time import sleep
RANKS = ['Ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jack', 'Queen', 'King']
SUITS = ['Spades', 'Hearts', 'Diamonds', 'Clubs']
def create_cards():
card_deck = []
for suit in SUITS:
for rank in RANKS:
card = {'rank': rank, 'suit': suit}
card_deck.append(card)
return card_deck
def deal_cards(card_deck:list, players:int, cards_per_player:int):
'''
Deals cards to players
input:
- card_deck: list
list of cards
- players: int
number of players
- cards_per_player: int
number of cards per player
output:
- player_cards: tuple
tuple of lists, each list contains the cards of a player
'''
temp_cards = []
for player in range(players):
temp_cards.append([])
for card in range(cards_per_player):
temp_cards[player].append(card_deck.pop(randint(0, len(card_deck)-1)))
while len(temp_cards) < 5:
temp_cards.append([])
return (temp_cards[0], temp_cards[1], temp_cards[2], temp_cards[3], temp_cards[4])
def compare_cards(cards_to_compare:list, trumpf_color:str):
'''
Compares the given cards and returns the winner
input:
- cards_to_compare: list
list of cards to compare
output:
- winner: int
index of the winning card
'''
winner = 0
trumpf = []
for i in cards_to_compare:
if i.get('suit') == trumpf_color:
trumpf.append(cards_to_compare.index(i))
if len(trumpf) == 1:
return trumpf[0]
elif len(trumpf) > 1:
winner = 0
for j in trumpf:
if RANKS.index(cards_to_compare[j].get('rank')) > RANKS.index(cards_to_compare[winner].get('rank')):
winner = j
winner = j
else:
winner = 0
for j in cards_to_compare:
if RANKS.index(j.get('rank')) > RANKS.index(cards_to_compare[winner].get('rank')):
winner = cards_to_compare.index(j)
print(winner, j, cards_to_compare)
return winner
if __name__ == '__main__':
card_deck = create_cards()
print(card_deck)
print(deal_cards(card_deck, 5, 5))