This commit is contained in:
alstergym
2026-10-07 10:58:47 +02:00
parent d139827ea4
commit 3b00c6837e
3 changed files with 51 additions and 36 deletions
+9
View File
@@ -45,6 +45,15 @@ Code um einen Stein am oberen Spielfeldrand erscheinen zu lassen funktioniert no
Beeren spawnen jetzt am oberen Spielfeldrand und sollten runterfallen, aber das Feld füllt sich leider komplett mit Beeren. Trotzdem kann man die Beeren einsammeln und Idee zum Punkte zählen habe ich auch. Beeren spawnen jetzt am oberen Spielfeldrand und sollten runterfallen, aber das Feld füllt sich leider komplett mit Beeren. Trotzdem kann man die Beeren einsammeln und Idee zum Punkte zählen habe ich auch.
### 6.10.2026
Die Beeren spawnen jetzt nicht mehr überall auf dem Spielfeld, sondern nur noch am oberen Spielfeldrand und fallen dann so wie gewollt nach unten. Die Beeren können auch aufgesammelt werden, aber werden noch nicht gezählt oder irgendwie im Score festgehalten.
### 7.10.2026
Nun fallen nicht mehr nur Beeren ,sondern auch Steine vom Himmel. Diese erscheinen nur halb so häufig wie die Beeren. Steine sollen den Vogel erschlagen und zum verlieren bringen, dies ist aber noch nicht ganz fertig.
Ich habe auch noch versucht den Vogel am anderen Spielfeldrand erscheinen zu lassen, wenn er das Spielfeld verlässt, aber auch das habe ich noch nicht hinbekommen und muss noch gemacht werden.
## Bildquellen ## Bildquellen
[Grass Image by macrovector on Freepik](https://www.freepik.com/free-vector/seamless-green-grass-pattern_13187581.htm#query=grass%20texture&position=0&from_view=keyword&track=ais&uuid=c689b011-652b-4ad1-a90a-bf3c50762622) [Grass Image by macrovector on Freepik](https://www.freepik.com/free-vector/seamless-green-grass-pattern_13187581.htm#query=grass%20texture&position=0&from_view=keyword&track=ais&uuid=c689b011-652b-4ad1-a90a-bf3c50762622)
+37 -35
View File
@@ -16,7 +16,7 @@ class MeinSpiel:
def anfangsKonfiguration(self): def anfangsKonfiguration(self):
self.spielfeld[0][13]=0 self.spielfeld[0][13]=0
def erstelle_neues_objekt(self): def erstelle_neues_objekt1(self):
# zufällige x Koordinate am oberen Spielfeldrand # zufällige x Koordinate am oberen Spielfeldrand
zufall_x = random.randint(0, len(self.spielfeld)- 1) zufall_x = random.randint(0, len(self.spielfeld)- 1)
@@ -24,6 +24,17 @@ class MeinSpiel:
if self.spielfeld[zufall_x][0] == 2: if self.spielfeld[zufall_x][0] == 2:
self.spielfeld[zufall_x][0] = 3 self.spielfeld[zufall_x][0] = 3
def erstelle_neues_objekt2(self):
# zufällige x Koordinate am oberen Spielfeldrand
zufall_x = random.randint(0, len(self.spielfeld)- 1)
#nur wenn das Feld frei ist spawnen
if self.spielfeld[zufall_x][0] == 2:
self.spielfeld[zufall_x][0] = 1
def objekt_fallen_lassen(self): def objekt_fallen_lassen(self):
kontrollfeld = copy.deepcopy(self.spielfeld) kontrollfeld = copy.deepcopy(self.spielfeld)
max_x = len(self.spielfeld) max_x = len(self.spielfeld)
@@ -47,16 +58,26 @@ class MeinSpiel:
elif self.spielfeld[x][y + 1] == 2: elif self.spielfeld[x][y + 1] == 2:
kontrollfeld[x][y + 1] = 3 kontrollfeld[x][y + 1] = 3
kontrollfeld[x][y] = 2 kontrollfeld[x][y] = 2
for x in range(max_x):
for y in range(max_y - 1, -1, -1):
if self.spielfeld[x][y] == 1:#Objedkt gefunden
#Check 1: wird der Boden erreicht?
if y == max_y - 1:
kontrollfeld[x][y] = 2 # Objekt löschen
#Check 2: wird Figur getroffen
elif self.spielfeld[x][y +1] == 0:
kontrollfeld[x][y] = 1#Objekt verschwindet
# self.punkte += 1 # Punkt kommt dazu
# print(self.punkte)
#fällt ganz normal
elif self.spielfeld[x][y + 1] == 2:
kontrollfeld[x][y + 1] = 1
kontrollfeld[x][y] = 2
self.spielfeld = kontrollfeld self.spielfeld = kontrollfeld
# for i in range(3):
# x = random.randint(0, len(self.spielfeld) - 1)
# y = random.randint(0, len(self.spielfeld) - 1)
# while self.spielfeld[x][y] != 0:
# x = random.randint(0, len(self.spielfeld) - 1)
# y = random.randint(0, len(self.spielfeld) - 1)
# self.spielfeld[x][y] = 1
def tasteGedrueckt(self, taste): def tasteGedrueckt(self, taste):
kontrollfeld = copy.deepcopy(self.spielfeld) kontrollfeld = copy.deepcopy(self.spielfeld)
@@ -75,8 +96,9 @@ class MeinSpiel:
if self.spielfeld [x][y] == 0: if self.spielfeld [x][y] == 0:
kontrollfeld [x + 1] [y] = 0 kontrollfeld [x + 1] [y] = 0
kontrollfeld [x][y] = 2 kontrollfeld [x][y] = 2
# if kontrollfeld[x + 1][y] == 1:
# kontrollfeld[x][y] = 1
if pygame.K_w == taste : if pygame.K_w == taste :
print("up") print("up")
for x in range(len(self.spielfeld)): for x in range(len(self.spielfeld)):
@@ -92,15 +114,14 @@ class MeinSpiel:
if self.spielfeld [x][y] == 0: if self.spielfeld [x][y] == 0:
kontrollfeld [x] [y + 1] = 0 kontrollfeld [x] [y + 1] = 0
kontrollfeld [x] [y] = 2 kontrollfeld [x] [y] = 2
if self.spielfeld[x > 13][y]:
x = 0
self.spielfeld[x][y]
if pygame.K_a == taste : if pygame.K_a == taste :
print("left") print("left")
for x in range(len(self.spielfeld)): for x in range(len(self.spielfeld)):
for y in range(len(self.spielfeld[x])): for y in range(len(self.spielfeld[x])):
# if self.spielfeld [x > 13][y] == 0:
# self.spielfeld[0][y] = 0
if self.spielfeld [x][y] == 0: if self.spielfeld [x][y] == 0:
kontrollfeld [x - 1] [y] = 0 kontrollfeld [x - 1] [y] = 0
kontrollfeld [x] [y] = 2 kontrollfeld [x] [y] = 2
@@ -111,22 +132,3 @@ class MeinSpiel:
self.spielfeld = kontrollfeld self.spielfeld = kontrollfeld
#def anfangsKonfiguration(self):
# self.spielfeld[1][13] = 0
# for i in range(3):
# x = random.randint(0, len(self.spielfeld) - 1)
# y = random.randint(0, len(self.spielfeld) - 1)
#
# while self.spielfeld[x][y] != 0:
# x = random.randint(0, len(self.spielfeld) - 1)
# y = random.randint(0, len(self.spielfeld) - 1)
#
# self.spielfeld[x][y] = 1
+5 -1
View File
@@ -49,9 +49,13 @@ while True:
#Spawn und automatische Bewegung #Spawn und automatische Bewegung
if frame_zaehler % 50 == 0: if frame_zaehler % 50 == 0:
meinSpiel.erstelle_neues_objekt() meinSpiel.erstelle_neues_objekt1()
meinSpiel.objekt_fallen_lassen() meinSpiel.objekt_fallen_lassen()
if frame_zaehler % 100 == 0:
meinSpiel.erstelle_neues_objekt2()
# Spielfeld/figuren zeichnen # Spielfeld/figuren zeichnen
# Fenster aktualisieren # Fenster aktualisieren