30.09.2026
This commit is contained in:
@@ -22,6 +22,9 @@ RandRegeln in Funktion geschoben und klarer definiert
|
|||||||
## 29.09.2026
|
## 29.09.2026
|
||||||
Versucht den Bug mit dem Ball und dem unteren Spielfeldrand zu lösen
|
Versucht den Bug mit dem Ball und dem unteren Spielfeldrand zu lösen
|
||||||
|
|
||||||
|
## 30.09.2026
|
||||||
|
Ball prallt venünfig an den Wänden ab und wenn man den auffrisst spawnt er in der Mitte neu. Außerdem habe ich eine Geschwindigkeitsänderung mit der Taste O eingebaut, die den Ball schneller bewegen lässt.
|
||||||
|
|
||||||
|
|
||||||
# Quellen
|
# Quellen
|
||||||
Karten von itch.io -> nächste stunde sind hier genauere Quellen
|
Karten von itch.io -> nächste stunde sind hier genauere Quellen
|
||||||
+77
-74
@@ -10,6 +10,7 @@ class MeinSpiel:
|
|||||||
richtung = 0
|
richtung = 0
|
||||||
richtung_y = 0
|
richtung_y = 0
|
||||||
alter_hintergrund = 0
|
alter_hintergrund = 0
|
||||||
|
geschwindigkeit = 10
|
||||||
punkte1 = 0 # Punkte des Spieler 1
|
punkte1 = 0 # Punkte des Spieler 1
|
||||||
punkte2 = 0 # Punkte des Spieler 2
|
punkte2 = 0 # Punkte des Spieler 2
|
||||||
def __init__(self, felderX, felderY):
|
def __init__(self, felderX, felderY):
|
||||||
@@ -52,6 +53,9 @@ class MeinSpiel:
|
|||||||
elif taste == 1073741905: # Pfeiltaste_Runter
|
elif taste == 1073741905: # Pfeiltaste_Runter
|
||||||
self.bewegeSpieler(2, "spieler2")
|
self.bewegeSpieler(2, "spieler2")
|
||||||
|
|
||||||
|
elif taste == pygame.K_o:
|
||||||
|
self.geschwindigkeit = 7 if self.geschwindigkeit !=7 else 10
|
||||||
|
|
||||||
def starte_spiel(self, neue_punkte = False):
|
def starte_spiel(self, neue_punkte = False):
|
||||||
self.richtung = random.randint(1, 2) # 1 = linke Spielhälfte / 2 = rechte Spielhälfte
|
self.richtung = random.randint(1, 2) # 1 = linke Spielhälfte / 2 = rechte Spielhälfte
|
||||||
|
|
||||||
@@ -84,110 +88,109 @@ class MeinSpiel:
|
|||||||
def bewegeball(self):
|
def bewegeball(self):
|
||||||
if self.richtung == 0: return
|
if self.richtung == 0: return
|
||||||
stoppe_suche = False
|
stoppe_suche = False
|
||||||
for x in range(len(self.spielfeld)):
|
try:
|
||||||
|
for x in range(len(self.spielfeld)):
|
||||||
|
|
||||||
for y in range(len(self.spielfeld)):
|
for y in range(len(self.spielfeld)):
|
||||||
|
|
||||||
if self.spielfeld[x][y] == 2:
|
if self.spielfeld[x][y] == 2:
|
||||||
try:
|
try:
|
||||||
spieler_x = x+1 if self.richtung == 2 else x-1
|
spieler_x = x+1 if self.richtung == 2 else x-1
|
||||||
spieler_y = y
|
spieler_y = y
|
||||||
# gucken ob links/rechts ein spieler ist
|
# gucken ob links/rechts ein spieler ist
|
||||||
if self.spielfeld[x+1][y] == 1 or self.spielfeld[x-1][y] == 1:
|
if self.spielfeld[x+1][y] == 1 or self.spielfeld[x-1][y] == 1:
|
||||||
self.richtung = 1 if self.richtung == 2 else 2
|
self.richtung = 1 if self.richtung == 2 else 2
|
||||||
self.richtung_y = random.randint(-1, 1) # -1 ist nach oben 1 nach unten
|
self.richtung_y = random.randint(-1, 1) # -1 ist nach oben 1 nach unten
|
||||||
|
if self.richtung_y == 0: self.richtung_y = 1
|
||||||
|
|
||||||
|
|
||||||
self.spielfeld[x][y] = self.alter_hintergrund
|
self.spielfeld[x][y] = self.alter_hintergrund
|
||||||
|
|
||||||
if self.richtung == 2:
|
if self.richtung == 2:
|
||||||
self.alter_hintergrund = self.spielfeld[x+1][y]
|
self.alter_hintergrund = self.spielfeld[x+1][y]
|
||||||
self.spielfeld[x+1][y+self.richtung_y] = 2
|
self.spielfeld[x+1][y+self.richtung_y] = 2
|
||||||
|
|
||||||
elif self.richtung == 1 and x-1 != -1:
|
elif self.richtung == 1 and x-1 != -1:
|
||||||
self.alter_hintergrund = self.spielfeld[x-1][y]
|
self.alter_hintergrund = self.spielfeld[x-1][y]
|
||||||
self.spielfeld[x-1][y+self.richtung_y] = 2
|
self.spielfeld[x-1][y+self.richtung_y] = 2
|
||||||
|
|
||||||
|
|
||||||
elif x-1 == -1: self.richtung = 2; self.spielfeld[x][y] = 2 # Später Punktesystem!
|
#elif x-1 == -1: self.richtung = 2; self.spielfeld[x][y] = 2 # Später Punktesystem!
|
||||||
print(x, y)
|
#print(x, y)
|
||||||
#self.guckeObAmRand(x, y)
|
#self.guckeObAmRand(x, y)
|
||||||
|
|
||||||
# Gucke, ob der Ball am Spielfeldrand ist
|
# Gucke, ob der Ball am Spielfeldrand ist
|
||||||
|
|
||||||
if y+1 == 14 or y-1 == 0:
|
if y+1 == 15 and self.richtung_y != -1:
|
||||||
if self.richtung_y != 1 and self.richtung_y != 0:
|
|
||||||
print("aaaaaaaaaaa")
|
print("aaaaaaaaaaa")
|
||||||
print(y+1)
|
print(y+1)
|
||||||
print(self.richtung_y)
|
print(self.richtung_y)
|
||||||
print("---------")
|
print("---------")
|
||||||
self.richtung_y = -1 if self.richtung_y == 1 else 1
|
self.richtung_y = -1 if self.richtung_y == 1 else 1
|
||||||
|
print("richtung y geändert")
|
||||||
elif x+1 == 14:
|
|
||||||
self.punkte1 +=1
|
|
||||||
self.starte_spiel()
|
|
||||||
|
|
||||||
elif x-1 == 0:
|
|
||||||
self.punkte2 +=1
|
|
||||||
self.starte_spiel()
|
|
||||||
|
|
||||||
|
|
||||||
stoppe_suche = True
|
elif y-1 == 0 and self.richtung_y != 1:
|
||||||
sleep(0.1)
|
print("aaaaaaaaaaa")
|
||||||
except IndexError:
|
print(y+1)
|
||||||
# Wenn am Rand des spielfelds, muss gucken ob punkt gibt oder von wand abprallt
|
print(self.richtung_y)
|
||||||
print(x+1)
|
print("---------")
|
||||||
print(x-1)
|
self.richtung_y = -1 if self.richtung_y == 1 else 1
|
||||||
print(y-1)
|
print("richtung y geändert")
|
||||||
print(y+1)
|
|
||||||
|
|
||||||
# if y+1 == 14 or y-1 == -1:
|
elif x+1 == 14:
|
||||||
# self.richtung_y = -1 if self.richtung_y == -1 else 1
|
self.punkte1 +=1
|
||||||
|
self.starte_spiel()
|
||||||
|
|
||||||
#self.guckeObAmRand(x, y, fehler=True)
|
elif x-1 == 0:
|
||||||
|
self.punkte2 +=1
|
||||||
print(x,y)
|
self.starte_spiel()
|
||||||
self.spielfeld[x][y] = 2 # Später Punktesystem!
|
|
||||||
self.richtung = 1 if self.richtung == 2 else 2
|
|
||||||
self.richtung_y = random.randint(-1, 1)
|
|
||||||
|
|
||||||
|
|
||||||
|
stoppe_suche = True
|
||||||
|
sleep(0.1)
|
||||||
|
except IndexError as e:
|
||||||
|
print("Ball ist außerhalb des")
|
||||||
|
print(e)
|
||||||
|
# Wenn am Rand des spielfelds, muss gucken ob punkt gibt oder von wand abprallt
|
||||||
|
print("x+1",x+1)
|
||||||
|
print("x-1",x-1)
|
||||||
|
print("y-1",y-1)
|
||||||
|
print("y+1",y+1)
|
||||||
|
|
||||||
|
if y+1 == 15 or y-1 == 0:
|
||||||
|
if self.richtung_y != 0:
|
||||||
|
print("aaaaaaaaaaa")
|
||||||
|
print(y+1)
|
||||||
|
print(self.richtung_y)
|
||||||
|
print("---------")
|
||||||
|
self.richtung_y = -1 if self.richtung_y == 1 else 1
|
||||||
|
print("richtung y geändert")
|
||||||
|
|
||||||
|
else:
|
||||||
|
print("einfach anders")
|
||||||
|
|
||||||
|
self.spielfeld[x][y] = 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if stoppe_suche: break
|
||||||
|
|
||||||
if stoppe_suche: break
|
if stoppe_suche: break
|
||||||
|
|
||||||
if stoppe_suche: break
|
|
||||||
|
|
||||||
|
return spieler_x, spieler_y
|
||||||
|
except UnboundLocalError as e:
|
||||||
|
print(e)
|
||||||
|
self.starte_spiel()
|
||||||
|
|
||||||
return spieler_x, spieler_y
|
|
||||||
|
|
||||||
|
|
||||||
# def guckeObAmRand(self, x, y, fehler = False):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
# if y+1 == 14 or y-1 == 0 and self.richtung_y == -1:
|
|
||||||
# print("aaaaaaaaaaa")
|
|
||||||
# print(y+1)
|
|
||||||
# print(self.richtung_y)
|
|
||||||
# print("---------")
|
|
||||||
# self.richtung_y = -1 if self.richtung_y == 1 else 1
|
|
||||||
|
|
||||||
# elif x+1 == 14:
|
|
||||||
# self.punkte1 +=1
|
|
||||||
# self.starte_spiel()
|
|
||||||
|
|
||||||
# elif x-1 == 0:
|
|
||||||
# self.punkte2 +=1
|
|
||||||
# self.starte_spiel()
|
|
||||||
|
|
||||||
# if fehler:
|
|
||||||
# print(x,y)
|
|
||||||
# self.spielfeld[x][y] = 2 # Später Punktesystem!
|
|
||||||
# self.richtung = 1 if self.richtung == 2 else 2
|
|
||||||
# self.richtung_y = random.randint(-1, 1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def bewegeSpieler(self, richtung, spieler: Literal["spieler1", "spieler2"]):
|
def bewegeSpieler(self, richtung, spieler: Literal["spieler1", "spieler2"]):
|
||||||
|
# Bei Richtung ist 1 nach oben und 2 nach unten
|
||||||
x = 1 if spieler == "spieler1" else 13
|
x = 1 if spieler == "spieler1" else 13
|
||||||
stoppe_suche = False
|
stoppe_suche = False
|
||||||
for y in range(len(self.spielfeld)):
|
for y in range(len(self.spielfeld)):
|
||||||
|
|||||||
+2
-1
@@ -13,7 +13,7 @@ FPS = 60
|
|||||||
SCHWARZ = ( 0, 0, 0)
|
SCHWARZ = ( 0, 0, 0)
|
||||||
WEISS = ( 255, 255, 255)
|
WEISS = ( 255, 255, 255)
|
||||||
pyGameBilder = []
|
pyGameBilder = []
|
||||||
geschwindigkeit = 10 # Geschwindigkeit des balles; niegdriger = schneller
|
|
||||||
|
|
||||||
# Bilder aus meinSpiel werden für pygame vorbereitet
|
# Bilder aus meinSpiel werden für pygame vorbereitet
|
||||||
meinSpiel = MeinSpiel(FelderX, FelderY)
|
meinSpiel = MeinSpiel(FelderX, FelderY)
|
||||||
@@ -31,6 +31,7 @@ clock = pygame.time.Clock()
|
|||||||
# Schleife Hauptprogramm
|
# Schleife Hauptprogramm
|
||||||
counter = 0
|
counter = 0
|
||||||
while True:
|
while True:
|
||||||
|
geschwindigkeit = meinSpiel.geschwindigkeit # Geschwindigkeit des balles; niegdriger = schneller
|
||||||
counter+=1
|
counter+=1
|
||||||
# Überprüfen, ob Nutzer eine Aktion durchgeführt hat
|
# Überprüfen, ob Nutzer eine Aktion durchgeführt hat
|
||||||
for event in pygame.event.get():
|
for event in pygame.event.get():
|
||||||
|
|||||||
Reference in New Issue
Block a user