99 lines
3.6 KiB
Python
99 lines
3.6 KiB
Python
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
|