124 lines
4.2 KiB
Python
124 lines
4.2 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_objekt(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 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] == 2:#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
|
|
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):
|
|
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 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][y] == 0:
|
|
kontrollfeld [x - 1] [y] = 0
|
|
kontrollfeld [x] [y] = 2
|
|
|
|
|
|
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 |