30.09.2026 Stundenende

This commit is contained in:
alstergym
2026-09-30 11:01:29 +02:00
parent fa36bb3060
commit dafff6467a
14 changed files with 38 additions and 39 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.
+6
View File
@@ -6,6 +6,10 @@ Ein Brettspiel (bei dem später eventuell mehrere Spieler zusammen bzw. abwechse
## Protokoll ## 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 ## 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. 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) [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=) [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)
+12
View File
@@ -4,6 +4,8 @@ import pygame
from pygame.locals import * from pygame.locals import *
pygame.init() pygame.init()
import time
# Variablen/KONSTANTEN setzen # Variablen/KONSTANTEN setzen
Breite, Hoehe = 840, 840 Breite, Hoehe = 840, 840
@@ -14,6 +16,7 @@ SCHWARZ = (0, 0, 0)
WEISS = (255, 255, 255) WEISS = (255, 255, 255)
pyGameBilder = [] pyGameBilder = []
hintergrundBilder = [] hintergrundBilder = []
wuerfelBilder = []
# surface = pygame.Surface((400, 300)) # surface = pygame.Surface((400, 300))
@@ -29,6 +32,11 @@ for fname in meinSpiel.bilder:
pyGameBilder.append(pygame.image.load(fname)) pyGameBilder.append(pygame.image.load(fname))
except (FileNotFoundError, pygame.error): except (FileNotFoundError, pygame.error):
pyGameBilder.append(pygame.image.load("Bilder/Grass.jpg")) 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( background_img_wood = pygame.image.load(
"Bilder/wood-table-texture-background-cropped.jpg") "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 xVerschiebung = i * 30 # Verschiebung um 30 Pixel nach rechts, jede Figur im selben Feld etwas weiter
yVerschiebung = 0 yVerschiebung = 0
screen.blit(pyGameBilder[figur], (x*Pixel + xVerschiebung, y*Pixel + yVerschiebung)) 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}") #print(f"[{i}] Figur {figur} auf Feld {x}, {y} mit Verschiebung {xVerschiebung}")
if meinSpiel.am_zug >= 4: if meinSpiel.am_zug >= 4:
meinSpiel.am_zug = 0 meinSpiel.am_zug = 0
meinSpiel.figur_entfernt = False meinSpiel.figur_entfernt = False
# Spielfeld/figuren zeichnen # Spielfeld/figuren zeichnen
# Fenster aktualisieren # Fenster aktualisieren
pygame.display.flip() pygame.display.flip()
+20 -39
View File
@@ -1,6 +1,5 @@
import copy import copy
import pygame import pygame
import time
import random import random
@@ -9,6 +8,12 @@ class MeinSpiel:
"Bilder/Spielfiguren/spielfigur-gelb.png", "Bilder/Spielfiguren/spielfigur-gelb.png",
"Bilder/Spielfiguren/spielfigur-gruen.png", "Bilder/Spielfiguren/spielfigur-gruen.png",
"Bilder/Spielfiguren/spielfigur-blau.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 = [] hintergrundbilder = []
spielfeld = [] spielfeld = []
spielfiguren = [] spielfiguren = []
@@ -16,6 +21,8 @@ class MeinSpiel:
figur_entfernt = False figur_entfernt = False
am_zug = 0 am_zug = 0
bewegungsrichtung = "rechts" bewegungsrichtung = "rechts"
zufallswert = int()
wuerfelBildAnzeigen = False
def __init__(self, felderX, felderY): def __init__(self, felderX, felderY):
for x in range(felderX): for x in range(felderX):
@@ -35,17 +42,20 @@ class MeinSpiel:
def tasteGedrueckt(self, taste): def tasteGedrueckt(self, taste):
if taste == pygame.K_SPACE: if taste == pygame.K_SPACE:
zufallswert = random.randint(1, 6) self.zufallswert = random.randint(1, 6)
for i in range(zufallswert): self.wuerfelBildAnzeigen = True
print(f"{i}: {zufallswert}")
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 x in range(len(self.spielfiguren)):
for y in range(len(self.spielfiguren[x])): for y in range(len(self.spielfiguren[x])):
try: try:
if len(self.spielfiguren[x][y]) > 0 and self.figur_entfernt == False: if len(self.spielfiguren[x][y]) > 0 and self.figur_entfernt == False:
if self.bewegungsrichtung == "rechts" and x == 6: self.bewegungsrichtung = "unten" 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.spielfiguren[x][y].pop(self.spielfiguren[x][y].index(self.am_zug))
self.figur_entfernt = True self.figur_entfernt = True
@@ -66,40 +76,11 @@ class MeinSpiel:
print(self.bewegungsrichtung) print(self.bewegungsrichtung)
self.am_zug += 1
break
else: 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: except ValueError:
print(f"x: {x}, y: {y}") # print(f"x: {x}, y: {y}")
break
print("____________") print("____________")
self.am_zug += 1
# 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