import copy import pygame import random class MeinSpiel: bilder = ["Bilder/Spielfiguren/spielfigur-rot.png", "Bilder/Spielfiguren/spielfigur-gelb.png", "Bilder/Spielfiguren/spielfigur-gruen.png", "Bilder/Spielfiguren/spielfigur-blau.png"] wuerfel = ["Bilder/wurfel-1.png", "Bilder/wuerfel-2.png", "Bilder/wuerfel-3.png", "Bilder/wurfel-4.png", "Bilder/wurfel-5.png", "Bilder/wuerfel-6.png"] hintergrundbilder = [] spielfeld = [] spielfiguren = [] figur_entfernt = False am_zug = 0 bewegungsrichtung = {} zufallswert = int() wuerfelBildAnzeigen = False def __init__(self, felderX, felderY): for x in range(felderX): self.spielfeld.append([]) self.spielfiguren.append([]) for y in range(felderY): self.hintergrundbilder.append( f"Bilder/Hintergrundpixel/background_{x}-{y}.jpg") self.spielfeld[x].append((7*x+y)) self.spielfiguren[x].append([]) def anfangsKonfiguration(self): self.spielfiguren[0][0].append(0) self.spielfiguren[0][0].append(1) self.spielfiguren[0][0].append(2) self.spielfiguren[0][0].append(3) for i in range(4): self.bewegungsrichtung[i] = "rechts" print(f"ANFANGSWERT BEWEGUNGSRICHTUNG: für {i}") print(self.bewegungsrichtung) def tasteGedrueckt(self, taste): if taste == pygame.K_SPACE: self.zufallswert = random.randint(1, 6) self.wuerfelBildAnzeigen = True for i in range(self.zufallswert): self.figur_entfernt = False print(f"[Schritt {i}] Figur {self.am_zug} geht {self.zufallswert}") for x in range(len(self.spielfiguren)): for y in range(len(self.spielfiguren[x])): try: if len(self.spielfiguren[x][y]) > 0 and self.figur_entfernt == False: # print(f"Figuren auf Feld ({x}|{y}): {self.spielfiguren[x][y]}") self.spielfiguren[x][y].pop(self.spielfiguren[x][y].index(self.am_zug)) self.figur_entfernt = True if self.bewegungsrichtung[self.am_zug] == "rechts": self.spielfiguren[x + 1][y].append(self.am_zug) if x == 6: self.bewegungsrichtung[self.am_zug] = "unten" if self.bewegungsrichtung[self.am_zug] == "unten": self.spielfiguren[x][y + 1].append(self.am_zug) if x == 6: self.bewegungsrichtung[self.am_zug] = "links" elif x == 0: self.bewegungsrichtung[self.am_zug] = "rechts" if self.bewegungsrichtung[self.am_zug] == "links": self.spielfiguren[x - 1][y].append(self.am_zug) print(f"[!] {x}") if x == 1 and self.am_zug == 3: self.bewegungsrichtung[self.am_zug] = "unten" if self.bewegungsrichtung[self.am_zug] == "oben": # (wird wahrscheinlich nicht verwendet werden) self.spielfiguren[x][y + 1].append(self.am_zug) # print(f'Die "bewegungsrichtung"-Variable hat einen ungültigen Wert: {str(self.bewegungsrichtung[self.am_zug])}') print(self.bewegungsrichtung) else: # print(f"keine Figuren auf Feld ({x}|{y}): {self.spielfiguren[x][y]}") break except ValueError: # print(f"x: {x}, y: {y}") break print("____________") self.am_zug += 1