Codeupdate gamemenu

This commit is contained in:
2023-12-31 09:58:19 +01:00
parent 3e2b906279
commit da23babe68

View File

@@ -94,6 +94,8 @@ class GameObject():
else:
self.__rectobjekt = pygame.draw.rect(self.__surface, self.__color, [self.__pos_x, self.__pos_y,self.__size_rect["x"],self.__size_rect["y"]])
def get_position(self):
return (self.__pos_x, self.__pos_y)
def get_rect(self):
return self.__rectobjekt
@@ -153,16 +155,57 @@ def spawn_entities(x:int):
count = 0
for y in range(x):
Entity = GameObject("Entitiy-"+str(count), rand.randint(1,MAINSCREEN_SIZE[0]), rand.randint(1,MAINSCREEN_SIZE[1]), rand.randint(1,15))
Objects.append(Entity)
Entity_rect = Entity.get_rect()
for y in Objects:
y:GameObject
print(y.get_position())
if(y.get_position()[0] == Entity.get_position()[0] or
y.get_position()[0] <= Entity.get_position()[0]+10 or
y.get_position()[0] <= Entity.get_position()[0]-10):
print("Überlagerung")
Objects.remove(y)
#if(pygame.rect.Rect.colliderect(y)):
# print("Kollision, neuberechnung")
#Neuberechnung der Cluster, falls Kollision mit bestehenden Clustern vorliegt
Objects.append(Entity)
count += 1
for x in Objects:
print(x)
return list(Objects)
"""def spawn_entities(x:int):
entity_count = x
count = 0
Objects = list()
print("Erstelle "+str(x)+" Objekte")
while(entity_count != 0):
Entity = GameObject("Entitiy-"+str(count), rand.randint(1,MAINSCREEN_SIZE[0]), rand.randint(1,MAINSCREEN_SIZE[1]), rand.randint(1,15))
Entity_pos = Entity.get_position()
if(count == 0):
Objects.append(Entity)
entity_count -= 1
print("Erstes Objekt erstellt")
else:
for x in Objects:
x:GameObject
#print(Entity_pos)
#print(x.get_position())
if(Entity_pos[0] <= (x.get_position()[0]-60) or Entity_pos[0] >= (x.get_position()[0] +60)):
if(Entity_pos[1] <= (x.get_position()[1]-60) or (Entity_pos[1] >= x.get_position()[1] +60)):
Objects.append(Entity)
entity_count -= 1
count += 1
print("Versuch: "+str(count), end="\r")
if(count == 20): break
return list(Objects)"""
Player = GameObject("Player", 10, 10, 10, is_player=False)
@@ -177,7 +220,7 @@ class Game():
x = 3600
invert = False
spawned_entities = spawn_entities(2) #Spawnt eine definierte Anzahl an GameObjekten
spawned_entities = spawn_entities(10) #Spawnt eine definierte Anzahl an GameObjekten
count_spawend_enities = len(spawned_entities)
#Fenster-Hauptschleife
while active == True:
@@ -185,7 +228,7 @@ while active == True:
for event in pygame.event.get():
if (event.type == pygame.QUIT):
print("Programm wird geschlossen!")
print(spawned_entities)
print(spawned_entities, end="\n")
active = False
elif (event.type == pygame.KEYDOWN):
if (event.key == pygame.K_UP):
@@ -216,40 +259,19 @@ while active == True:
if(count_hidden_entities == count_spawend_enities):
print("WIN!!!")
break
menu.enable()
menu.add.label("WIN", "win", 10)
menu.mainloop(MAINSCREEN)
#break
pygame.draw.line(MAINSCREEN, (0,0,0), (10,0),(10,MAINSCREEN_SIZE[1]))
if(x == 0):
for y in spawned_entities:
y.hide()
pass
x -= 1
"""
rect1 = pygame.draw.rect(MAINSCREEN, (0,0,0), [ballpos_x,ballpos_y,100,100])
if(not invert):
#if ballpos_x <= (MAINSCREEN.get_size()[0]): ballpos_x += 1
if ballpos_y <= (MAINSCREEN.get_size()[1]): ballpos_y += 1
#if(ballpos_x >= MAINSCREEN.get_size()[0]): ballpos_x = int(-100)
if(ballpos_y >= MAINSCREEN.get_size()[1]): ballpos_y = int(-100)
"""
"""
Lässt das Rechteck diagonal auf- und ablaufen
if(not invert):
if ballpos_x < (MAINSCREEN.get_size()[0]-100): ballpos_x += 1
if ballpos_y < (MAINSCREEN.get_size()[1]-100): ballpos_y += 1
else:
if ballpos_x != 0: ballpos_x -= 1
if ballpos_y != 0: ballpos_y -= 1
if(ballpos_x == (MAINSCREEN.get_size()[0]-100) and ballpos_y == (MAINSCREEN.get_size()[1]-100)):
invert = True
if(ballpos_x == 0 and ballpos_y == 0):
invert = False
"""
#print("Objekt-Koordinaten= X: "+str(rect1.x)+" Y: "+str(rect1.y)+"", end="\r")
#Displayflip sorgt dafür, dass das Fenster entsprechend der Tickrate aktualisiert wird