New class for Follower added
Masterclass copy seems not working correctly
This commit is contained in:
@@ -141,19 +141,7 @@ class GameObject():
|
|||||||
self.__hide = True
|
self.__hide = True
|
||||||
"""TODO: Delete obeject function"""
|
"""TODO: Delete obeject function"""
|
||||||
|
|
||||||
def set_position(self, pos:tuple, playermovedirection:list):
|
|
||||||
if(playermovedirection["up"]):
|
|
||||||
self.__pos_y = pos[1]+60
|
|
||||||
self.__pos_x = pos[0]
|
|
||||||
if(playermovedirection["down"]):
|
|
||||||
self.__pos_y = pos[1]-60
|
|
||||||
self.__pos_x = pos[0]
|
|
||||||
if(playermovedirection["left"]):
|
|
||||||
self.__pos_x = pos[0]+60
|
|
||||||
self.__pos_y = pos[1]
|
|
||||||
if(playermovedirection["right"]):
|
|
||||||
self.__pos_x = pos[0]-60
|
|
||||||
self.__pos_y = pos[1]
|
|
||||||
#print(pos)
|
#print(pos)
|
||||||
#print(self.get_position())
|
#print(self.get_position())
|
||||||
|
|
||||||
@@ -232,12 +220,31 @@ class Game():
|
|||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
class Follower(GameObject):
|
||||||
|
def __init__(self, name: str, posx_init: int = 0, posy_init: int = 0, move_speed: int = 0, is_player: bool = False) -> None:
|
||||||
|
super().__init__(name, posx_init, posy_init, move_speed, is_player)
|
||||||
|
|
||||||
|
def set_position(self, pos:tuple, playermovedirection:list):
|
||||||
|
|
||||||
|
if(playermovedirection["up"]):
|
||||||
|
self.__pos_y = pos[1]+60
|
||||||
|
self.__pos_x = pos[0]
|
||||||
|
if(playermovedirection["down"]):
|
||||||
|
self.__pos_y = pos[1]-60
|
||||||
|
self.__pos_x = pos[0]
|
||||||
|
if(playermovedirection["left"]):
|
||||||
|
self.__pos_x = pos[0]+60
|
||||||
|
self.__pos_y = pos[1]
|
||||||
|
if(playermovedirection["right"]):
|
||||||
|
self.__pos_x = pos[0]-60
|
||||||
|
self.__pos_y = pos[1]
|
||||||
|
|
||||||
x = 3600
|
x = 3600
|
||||||
invert = False
|
invert = False
|
||||||
spawned_entities = spawn_entities(10) #Spawnt eine definierte Anzahl an GameObjekten
|
spawned_entities = spawn_entities(10) #Spawnt eine definierte Anzahl an GameObjekten
|
||||||
count_spawend_enities = len(spawned_entities)
|
count_spawend_enities = len(spawned_entities)
|
||||||
test_grid_x = MAINSCREEN_SIZE[0]/60
|
test_grid_x = MAINSCREEN_SIZE[0]/60
|
||||||
|
colided_objects = list()
|
||||||
|
|
||||||
#Fenster-Hauptschleife
|
#Fenster-Hauptschleife
|
||||||
while active == True:
|
while active == True:
|
||||||
@@ -266,8 +273,7 @@ while active == True:
|
|||||||
|
|
||||||
#Spawns the Entities
|
#Spawns the Entities
|
||||||
count_hidden_entities = 0
|
count_hidden_entities = 0
|
||||||
first_follower:GameObject
|
|
||||||
last_object:GameObject = None
|
|
||||||
for y in spawned_entities:
|
for y in spawned_entities:
|
||||||
y:GameObject
|
y:GameObject
|
||||||
|
|
||||||
@@ -275,28 +281,11 @@ while active == True:
|
|||||||
#Der erste Follower folgt dem Spieler, alle übrigen folgen den vorherien Verfolgern
|
#Der erste Follower folgt dem Spieler, alle übrigen folgen den vorherien Verfolgern
|
||||||
#y.hide()
|
#y.hide()
|
||||||
count_hidden_entities += 1
|
count_hidden_entities += 1
|
||||||
|
colidedobj = Follower(y)
|
||||||
|
colided_objects.append(colidedobj)
|
||||||
|
spawned_entities.remove(y)
|
||||||
|
|
||||||
if(Player.has_follower() == False):
|
if(y.is_collided() == False):
|
||||||
Player.set_follower()
|
|
||||||
last_object = y
|
|
||||||
print("Erste Verfolger: ", end=" ")
|
|
||||||
print(last_object)
|
|
||||||
|
|
||||||
if(last_object):
|
|
||||||
print("This Object: ", end=" ")
|
|
||||||
print(y)
|
|
||||||
print("Last Objetct: ", end=" ")
|
|
||||||
print("Last Objetct: ", end=" ")
|
|
||||||
print(last_object)
|
|
||||||
print("Position letztes Objekte: ", end=" ")
|
|
||||||
print(last_object.get_position())
|
|
||||||
print("Position aktuelles Objekt:", end=" ")
|
|
||||||
print(y.get_position())
|
|
||||||
y.set_position(last_object.get_position(), Player.get_playermovedirection())
|
|
||||||
|
|
||||||
y.set_position(Player.get_position(), Player.get_playermovedirection())
|
|
||||||
last_object = y
|
|
||||||
|
|
||||||
y.draw()
|
y.draw()
|
||||||
y.collide(Player)
|
y.collide(Player)
|
||||||
|
|
||||||
@@ -307,6 +296,16 @@ while active == True:
|
|||||||
menu.mainloop(MAINSCREEN)
|
menu.mainloop(MAINSCREEN)
|
||||||
break
|
break
|
||||||
|
|
||||||
|
print(len(colided_objects))
|
||||||
|
obj1_count = 0
|
||||||
|
for obj1 in colided_objects:
|
||||||
|
obj1:Follower
|
||||||
|
Player:GameObject
|
||||||
|
print(Player.get_position())
|
||||||
|
obj1.set_position(Player.get_position(), Player.get_playermovedirection())
|
||||||
|
print(obj1.get_position())
|
||||||
|
#print(Player.get_playermovedirection())
|
||||||
|
obj1.draw()
|
||||||
"""Drawing Lines test
|
"""Drawing Lines test
|
||||||
pos = 0
|
pos = 0
|
||||||
for x in range(20):
|
for x in range(20):
|
||||||
|
|||||||
Reference in New Issue
Block a user