From fa36bb3060e65c68bc462b68360e2ecd03da3cdf Mon Sep 17 00:00:00 2001 From: alstergym Date: Tue, 29 Sep 2026 12:10:29 +0200 Subject: [PATCH] 29.09.2026 Stundenende --- README.md | 4 ++ meinspiel.py | 120 +++++++++++++++++++++++---------------------------- 2 files changed, 58 insertions(+), 66 deletions(-) diff --git a/README.md b/README.md index e28551f..aaf0c4b 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,10 @@ Ein Brettspiel (bei dem später eventuell mehrere Spieler zusammen bzw. abwechse ## Protokoll +## 29.09.2026 + +Ich habe versucht, dass die Figuren die Zufallsschritte gehen. Jedoch hat das bisher nicht funktioniert, da die Figuren beim Drücken der Leertaste trotzdem immer nur einen Schritt gehen. Ich habe mittlerweile herausgefunden, dass dies an der `self.figur_entfernt`-Variable liegt, welche in der meinspiel.py in Z. 45 dafür sorgt, dass die Bewegung nur ein einziges Mal ausgeführt wird und die darüberliegende for-Schleife quasi ignoriert wird. + ### 23.09.2026 Die Figuren bewegen sich jetzt problemlos über das gesamte Spielfeld (wechseln jeweils am Zeilenende eine Zeile nach unten). Aktuell ist der Zufallsgenerator in der meinspiel.py nur halb fertig und muss noch fertiggestellt werden. diff --git a/meinspiel.py b/meinspiel.py index 0aa5275..10e052b 100644 --- a/meinspiel.py +++ b/meinspiel.py @@ -37,78 +37,66 @@ class MeinSpiel: if taste == pygame.K_SPACE: zufallswert = random.randint(1, 6) - 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: - if self.bewegungsrichtung == "rechts" and x == 6: self.bewegungsrichtung = "unten" - - 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 + for i in range(zufallswert): + print(f"{i}: {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: + if self.bewegungsrichtung == "rechts" and x == 6: self.bewegungsrichtung = "unten" - zielfeld = x + zufallswert + 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 == "rechts": + self.spielfiguren[x + 1][y].append(self.am_zug) + elif self.bewegungsrichtung == "unten": + self.spielfiguren[x][y + 1].append(self.am_zug) + if x == 6 and self.am_zug == 3: self.bewegungsrichtung = "links" + elif x == 0 and self.am_zug == 3: self.bewegungsrichtung = "rechts" + elif self.bewegungsrichtung == "links": + self.spielfiguren[x - 1][y].append(self.am_zug) + print(f"[!] {x}") + if x == 1 and self.am_zug == 3: self.bewegungsrichtung = "unten" + elif self.bewegungsrichtung == "oben": # (wird wahrscheinlich nicht verwendet werden) + self.spielfiguren[x][y + 1].append(self.am_zug) + else: + print(f'Die "bewegungsrichtung"-Variable hat einen ungültigen Wert: {str(self.bewegungsrichtung)}') - if zielfeld <= 6: # wenn Figur in diesem Zug nicht die Zeile wechseln muss - for i in range(zufallswert): - if self.bewegungsrichtung == "rechts": - self.spielfiguren[x + 1][y].append(self.am_zug) - elif self.bewegungsrichtung == "unten": - self.spielfiguren[x][y + 1].append(self.am_zug) - if x == 6 and self.am_zug == 3: self.bewegungsrichtung = "links" - elif x == 0 and self.am_zug == 3: self.bewegungsrichtung = "rechts" - elif self.bewegungsrichtung == "links": - self.spielfiguren[x - 1][y].append(self.am_zug) - print(f"[!] {x}") - if x == 1 and self.am_zug == 3: self.bewegungsrichtung = "unten" - elif self.bewegungsrichtung == "oben": # (wird wahrscheinlich nicht verwendet werden) - self.spielfiguren[x][y + 1].append(self.am_zug) - else: - print(f'Die "bewegungsrichtung"-Variable hat einen ungültigen Wert: {str(self.bewegungsrichtung)}') + + print(self.bewegungsrichtung) + + self.am_zug += 1 + break else: - schon_gegangen = zielfeld - 6 - for i in range(schon_gegangen): - if self.bewegungsrichtung == "rechts": - self.spielfiguren[x + 1][y + 1].append(self.am_zug) - elif self.bewegungsrichtung == "links": - self.spielfiguren[x - 1][y + 1].append(self.am_zug) - else: - print(f'Die "bewegungsrichtung"-Variable hat einen ungültigen Wert: {str(self.bewegungsrichtung)}') + print(f"keine Figuren auf Feld ({x}|{y}): {self.spielfiguren[x][y]}") + except ValueError: + print(f"x: {x}, y: {y}") + print("____________") + # if len(self.spielfiguren[x][y]) > 0: + # figur = self.spielfiguren[x][y].pop() + # print(f"Bewege Figur {figur} von Feld {x}, {y}") + # if x < len(self.spielfiguren) - 1: + # self.spielfiguren[x + 1][y].append(figur) + # print(f"Bewege Figur {figur} auf Feld {x + 1}, {y}") + # else: + # self.spielfiguren[0][y].append(figur) + # print(f"Bewege Figur {figur} auf Feld 0, {y}") + #if len(self.spielfiguren[x][y]) > 0: + # print(self.spielfiguren[x][y]) + # self.spielfiguren[x][y].pop(self.spielfiguren[x][y].index(1)) - print(self.bewegungsrichtung) - - self.am_zug += 1 - break - else: - print(f"keine Figuren auf Feld ({x}|{y}): {self.spielfiguren[x][y]}") - except ValueError: - print(f"x: {x}, y: {y}") - print("____________") - - # if len(self.spielfiguren[x][y]) > 0: - # figur = self.spielfiguren[x][y].pop() - # print(f"Bewege Figur {figur} von Feld {x}, {y}") - # if x < len(self.spielfiguren) - 1: - # self.spielfiguren[x + 1][y].append(figur) - # print(f"Bewege Figur {figur} auf Feld {x + 1}, {y}") - # else: - # self.spielfiguren[0][y].append(figur) - # print(f"Bewege Figur {figur} auf Feld 0, {y}") - - #if len(self.spielfiguren[x][y]) > 0: - # print(self.spielfiguren[x][y]) - # self.spielfiguren[x][y].pop(self.spielfiguren[x][y].index(1)) - - # if len(self.spielfiguren[x][y]) > 0: - # # print(str(x) + " | " + str(len(self.spielfiguren) - 1) + " | " + str(self.spielfiguren)) - # self.spielfiguren[x][y].pop( - # self.spielfiguren[x][y].index(-1)) - # if x < len(self.spielfiguren) - 1: - # self.spielfiguren[x + 1][y].append(3) - # else: - # self.spielfiguren[x - 1][y].append(3) + # if len(self.spielfiguren[x][y]) > 0: + # # print(str(x) + " | " + str(len(self.spielfiguren) - 1) + " | " + str(self.spielfiguren)) + # self.spielfiguren[x][y].pop( + # self.spielfiguren[x][y].index(-1)) + # if x < len(self.spielfiguren) - 1: + # self.spielfiguren[x + 1][y].append(3) + # else: + # self.spielfiguren[x - 1][y].append(3) # def renderText(self, text: str, x: int, y: int, color: tuple):