06.10.26
This commit is contained in:
@@ -26,5 +26,9 @@ Versucht den Bug mit dem Ball und dem unteren Spielfeldrand zu lösen
|
|||||||
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.
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
## 06.10.26
|
||||||
|
Heute Doppelunterricht oder Vertretungsstunde bei Frau Wilmsen. Funktion Bewegeball neu geschrieben und überarbeitet. Muss nurnoch Flüchtigkeitsfehler und Sachen die ich nicht bedacht habe lösen.
|
||||||
|
|
||||||
|
|
||||||
# Quellen
|
# Quellen
|
||||||
Karten von itch.io -> nächste stunde sind hier genauere Quellen
|
Karten von itch.io -> nächste stunde sind hier genauere Quellen
|
||||||
+56
-2
@@ -10,7 +10,7 @@ class MeinSpiel:
|
|||||||
richtung = 0
|
richtung = 0
|
||||||
richtung_y = 0
|
richtung_y = 0
|
||||||
alter_hintergrund = 0
|
alter_hintergrund = 0
|
||||||
geschwindigkeit = 10
|
geschwindigkeit = 15
|
||||||
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):
|
||||||
@@ -180,13 +180,67 @@ class MeinSpiel:
|
|||||||
|
|
||||||
if stoppe_suche: break
|
if stoppe_suche: break
|
||||||
|
|
||||||
|
|
||||||
return spieler_x, spieler_y
|
return spieler_x, spieler_y
|
||||||
except UnboundLocalError as e:
|
except UnboundLocalError as e:
|
||||||
print(e)
|
print(e)
|
||||||
self.starte_spiel()
|
self.starte_spiel()
|
||||||
|
|
||||||
|
|
||||||
|
def bewegeball2(self):
|
||||||
|
if self.richtung == 0: return # Wenn Spiel nicht aktiv, dann self.richtung = 0; Also bewegt sich der Ball nicht
|
||||||
|
kontrollfeld = copy.deepcopy(self.spielfeld)
|
||||||
|
stoppe_suche = False
|
||||||
|
for x in range(len(self.spielfeld)):
|
||||||
|
for y in range(len(self.spielfeld[x])):
|
||||||
|
if self.spielfeld[x][y] == 2: # 2 = Ball
|
||||||
|
stoppe_suche = True # um den Ball nicht ein zweites mal zu finden
|
||||||
|
# setze Ballcoordinaten auf das nächste Feld
|
||||||
|
BallX = x+1 if self.richtung == 2 else x-1
|
||||||
|
BallY = y+1 if self.richtung_y == 2 else y-1
|
||||||
|
print(BallX)
|
||||||
|
print(BallY)
|
||||||
|
|
||||||
|
# gucken ob an der neuen Position ein Spieler ist
|
||||||
|
if self.spielfeld[BallX][BallY] == 1:
|
||||||
|
# Richtung des Balles ändern und danach BallX und BallY neu setzen
|
||||||
|
self.richtung = 1 if self.richtung == 2 else 1
|
||||||
|
self.richtung_y = 1 if self.richtung_y == 2 else 1
|
||||||
|
|
||||||
|
BallX = x+1 if self.richtung == 2 else x-1
|
||||||
|
BallY = y+1 if self.richtung_y == 2 else y-1
|
||||||
|
|
||||||
|
# gucken ob Ball am Rand (x-position) ist; Für Punktesystem
|
||||||
|
if BallX == -1:
|
||||||
|
self.punkte2 += 1
|
||||||
|
self.starte_spiel()
|
||||||
|
|
||||||
|
elif BallX == 15: # 15, weil mein Spiel 15 Felder (standart 14) hat und von 0 gezählt wird -> max anzahl 14; 15 würde heißen, ball aus dem Spielfeld
|
||||||
|
self.punkte1 += 1
|
||||||
|
self.starte_spiel()
|
||||||
|
|
||||||
|
# gucken ob Ball am Rand (y-position) ist; Richtung ändern
|
||||||
|
if BallY == -1:
|
||||||
|
self.richtung_y = 1 if self.richtung_y == 2 else 2
|
||||||
|
BallX = y
|
||||||
|
|
||||||
|
elif BallY == 15: # in if abfrage drüber inkludiert
|
||||||
|
self.richtung_y = 1 if self.richtung_y == 2 else 2
|
||||||
|
BallY = y
|
||||||
|
|
||||||
|
kontrollfeld[x][y] = 0
|
||||||
|
kontrollfeld[BallX][BallY] = 2
|
||||||
|
if stoppe_suche: break
|
||||||
|
if stoppe_suche: break
|
||||||
|
|
||||||
|
self.spielfeld = kontrollfeld
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def bewegeSpieler(self, richtung, spieler: Literal["spieler1", "spieler2"]):
|
def bewegeSpieler(self, richtung, spieler: Literal["spieler1", "spieler2"]):
|
||||||
|
|||||||
+1
-1
@@ -48,7 +48,7 @@ while True:
|
|||||||
fenster.blit(pyGameBilder[meinSpiel.spielfeld[x][y]],(x*Pixel,y*Pixel))
|
fenster.blit(pyGameBilder[meinSpiel.spielfeld[x][y]],(x*Pixel,y*Pixel))
|
||||||
|
|
||||||
# Spielfeld/figuren zeichnen
|
# Spielfeld/figuren zeichnen
|
||||||
meinSpiel.bewegeball() if counter % geschwindigkeit == 0 else None
|
meinSpiel.bewegeball2() if counter % geschwindigkeit == 0 else None
|
||||||
font = pygame.font.Font(None, 64)
|
font = pygame.font.Font(None, 64)
|
||||||
text = font.render(f"{meinSpiel.punkte1}| {meinSpiel.punkte2}", False, WEISS)
|
text = font.render(f"{meinSpiel.punkte1}| {meinSpiel.punkte2}", False, WEISS)
|
||||||
textpos = text.get_rect(centerx=fenster.get_width() / 2, y=10)
|
textpos = text.get_rect(centerx=fenster.get_width() / 2, y=10)
|
||||||
|
|||||||
Reference in New Issue
Block a user