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
## 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)
+12
View File
@@ -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()
+20 -39
View File
@@ -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