Added Player class that handle playerobject

This commit is contained in:
2024-01-07 22:02:08 +01:00
parent f77433d5f4
commit 40839589f0
2 changed files with 24 additions and 19 deletions

View File

@@ -209,4 +209,9 @@ class Block(GameObject):
print(super().get_position()) print(super().get_position())
def get_score(self) -> int: def get_score(self) -> int:
return self.__score return self.__score
class Player(GameObject):
#Later handles the Player-Gameobject
def __init__(self, name: str, surface, mainscreensize: tuple, 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, surface, mainscreensize, posx_init, posy_init, move_speed, is_player, is_rect, rect_size)

View File

@@ -26,7 +26,7 @@ class Game():
__state = {"win":False, "lose":False, "paused":False} __state = {"win":False, "lose":False, "paused":False}
def __init__(self) -> None: def __init__(self) -> None:
pass pass
#Handles all collided objects an adds it as Playerfollower #Handles all collided objects an adds it as playerfollower
def start_game(): def start_game():
menu.disable() menu.disable()
@@ -72,7 +72,7 @@ def spawn_entities(x:int, list_of_objects:list):
list_of_objects.append(Entity) list_of_objects.append(Entity)
count += 1 count += 1
Player = GameObject("Player", MAINSCREEN, MAINSCREEN_SIZE, 10, 10, 10, is_player=False, is_rect=True, rect_size=(50,50)) player = Player("Player", MAINSCREEN, MAINSCREEN_SIZE, 10, 10, 10, is_player=False, is_rect=True, rect_size=(50,50))
background = pygame.surface.Surface((640,480)) background = pygame.surface.Surface((640,480))
@@ -97,21 +97,21 @@ while active == True:
elif (event.type == pygame.KEYDOWN): elif (event.type == pygame.KEYDOWN):
if (event.key == pygame.K_UP): if (event.key == pygame.K_UP):
print("Keydown") print("Keydown")
Player.change_direction("up") player.change_direction("up")
elif (event.key == pygame.K_DOWN): elif (event.key == pygame.K_DOWN):
print("Keydown") print("Keydown")
Player.change_direction("down") player.change_direction("down")
elif (event.key == pygame.K_RIGHT): elif (event.key == pygame.K_RIGHT):
print("Keydown") print("Keydown")
Player.change_direction("right") player.change_direction("right")
elif (event.key == pygame.K_LEFT): elif (event.key == pygame.K_LEFT):
print("Keydown") print("Keydown")
Player.change_direction("left") player.change_direction("left")
Player.draw() player.draw()
Player.update_pos_lastframe(Player.get_position()[0], Player.get_position()[1], False) player.update_pos_lastframe(player.get_position()[0], player.get_position()[1], False)
Player.move(5) player.move(5)
#print("Aktuelle Position: " + str(Player.get_position())) #print("Aktuelle Position: " + str(player.get_position()))
#print("Aktuell kollidierte Objekte: ", str(count_hidden_entities)) #print("Aktuell kollidierte Objekte: ", str(count_hidden_entities))
#Spawns the Entities #Spawns the Entities
for y in spawned_entities: for y in spawned_entities:
@@ -122,10 +122,10 @@ while active == True:
y.hide() y.hide()
pass pass
if(y.is_collided() == False): if(y.is_collided() == False):
if(y.collide(Player)): if(y.collide(player)):
print(F"Score: {y.get_score()}") print(F"Score: {y.get_score()}")
Player.update_player_score(y.get_score()) player.update_player_score(y.get_score())
print(F"Aktueller Playerscore: {Player.get_player_score()}") print(F"Aktueller playerscore: {player.get_player_score()}")
count_hidden_entities += 1 count_hidden_entities += 1
xy = y.get_rect_size() xy = y.get_rect_size()
append_follwer(xy[0], xy[1]) append_follwer(xy[0], xy[1])
@@ -135,7 +135,7 @@ while active == True:
#TODO: Follower sollen ab dem zweiten Objekt dem vorangegangenen Objekt folgen und nicht dem player #TODO: Follower sollen ab dem zweiten Objekt dem vorangegangenen Objekt folgen und nicht dem player
#if(colided_objects): #if(colided_objects):
# colided_objects[0].set_position_player(Player.get_position(), Player.get_playermovedirection(), True) # colided_objects[0].set_position_player(player.get_position(), player.get_playermovedirection(), True)
i=0 i=0
if(colided_objects): if(colided_objects):
@@ -145,10 +145,10 @@ while active == True:
for follower in colided_objects: for follower in colided_objects:
follower:Block follower:Block
if(i >= 0): if(i >= 0):
colided_objects[0].set_position_player(Player.get_position(), Player.get_playermovedirection(), True) colided_objects[0].set_position_player(player.get_position(), player.get_playermovedirection(), True)
pass pass
if(i > 0 and i <= len(colided_objects)): if(i > 0 and i <= len(colided_objects)):
#colided_objects[i].set_position_player(follower.set_position(colided_objects[i-1].get_position()), Player.get_playermovedirection(), True) #colided_objects[i].set_position_player(follower.set_position(colided_objects[i-1].get_position()), player.get_playermovedirection(), True)
pass pass
follower.draw() follower.draw()
i += 1""" i += 1"""
@@ -157,9 +157,9 @@ while active == True:
if(count_hidden_entities == count_spawend_enities): if(count_hidden_entities == count_spawend_enities):
print("WIN!!!") print("WIN!!!")
if(Player.get_player_score() > User.gethighscore()): if(player.get_player_score() > User.gethighscore()):
print("Neuer Highscore!!!") print("Neuer Highscore!!!")
User.update_user_highscore(Player.get_player_score()) User.update_user_highscore(player.get_player_score())
menu.enable() menu.enable()
menu.add.label("WIN", "win", 10) menu.add.label("WIN", "win", 10)
menu.mainloop(MAINSCREEN) menu.mainloop(MAINSCREEN)