30.09.2026 Stundenende
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 314 B |
|
After Width: | Height: | Size: 429 B |
|
After Width: | Height: | Size: 6.6 KiB |
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||