diff --git a/Bilder/Hintergrundpixel/background_0-0.jpg b/Bilder/Hintergrundpixel/background_0-0.jpg index c2deca1..eb95a11 100644 Binary files a/Bilder/Hintergrundpixel/background_0-0.jpg and b/Bilder/Hintergrundpixel/background_0-0.jpg differ diff --git a/Bilder/Hintergrundpixel/background_1-0.jpg b/Bilder/Hintergrundpixel/background_1-0.jpg index 411b09b..e2e1160 100644 Binary files a/Bilder/Hintergrundpixel/background_1-0.jpg and b/Bilder/Hintergrundpixel/background_1-0.jpg differ diff --git a/Bilder/Hintergrundpixel/background_2-0.jpg b/Bilder/Hintergrundpixel/background_2-0.jpg index 1fcf4d6..5ed4cc0 100644 Binary files a/Bilder/Hintergrundpixel/background_2-0.jpg and b/Bilder/Hintergrundpixel/background_2-0.jpg differ diff --git a/Bilder/Hintergrundpixel/background_3-0.jpg b/Bilder/Hintergrundpixel/background_3-0.jpg index 9461b4f..c8ee382 100644 Binary files a/Bilder/Hintergrundpixel/background_3-0.jpg and b/Bilder/Hintergrundpixel/background_3-0.jpg differ diff --git a/Bilder/Hintergrundpixel/background_4-0.jpg b/Bilder/Hintergrundpixel/background_4-0.jpg index af80b52..f81f9f1 100644 Binary files a/Bilder/Hintergrundpixel/background_4-0.jpg and b/Bilder/Hintergrundpixel/background_4-0.jpg differ diff --git a/Bilder/Hintergrundpixel/background_5-0.jpg b/Bilder/Hintergrundpixel/background_5-0.jpg index 3f28bf6..9ec4be7 100644 Binary files a/Bilder/Hintergrundpixel/background_5-0.jpg and b/Bilder/Hintergrundpixel/background_5-0.jpg differ diff --git a/Bilder/Hintergrundpixel/background_6-0.jpg b/Bilder/Hintergrundpixel/background_6-0.jpg index 9407e4d..18bc0f1 100644 Binary files a/Bilder/Hintergrundpixel/background_6-0.jpg and b/Bilder/Hintergrundpixel/background_6-0.jpg differ diff --git a/Bilder/pfeil-cropped-gold.png b/Bilder/pfeil-cropped-gold.png new file mode 100644 index 0000000..bf99847 Binary files /dev/null and b/Bilder/pfeil-cropped-gold.png differ diff --git a/Bilder/pfeil-cropped.png b/Bilder/pfeil-cropped.png new file mode 100644 index 0000000..a52f7d6 Binary files /dev/null and b/Bilder/pfeil-cropped.png differ diff --git a/Bilder/pfeil.png b/Bilder/pfeil.png new file mode 100644 index 0000000..a12ab29 Binary files /dev/null and b/Bilder/pfeil.png differ diff --git a/Bilder/wood-table-texture-background-cropped.xcf b/Bilder/wood-table-texture-background-cropped.xcf index 0d50eb8..f1a82bf 100644 Binary files a/Bilder/wood-table-texture-background-cropped.xcf and b/Bilder/wood-table-texture-background-cropped.xcf differ diff --git a/README.md b/README.md index aaf0c4b..1bf9af5 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,10 @@ Ein Brettspiel (bei dem später eventuell mehrere Spieler zusammen bzw. abwechse ## Protokoll +## 30.09.2026 + +Die Figuren auf dem Spielfeld gehen die gewünschte Anzahl an Zufallsschritten und die Würfelbilder werden auch schon angezeigt (aber noch nicht wieder ausgeblendet nach einer bestimmten Zeit). Jedoch kommt es in der zweiten Zeile an einem Punkt zu einem Fehler, der dazu führt, dass die Figuren sich nicht mehr weiter bewegen (bzw. auch schon beim Wechsel aus der ersten in die zweite Zeile "zu weit laufen"). Ich habe außerdem die erste Zeile des Hintergrunds mit nummerierten Feldern und Pfeilen, die die Bewegungsrichtung verständlicher machen sollen, ausgestaltet. + ## 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. @@ -66,3 +70,5 @@ Würfel-Bilder heruntergeladen (`wuerfel-gesamt.png`) und Würfelbilder 1-4 zuge [wood-table-texture-background.jpg](https://png.pngtree.com/background/20250105/original/pngtree-vintage-wood-table-texture-background-picture-image_13410936.jpg) [spielfiguren-original.jpg](https://media.istockphoto.com/id/1197681149/de/vektor/ludo-brett-spiel-person-m%C3%A4nnliche-steine-figur-spielen.jpg?s=612x612&w=0&k=20&c=D7t6cM2rkEtojbYSmej5AHPxZPPhsTDZpUcNgKAEvGc=) + +[pfeil.png](https://toppng.com/uploads/preview/pfeil-11550709339vnxs3yqwrb.png) diff --git a/main.py b/main.py index ad64993..041bdb9 100644 --- a/main.py +++ b/main.py @@ -4,6 +4,8 @@ import pygame from pygame.locals import * pygame.init() +import time + # Variablen/KONSTANTEN setzen Breite, Hoehe = 840, 840 @@ -14,6 +16,7 @@ SCHWARZ = (0, 0, 0) WEISS = (255, 255, 255) pyGameBilder = [] hintergrundBilder = [] +wuerfelBilder = [] # surface = pygame.Surface((400, 300)) @@ -29,6 +32,11 @@ for fname in meinSpiel.bilder: pyGameBilder.append(pygame.image.load(fname)) except (FileNotFoundError, pygame.error): pyGameBilder.append(pygame.image.load("Bilder/Grass.jpg")) +for fname in meinSpiel.wuerfel: + try: + wuerfelBilder.append(pygame.image.load(fname)) + except: + print("Fehler beim Laden der Würfelbilder") background_img_wood = pygame.image.load( "Bilder/wood-table-texture-background-cropped.jpg") @@ -68,10 +76,14 @@ while True: xVerschiebung = i * 30 # Verschiebung um 30 Pixel nach rechts, jede Figur im selben Feld etwas weiter yVerschiebung = 0 screen.blit(pyGameBilder[figur], (x*Pixel + xVerschiebung, y*Pixel + yVerschiebung)) + print(meinSpiel.zufallswert) + if meinSpiel.wuerfelBildAnzeigen: + screen.blit(pygame.image.load(f"Bilder/wuerfel-{meinSpiel.zufallswert}.png"), (310, 600)) #print(f"[{i}] Figur {figur} auf Feld {x}, {y} mit Verschiebung {xVerschiebung}") if meinSpiel.am_zug >= 4: meinSpiel.am_zug = 0 meinSpiel.figur_entfernt = False + # Spielfeld/figuren zeichnen # Fenster aktualisieren pygame.display.flip() diff --git a/meinspiel.py b/meinspiel.py index 10e052b..49c787e 100644 --- a/meinspiel.py +++ b/meinspiel.py @@ -1,6 +1,5 @@ import copy import pygame -import time import random @@ -9,6 +8,12 @@ class MeinSpiel: "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 = [] @@ -16,6 +21,8 @@ class MeinSpiel: figur_entfernt = False am_zug = 0 bewegungsrichtung = "rechts" + zufallswert = int() + wuerfelBildAnzeigen = False def __init__(self, felderX, felderY): for x in range(felderX): @@ -35,17 +42,20 @@ class MeinSpiel: def tasteGedrueckt(self, taste): if taste == pygame.K_SPACE: - zufallswert = random.randint(1, 6) + self.zufallswert = random.randint(1, 6) - for i in range(zufallswert): - print(f"{i}: {zufallswert}") + self.wuerfelBildAnzeigen = True + + for i in range(self.zufallswert): + self.figur_entfernt = False + print(f"[{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: if self.bewegungsrichtung == "rechts" and x == 6: self.bewegungsrichtung = "unten" - print(f"Figuren auf Feld ({x}|{y}): {self.spielfiguren[x][y]}") + # 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 @@ -66,40 +76,11 @@ class MeinSpiel: print(self.bewegungsrichtung) - - self.am_zug += 1 - break else: - print(f"keine Figuren auf Feld ({x}|{y}): {self.spielfiguren[x][y]}") + # print(f"keine Figuren auf Feld ({x}|{y}): {self.spielfiguren[x][y]}") + break except ValueError: - print(f"x: {x}, y: {y}") + # print(f"x: {x}, y: {y}") + break 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) - - -# def renderText(self, text: str, x: int, y: int, color: tuple): -# font = pygame.font.SysFont("David CLM", 74) -# textSurface = font.render(text, True, color) -# self.spielfeld[x][y] = textSurface # <-- hier ist noch ein Problem + self.am_zug += 1