23.09.2026 Stundenende

This commit is contained in:
alstergym
2026-09-23 11:05:17 +02:00
parent f496991f52
commit 582d855b01
5 changed files with 66 additions and 13 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.
+6
View File
@@ -6,6 +6,12 @@ Ein Brettspiel (bei dem später eventuell mehrere Spieler zusammen bzw. abwechse
## Protokoll ## Protokoll
### 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.
Das Spielfeld muss noch grafisch ausgestaltet werden (die `wood-table-texture-background-cropped.xcf`-Datei (GIMP-Projekt) wurde dafür schon erstellt).
### 22.09.2026 ### 22.09.2026
Ich habe weiter mit dem Entfernen und Platzeieren von Figuren in dem mehrdimensionalen Array experimentiert. Die Print-Befehle, die ich jetzt in der meinspiel.py hinzugefügt habe, helfen sehr beim Verständnis der Funktionsweise des Programms bzw. in welchem Feld genau welche Figur gefunden wird und was dann gemacht wird. Ich habe weiter mit dem Entfernen und Platzeieren von Figuren in dem mehrdimensionalen Array experimentiert. Die Print-Befehle, die ich jetzt in der meinspiel.py hinzugefügt habe, helfen sehr beim Verständnis der Funktionsweise des Programms bzw. in welchem Feld genau welche Figur gefunden wird und was dann gemacht wird.
+3 -1
View File
@@ -69,7 +69,9 @@ while True:
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(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:
meinSpiel.am_zug = 0
meinSpiel.figur_entfernt = False
# Spielfeld/figuren zeichnen # Spielfeld/figuren zeichnen
# Fenster aktualisieren # Fenster aktualisieren
pygame.display.flip() pygame.display.flip()
+51 -6
View File
@@ -1,5 +1,7 @@
import copy import copy
import pygame import pygame
import time
import random
class MeinSpiel: class MeinSpiel:
@@ -12,6 +14,8 @@ class MeinSpiel:
spielfiguren = [] spielfiguren = []
figur_entfernt = False figur_entfernt = False
am_zug = 0
bewegungsrichtung = "rechts"
def __init__(self, felderX, felderY): def __init__(self, felderX, felderY):
for x in range(felderX): for x in range(felderX):
@@ -24,23 +28,64 @@ class MeinSpiel:
self.spielfiguren[x].append([]) self.spielfiguren[x].append([])
def anfangsKonfiguration(self): def anfangsKonfiguration(self):
self.spielfiguren[0][2].append(0) self.spielfiguren[0][0].append(0)
self.spielfiguren[0][2].append(1) self.spielfiguren[0][0].append(1)
self.spielfiguren[0][2].append(2) self.spielfiguren[0][0].append(2)
self.spielfiguren[0][2].append(3) self.spielfiguren[0][0].append(3)
def tasteGedrueckt(self, taste): def tasteGedrueckt(self, taste):
if taste == pygame.K_SPACE: if taste == pygame.K_SPACE:
zufallswert = random.randint(1, 6)
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:
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"
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(1)) self.spielfiguren[x][y].pop(self.spielfiguren[x][y].index(self.am_zug))
self.figur_entfernt = True self.figur_entfernt = True
self.spielfiguren[x + 1][y].append(1)
zielfeld = x + zufallswert
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)}')
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(self.bewegungsrichtung)
self.am_zug += 1
break 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]}")
except ValueError:
print(f"x: {x}, y: {y}")
print("____________")
# if len(self.spielfiguren[x][y]) > 0: # if len(self.spielfiguren[x][y]) > 0:
# figur = self.spielfiguren[x][y].pop() # figur = self.spielfiguren[x][y].pop()