import copy import pygame import random class MeinSpiel: bilder = ["Bilder/background_grid.png","Bilder/Hase.jpg", "Bilder/haha.jpeg", "Bilder/char_1.png"] spielkarten = [] spielkartentypen = ["club", "diamond", "heart", "spade"] spielfeld = [] deinDeck = [] comDeck = [] def __init__(self, felderX, felderY): for x in range(felderX): self.spielfeld.append([]) for y in range(felderY): self.spielfeld[x].append(0) def anfangsKonfiguration(self, card_style = "solitaire"): self.spielkarten.append(f"Bilder/Standard52Cards/{card_style}/individual/card back/card_back.png") # Kartenhintergrund immer als erstes geladen for type in self.spielkartentypen: for i in range(12): self.spielkarten.append(f"Bilder/Standard52Cards/{card_style}/individual/{type}/{i+1}_{type}.png") # i+1 weil python bei 0 beginnt, aber beim filename bei 1 begonnen wird print(self.spielkarten) print(len(self.spielkarten)) spielkartenbilder = [] for fname in self.spielkarten: spielkartenbilder.append(pygame.image.load(fname)) self.spielkarten = spielkartenbilder print(self.spielkarten) return self.spielkarten def tasteGedrueckt(self, taste): print(f"{taste} gedrückt") if taste == 97: print(self.spielfeld) elif taste == 113: pygame.quit() elif taste == 114: self.deinDeck = self.generateYourCards(True) print(self.deinDeck) self.generateComCards() print(self.deinDeck) print(self.comDeck) def generateYourCards(self, new = False): # if not new and self.comDeck != []: # for i in self.comDeck: # 5 karten entfernen, die schon genommen wurden # self.spielkarten.remove[i] while len(self.deinDeck) != 5: if new == True: self.spielkarten = self.anfangsKonfiguration() choice = random.choice(self.spielkarten) if choice == self.spielkarten[0] or choice in self.deinDeck: continue self.deinDeck.append(choice) self.spielkarten.remove(choice) def generateComCards(self, new = False): # if not new and self.deinDeck != []: # for i in self.deinDeck: # 5 karten entfernen, die schon genommen wurden # print(i) # self.spielkarten.remove[i] while len(self.comDeck) != 5: choice = random.choice(self.spielkarten) if choice in self.deinDeck or choice == self.spielkarten[0]: continue self.comDeck.append(choice) self.spielkarten.remove(choice) def update_comCardDeck(self, fenster, spielkartenbilder): comcard_x_plus = 0 for i in self.comDeck: fenster.blit(spielkartenbilder[0], (394+comcard_x_plus, 50)) comcard_x_plus+=100 def showCards(self, fenster, spielkartenbilder): deck = self.deinDeck try: fenster.blit(self.deinDeck[0], (394, 550)) # deine 5 karten fenster.blit(self.deinDeck[1], (494,550)) fenster.blit(self.deinDeck[2], (594,550)) fenster.blit(self.deinDeck[3], (694,550)) fenster.blit(self.deinDeck[4], (794,550)) fenster.blit(spielkartenbilder[0], (350,300)) # kartenstapel except TypeError: pass print(len(spielkartenbilder)) class ComLogic: def __init__(self): pass # load coms inventory