dealing cards already works
This commit is contained in:
parent
f6858bb4e9
commit
4e44425ab3
90
server.py
Normal file
90
server.py
Normal file
@ -0,0 +1,90 @@
|
||||
import time
|
||||
import random
|
||||
|
||||
|
||||
# Karten: 1-13 in Blau, Rot, Gelb, Gruen und 4xZ und 4xN
|
||||
|
||||
|
||||
def chunks(lst, n):
|
||||
"""Yield successive n-sized chunks from lst."""
|
||||
for i in range(0, len(lst), n):
|
||||
yield lst[i:i + n]
|
||||
|
||||
|
||||
class Card:
|
||||
def __init__(self, color, value):
|
||||
self.color = color
|
||||
self.value = value
|
||||
|
||||
def __str__(self):
|
||||
sc = self.color if self.color else ' '
|
||||
sv = str(self.value)
|
||||
return sc+' '+sv
|
||||
|
||||
def __repr__(self):
|
||||
return str(self)
|
||||
|
||||
class Player:
|
||||
def __init__(self, name, player_id):
|
||||
self.name = name
|
||||
self.id = player_id
|
||||
self.cards = []
|
||||
|
||||
def deal_cards(self, cards):
|
||||
self.cards = cards
|
||||
|
||||
def show_cards(self):
|
||||
print(self.cards)
|
||||
|
||||
|
||||
class WizGame:
|
||||
def __init__(self):
|
||||
self.players = []
|
||||
self.card_deck = []
|
||||
|
||||
def create_deck(self):
|
||||
for color in ["blue", "red", "green", "yellow"]:
|
||||
for val in range(1,14):
|
||||
self.card_deck.append(Card(color, val))
|
||||
for _ in range(1,5):
|
||||
self.card_deck.append(Card(None, 'Z'))
|
||||
for _ in range(1,5):
|
||||
self.card_deck.append(Card(None, 'N'))
|
||||
print("carddeck:")
|
||||
print(self.card_deck)
|
||||
|
||||
def deal_cards(self):
|
||||
random.shuffle(self.card_deck)
|
||||
num_cards = int(len(self.card_deck)/len(self.players))
|
||||
print(num_cards)
|
||||
cs = list(chunks(self.card_deck, num_cards))
|
||||
for i in range(len(self.players)):
|
||||
self.players[i].deal_cards(cs[i])
|
||||
self.players[i].show_cards()
|
||||
|
||||
def add_player(self, name: str, player_id):
|
||||
if len(self.players) < 6:
|
||||
self.players.append((Player(name, player_id)))
|
||||
|
||||
|
||||
|
||||
def main():
|
||||
print("main started")
|
||||
w = WizGame()
|
||||
w.create_deck()
|
||||
w.add_player("p1", 1)
|
||||
w.add_player("p2", 2)
|
||||
w.add_player("p3", 3)
|
||||
w.add_player("p4", 4)
|
||||
w.deal_cards()
|
||||
print("round 2")
|
||||
w.deal_cards()
|
||||
print("round 3")
|
||||
w.deal_cards()
|
||||
print("round 4")
|
||||
w.deal_cards()
|
||||
exit(0)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Reference in New Issue
Block a user