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
|
||||
"""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(self.get_position())
|
||||
|
||||
@@ -231,13 +219,32 @@ class Game():
|
||||
__state = {"win":False, "lose":False, "paused":False}
|
||||
def __init__(self) -> None:
|
||||
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
|
||||
invert = False
|
||||
spawned_entities = spawn_entities(10) #Spawnt eine definierte Anzahl an GameObjekten
|
||||
count_spawend_enities = len(spawned_entities)
|
||||
test_grid_x = MAINSCREEN_SIZE[0]/60
|
||||
colided_objects = list()
|
||||
|
||||
#Fenster-Hauptschleife
|
||||
while active == True:
|
||||
@@ -266,8 +273,7 @@ while active == True:
|
||||
|
||||
#Spawns the Entities
|
||||
count_hidden_entities = 0
|
||||
first_follower:GameObject
|
||||
last_object:GameObject = None
|
||||
|
||||
for y in spawned_entities:
|
||||
y:GameObject
|
||||
|
||||
@@ -275,30 +281,13 @@ while active == True:
|
||||
#Der erste Follower folgt dem Spieler, alle übrigen folgen den vorherien Verfolgern
|
||||
#y.hide()
|
||||
count_hidden_entities += 1
|
||||
|
||||
if(Player.has_follower() == 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.collide(Player)
|
||||
colidedobj = Follower(y)
|
||||
colided_objects.append(colidedobj)
|
||||
spawned_entities.remove(y)
|
||||
|
||||
if(y.is_collided() == False):
|
||||
y.draw()
|
||||
y.collide(Player)
|
||||
|
||||
if(count_hidden_entities == count_spawend_enities):
|
||||
print("WIN!!!")
|
||||
@@ -307,6 +296,16 @@ while active == True:
|
||||
menu.mainloop(MAINSCREEN)
|
||||
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
|
||||
pos = 0
|
||||
for x in range(20):
|
||||
|
||||
Reference in New Issue
Block a user