Some changes in subclass of Gameobject
This commit is contained in:
@@ -9,33 +9,27 @@ MAINSCREEN = pygame.display.set_mode(MAINSCREEN_SIZE)
|
||||
pygame.display.set_caption("Testgame")
|
||||
|
||||
WEISS = ( 255, 255, 255)
|
||||
SCHWARZ = (0,0,0)
|
||||
|
||||
active = True
|
||||
|
||||
clock = pygame.time.Clock()
|
||||
|
||||
# Definieren der Variablen
|
||||
ballpos_x = 10
|
||||
ballpos_y = 10
|
||||
|
||||
#TODO: Make Grid for running Rect
|
||||
|
||||
class GameObject():
|
||||
__name = str()
|
||||
__last_pos_x = int()
|
||||
__last_pos_y = int()
|
||||
__pos_x = int()
|
||||
__pos_y = int()
|
||||
__color = (0,0,0)
|
||||
__size_rect_x:int
|
||||
__size_rect_y:int
|
||||
__movespeed = int()
|
||||
__rectobjekt:pygame.Rect #Hier bitte ändern!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
__rectobjekt:pygame.Rect
|
||||
__surface = MAINSCREEN
|
||||
__hide = False
|
||||
__collided = False
|
||||
__is_player = False
|
||||
__is_rect = False
|
||||
__has_follower = False
|
||||
count = 0
|
||||
|
||||
__movedirection = {"up":False, "down":False, "left":False, "right":False}
|
||||
|
||||
@@ -43,6 +37,7 @@ class GameObject():
|
||||
self.__name = name
|
||||
self.__pos_x = posx_init
|
||||
self.__pos_y = posy_init
|
||||
self.pos_array = (posx_init,posy_init)
|
||||
self.__inital_pos_x = posx_init
|
||||
self.__initial_pos_y = posx_init
|
||||
self.__movespeed = move_speed
|
||||
@@ -50,6 +45,7 @@ class GameObject():
|
||||
self.__is_rect = is_rect
|
||||
self.__size_rect_x = rect_size[0]
|
||||
self.__size_rect_y = rect_size[1]
|
||||
self.count += 1
|
||||
|
||||
#self.__rectobjekt = rect
|
||||
|
||||
@@ -131,6 +127,10 @@ class GameObject():
|
||||
|
||||
def set_collided(self):
|
||||
self.__collided = True
|
||||
|
||||
def set_position(self, pos:tuple):
|
||||
self.__pos_x = pos[0]
|
||||
self.__pos_y = pos[1]
|
||||
|
||||
def collide(self, GameObject) -> bool:
|
||||
#print(GameObject)
|
||||
@@ -161,20 +161,27 @@ class Follower(GameObject):
|
||||
def __init__(self, name: str, posx_init: int = 0, posy_init: int = 0, move_speed: int = 0, is_player: bool = False, is_rect: bool = True, rect_size: tuple = (10, 10)) -> None:
|
||||
super().__init__(name, posx_init, posy_init, move_speed, is_player, is_rect, rect_size)
|
||||
|
||||
def set_position(self, pos:tuple, playermovedirection:list):
|
||||
|
||||
def set_position_player(self, pos:tuple, playermovedirection:list, debug=False):
|
||||
if(playermovedirection["up"]):
|
||||
self.__pos_y = pos[1]+60
|
||||
self.__pos_x = pos[0]
|
||||
super().set_position((pos[0],pos[1]+60))
|
||||
print(pos)
|
||||
if(playermovedirection["down"]):
|
||||
self.__pos_y = pos[1]-60
|
||||
self.__pos_x = pos[0]
|
||||
super().set_position((pos[0],pos[1]-60))
|
||||
print(pos)
|
||||
if(playermovedirection["left"]):
|
||||
self.__pos_x = pos[0]+60
|
||||
self.__pos_y = pos[1]
|
||||
super().set_position((pos[0]+60,pos[1]))
|
||||
print(pos)
|
||||
if(playermovedirection["right"]):
|
||||
self.__pos_x = pos[0]-60
|
||||
self.__pos_y = pos[1]
|
||||
super().set_position((pos[0]-60,pos[1]))
|
||||
print(pos)
|
||||
|
||||
if(debug):
|
||||
print(pos)
|
||||
|
||||
def test(self):
|
||||
print(super().get_position())
|
||||
|
||||
|
||||
|
||||
def start_game():
|
||||
menu.disable()
|
||||
@@ -257,15 +264,20 @@ while active == True:
|
||||
if(y.is_collided() == False):
|
||||
if(y.collide(Player)):
|
||||
count_hidden_entities += 1
|
||||
#TODO Hardcopy der Gameobjects calss // Funktion manipuliert aktive Gameobjekte, welche mit vererbter Klasse instanziert werden
|
||||
#Grund hierfür, konnte noch nicht ausfindig gemacht werden!
|
||||
xy = y.get_rect_size()
|
||||
append_follwer(xy[0], xy[1])
|
||||
count_follower += 1
|
||||
|
||||
#Zeichnet alle Verfolgerobjekte, sofern sie vorliegend sind
|
||||
#TODO: Follower sollen ab dem zweiten Objekt dem vorangegangenen Objekt folgen und nicht dem player
|
||||
for follower in colided_objects:
|
||||
follower:Follower
|
||||
follower.set_position_player(Player.get_position(), Player.get_playermovedirection(), True)
|
||||
if(len(colided_objects) >= 1):
|
||||
follower.set_position_player(follower.get_position(), Player.get_playermovedirection(), True)
|
||||
print("Zeichne: " + follower.get_name())
|
||||
follower.draw()
|
||||
|
||||
|
||||
|
||||
if(count_hidden_entities == count_spawend_enities):
|
||||
|
||||
Reference in New Issue
Block a user