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 = [f"Bilder/wuerfel-{i}.png" for i in range(1, 7)] # hintergrundbilder = [] # spielfeld = [] # spielfiguren = [] # figur_entfernt = False # zeilenversetzt = False # am_zug = 0 # bewegungsrichtung = {0: "rechts", 1: "rechts", 2: "rechts", 3: "rechts"} # zufallswert = int() # wuerfelBildAnzeigen = False def __init__(self, felderX, felderY): self.felderX, self.felderY = felderX, felderY self.hintergrundbilder = [] self.spielfeld = [] self.spielfiguren = [] self.am_zug = 0 self.zufallswert = 0 self.wuerfelBildAnzeigen = False 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([]) self.pfad = [] for y in range(felderY): if y <= 4: if y % 2 == 0: bewegungsrichtung = range(felderX) else: bewegungsrichtung = range(felderX - 1, -1, -1) # range funktioniert als range(start, stop, step), bei stop 0 wird die 0 selbst nicht mehr mitgezählt! -> deshalb -1 for x in bewegungsrichtung: self.pfad.append((x, y)) self.positionen = [0, 0, 0, 0] 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 figur in range(4): x, y = self.pfad[0] self.spielfiguren[x][y].append(figur) def tasteGedrueckt(self, taste): if taste != pygame.K_SPACE and taste != "mouseevent": return self.zufallswert = random.randint(1, 6) self.wuerfelBildAnzeigen = True figur = self.am_zug start = self.positionen[figur] ziel = (start + self.zufallswert, len(self.pfad) - 1) print(self.pfad) start_x, start_y = self.pfad[start] self.spielfiguren[start_x][start_y].remove(figur) ziel_x, ziel_y = self.pfad[ziel] self.spielfiguren[ziel_x][ziel_y].append(figur) self.positionen[figur] = ziel print(f"Figur {figur}: von {start} nach {ziel} (Gewürfelt: {self.zufallswert})") self.am_zug = (self.am_zug + 1) % 4 # mit Modulo-Operator ist (3 + 1) % wieder 0 def mouseButtonClick(self, x, y): if x >= 270 and y >= 770 and x <= 490 and y <= 830: self.tasteGedrueckt("mouseevent")