106 lines
5.1 KiB
Python
106 lines
5.1 KiB
Python
import copy
|
|
import pygame
|
|
import time
|
|
import random
|
|
|
|
|
|
class MeinSpiel:
|
|
bilder = ["Bilder/Spielfiguren/spielfigur-rot.png",
|
|
"Bilder/Spielfiguren/spielfigur-gelb.png",
|
|
"Bilder/Spielfiguren/spielfigur-gruen.png",
|
|
"Bilder/Spielfiguren/spielfigur-blau.png"]
|
|
hintergrundbilder = []
|
|
spielfeld = []
|
|
spielfiguren = []
|
|
|
|
figur_entfernt = False
|
|
am_zug = 0
|
|
bewegungsrichtung = "rechts"
|
|
|
|
def __init__(self, felderX, felderY):
|
|
for x in range(felderX):
|
|
self.spielfeld.append([])
|
|
self.spielfiguren.append([])
|
|
for y in range(felderY):
|
|
self.hintergrundbilder.append(
|
|
f"Bilder/Hintergrundpixel/background_{x}-{y}.jpg")
|
|
self.spielfeld[x].append((7*x+y))
|
|
self.spielfiguren[x].append([])
|
|
|
|
def anfangsKonfiguration(self):
|
|
self.spielfiguren[0][0].append(0)
|
|
self.spielfiguren[0][0].append(1)
|
|
self.spielfiguren[0][0].append(2)
|
|
self.spielfiguren[0][0].append(3)
|
|
|
|
def tasteGedrueckt(self, taste):
|
|
if taste == pygame.K_SPACE:
|
|
zufallswert = random.randint(1, 6)
|
|
|
|
for i in range(zufallswert):
|
|
print(f"{i}: {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]}")
|
|
self.spielfiguren[x][y].pop(self.spielfiguren[x][y].index(self.am_zug))
|
|
self.figur_entfernt = True
|
|
|
|
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)}')
|
|
|
|
|
|
print(self.bewegungsrichtung)
|
|
|
|
self.am_zug += 1
|
|
break
|
|
else:
|
|
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:
|
|
# 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
|