Files
E-To-Finley-Hasenspiel/meinspiel.py
T
2026-09-16 11:01:14 +02:00

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