07.10.26
This commit is contained in:
+101
-92
@@ -10,9 +10,10 @@ class MeinSpiel:
|
||||
richtung = 0
|
||||
richtung_y = 0
|
||||
alter_hintergrund = 0
|
||||
geschwindigkeit = 15
|
||||
geschwindigkeit = 10
|
||||
punkte1 = 0 # Punkte des Spieler 1
|
||||
punkte2 = 0 # Punkte des Spieler 2
|
||||
Com_enabled = False
|
||||
def __init__(self, felderX, felderY):
|
||||
for x in range(felderX):
|
||||
self.spielfeld.append([])
|
||||
@@ -34,28 +35,34 @@ class MeinSpiel:
|
||||
|
||||
def tasteGedrueckt(self, taste):
|
||||
print(f"{taste} gedrückt")
|
||||
if taste == 97:
|
||||
if taste == pygame.K_a:
|
||||
print(self.spielfeld)
|
||||
elif taste == 113:
|
||||
pygame.quit()
|
||||
elif taste == 116: # Taste T
|
||||
elif taste == pygame.K_t: # Taste T
|
||||
self.starte_spiel(neue_punkte=True)
|
||||
|
||||
elif taste == 115: # Taste S
|
||||
elif taste == pygame.K_s: # Taste S
|
||||
self.bewegeSpieler(2, "spieler1")
|
||||
|
||||
elif taste == 119: # Taste W
|
||||
elif taste == pygame.K_w: # Taste W
|
||||
self.bewegeSpieler(1, "spieler1") # 1 ist nach oben, 2 nach unten
|
||||
|
||||
elif taste == 1073741906: # Pfeiltaste_Hoch
|
||||
elif taste == pygame.K_UP: # Pfeiltaste_Hoch
|
||||
self.bewegeSpieler(1, "spieler2")
|
||||
|
||||
elif taste == 1073741905: # Pfeiltaste_Runter
|
||||
elif taste == pygame.K_DOWN: # Pfeiltaste_Runter
|
||||
self.bewegeSpieler(2, "spieler2")
|
||||
|
||||
elif taste == pygame.K_o:
|
||||
self.geschwindigkeit = 7 if self.geschwindigkeit !=7 else 10
|
||||
|
||||
elif taste == pygame.K_c:
|
||||
self.Com_enabled = True if not self.Com_enabled else False
|
||||
|
||||
elif taste == pygame.K_F3:
|
||||
pass # Soll Steuerung Zeigen
|
||||
|
||||
def starte_spiel(self, neue_punkte = False):
|
||||
self.richtung = random.randint(1, 2) # 1 = linke Spielhälfte / 2 = rechte Spielhälfte
|
||||
|
||||
@@ -122,21 +129,21 @@ class MeinSpiel:
|
||||
# Gucke, ob der Ball am Spielfeldrand ist
|
||||
|
||||
if y+1 == 15 and self.richtung_y != -1:
|
||||
print("aaaaaaaaaaa")
|
||||
print(y+1)
|
||||
print(self.richtung_y)
|
||||
print("---------")
|
||||
# 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")
|
||||
# print("richtung y geändert")
|
||||
|
||||
|
||||
elif y-1 == 0 and self.richtung_y != 1:
|
||||
print("aaaaaaaaaaa")
|
||||
print(y+1)
|
||||
print(self.richtung_y)
|
||||
print("---------")
|
||||
# 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")
|
||||
# print("richtung y geändert")
|
||||
|
||||
elif x+1 == 14:
|
||||
self.punkte1 +=1
|
||||
@@ -150,32 +157,28 @@ class MeinSpiel:
|
||||
stoppe_suche = True
|
||||
sleep(0.1)
|
||||
except IndexError as e:
|
||||
print("Ball ist außerhalb des")
|
||||
print(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)
|
||||
# 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("---------")
|
||||
# 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")
|
||||
# print("richtung y geändert")
|
||||
|
||||
else:
|
||||
print("einfach anders")
|
||||
pass
|
||||
|
||||
self.spielfeld[x][y] = 2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if stoppe_suche: break
|
||||
|
||||
if stoppe_suche: break
|
||||
@@ -186,63 +189,65 @@ class MeinSpiel:
|
||||
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 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("Zukunft:", BallX, BallY)
|
||||
# # print(BallY)
|
||||
|
||||
# # gucken ob Ball am Rand (x-position) ist; Für Punktesystem
|
||||
# if BallX == -1:
|
||||
# self.punkte2 += 1
|
||||
# return 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
|
||||
# return self.starte_spiel()
|
||||
|
||||
# # gucken ob Ball am Rand (y-position) ist; Richtung ändern
|
||||
# if BallY == -1:
|
||||
# print(BallY, "hier will er weg")
|
||||
# self.richtung_y = 1 if self.richtung_y == 2 else 2
|
||||
# BallX = y
|
||||
|
||||
# elif BallY == 15: # in if abfrage drüber inkludiert
|
||||
# print("hier woll er weg", BallY)
|
||||
# self.richtung_y = 1 if self.richtung_y == 2 else 2
|
||||
# BallY = y
|
||||
|
||||
|
||||
# # gucken ob an der neuen Position ein Spieler ist
|
||||
# if self.spielfeld[BallX][BallY] == 1:
|
||||
# print("Da ist jemand hiiiiiiiilfeeee")
|
||||
# # 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
|
||||
|
||||
|
||||
# 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"]):
|
||||
# Bei Richtung ist 1 nach oben und 2 nach unten
|
||||
x = 1 if spieler == "spieler1" else 13
|
||||
@@ -260,14 +265,14 @@ class MeinSpiel:
|
||||
self.alter_hintergrund = self.spielfeld[x+1][y]
|
||||
self.spielfeld[x][y+3] = 1
|
||||
|
||||
elif richtung == 1:
|
||||
elif richtung == 1 and y-1 != -1:
|
||||
self.spielfeld[x][y+2] = self.alter_hintergrund
|
||||
self.alter_hintergrund = self.spielfeld[x-1][y]
|
||||
self.spielfeld[x][y-1] = 1
|
||||
self.spielfeld[x][y-1] = 1
|
||||
|
||||
elif y-1 == 0: richtung = 2; self.spielfeld[x][y] = 1 # Später Punktesystem!
|
||||
|
||||
spieler_x, spieler_y = y+1 if richtung == 2 else y-1, y
|
||||
# spieler_x, spieler_y = y+1 if richtung == 2 else y-1, y
|
||||
stoppe_suche = True
|
||||
except IndexError:
|
||||
self.spielfeld[x][y] = 1 # Später Punktesystem!
|
||||
@@ -276,6 +281,10 @@ class MeinSpiel:
|
||||
|
||||
if stoppe_suche: break
|
||||
|
||||
class ComLogic:
|
||||
def __init__(self):
|
||||
pass # load coms inventory
|
||||
|
||||
def bewegeCom(self):
|
||||
random_richtung = random.randint(1, 2)
|
||||
|
||||
self.bewegeSpieler(random_richtung, "spieler2")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user