Files
2026-10-07 10:58:47 +02:00

135 lines
4.8 KiB
Python

import copy
import pygame
import random
import copy
class MeinSpiel:
bilder = ["Bilder/fliegbird.jpg","Bilder/guterock.png","Bilder/yeswolke.jpg","Bilder/gutegrapes.jpg"]
spielfeld = []
def __init__(self, felderX, felderY):
for x in range(felderX):
self.spielfeld.append([])
for y in range(felderY):
self.spielfeld[x].append(2)
def anfangsKonfiguration(self):
self.spielfeld[0][13]=0
def erstelle_neues_objekt1(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] = 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):
kontrollfeld = copy.deepcopy(self.spielfeld)
max_x = len(self.spielfeld)
max_y = len(self.spielfeld[0])
#von unten nach oben durch das Feld= Objekte rutschen nicht im selben Durchlauf nach unten
for x in range(max_x):
for y in range(max_y - 1, -1, -1):
if self.spielfeld[x][y] == 3:#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] = 2 #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] = 3
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
def tasteGedrueckt(self, taste):
kontrollfeld = copy.deepcopy(self.spielfeld)
max_x = len(self.spielfeld)
max_y = len(self.spielfeld[0])
if pygame.K_p == taste :
print("spawn")
self.spielfeld[1][13] = 0
if pygame.K_d == taste :
print("right")
for x in range(len(self.spielfeld)):
for y in range(len(self.spielfeld[x])):
if self.spielfeld [x][y] == 0:
kontrollfeld [x + 1] [y] = 0
kontrollfeld [x][y] = 2
# if kontrollfeld[x + 1][y] == 1:
# kontrollfeld[x][y] = 1
if pygame.K_w == taste :
print("up")
for x in range(len(self.spielfeld)):
for y in range(len(self.spielfeld[x])):
if self.spielfeld [x][y] == 0:
kontrollfeld [x] [y - 1] = 0
kontrollfeld [x] [y] = 2
if pygame.K_s == taste :
print("down")
for x in range(len(self.spielfeld)):
for y in range(len(self.spielfeld[x])):
if self.spielfeld [x][y] == 0:
kontrollfeld [x] [y + 1] = 0
kontrollfeld [x] [y] = 2
if pygame.K_a == taste :
print("left")
for x in range(len(self.spielfeld)):
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:
kontrollfeld [x - 1] [y] = 0
kontrollfeld [x] [y] = 2
# if self.spielfeld[x > 13][y]:
# x = 0
# self.spielfeld[x][y]
self.spielfeld = kontrollfeld