Renamed Gameobjects class
Changed movement to classmethod
This commit is contained in:
31
main.py
31
main.py
@@ -29,7 +29,7 @@ font1 = pygame.font.SysFont("Noto Sans 10pt", 25)
|
||||
|
||||
PLAYGROUND = pygame.Surface((1024,728))
|
||||
|
||||
obj1 = GameObjects("Test", 0,0)
|
||||
|
||||
|
||||
gamestate = True
|
||||
|
||||
@@ -53,6 +53,7 @@ pacman_animation.append(pygame.image.load("models/pacman_1_3.png"))
|
||||
pacman_animation.append(pygame.image.load("models/pacman_1_4.png"))
|
||||
pacman_animation.append(pygame.image.load("models/pacman_1_5.png"))
|
||||
|
||||
model1 = "models/pacman_1_1.png"
|
||||
|
||||
|
||||
#ITEMS
|
||||
@@ -73,6 +74,8 @@ movedirection = {"up":False, "down":False, "left":False, "right":False}
|
||||
map1 = list()
|
||||
movement_map = list()
|
||||
|
||||
pacman = GameObject("Test", 600, 600, 50,50, model1 ,MAINSCREEN)
|
||||
|
||||
def generate_map(*mapfile):
|
||||
#Generate row
|
||||
startpos_x = 0
|
||||
@@ -141,32 +144,26 @@ while(gamestate==True):
|
||||
#TODO Check for wall-collision!!!!
|
||||
|
||||
if(movedirection["up"] == True):
|
||||
if(pacman_posy >= 0):
|
||||
pacman_posy -= pacman_movespeed
|
||||
if(pacman.get_position()[1] >= 0):
|
||||
pacman.move(0, -pacman_movespeed)
|
||||
|
||||
if(movedirection["down"] == True):
|
||||
if(pacman_posy <= (MAINSCREEN_SIZE[1]-pacman_size)):
|
||||
pacman_posy += pacman_movespeed
|
||||
if(pacman.get_position()[1] <= (MAINSCREEN_SIZE[1]-pacman_size)):
|
||||
pacman.move(0, pacman_movespeed)
|
||||
|
||||
if(movedirection["right"] == True):
|
||||
if(pacman_posx <= (MAINSCREEN_SIZE[0]-pacman_size)):
|
||||
pacman_posx += pacman_movespeed
|
||||
if(pacman.get_position()[0] <= (MAINSCREEN_SIZE[0]-pacman_size)):
|
||||
pacman.move(pacman_movespeed, 0)
|
||||
|
||||
if(movedirection["left"] == True):
|
||||
if(pacman_posx >= 0):
|
||||
pacman_posx -= pacman_movespeed
|
||||
|
||||
|
||||
MAINSCREEN.blit(pacman_animation[0], (pacman_posx,pacman_posy))
|
||||
if(pacman.get_position()[0] >= 0):
|
||||
pacman.move(-pacman_movespeed, 0)
|
||||
|
||||
pacman.draw()
|
||||
|
||||
for row in map1:
|
||||
MAINSCREEN.blit(row["object"], (row["x"],row["y"]))
|
||||
|
||||
for index, item in enumerate(movedirection):
|
||||
if(movedirection[item]==True):
|
||||
print(F"Pacman-Position: x:{pacman_posx} y:{pacman_posy}")
|
||||
|
||||
if debug_mode:
|
||||
#Adds visual character for vaild movementpath (DEBUG ONLY)
|
||||
for coord in movement_map:
|
||||
@@ -174,7 +171,7 @@ while(gamestate==True):
|
||||
MAINSCREEN.blit(tmp, (coord["x"], coord["y"]))
|
||||
|
||||
|
||||
pacman_pos_label = font1.render(F"x:{pacman_posx} y:{pacman_posy}", 1, SCHWARZ)
|
||||
pacman_pos_label = font1.render(F"x:{pacman.get_position()[0]} y:{pacman.get_position()[1]}", 1, SCHWARZ)
|
||||
fps_label = font1.render(F"FPS: {int(clock.get_fps())}", 1, SCHWARZ)
|
||||
|
||||
if debug_mode:
|
||||
|
||||
@@ -1,23 +1,28 @@
|
||||
import pygame
|
||||
|
||||
class GameObjects():
|
||||
def __init__(self, name, posx:int, posy:int, sprite:str) -> None:
|
||||
self.posx = posx
|
||||
self.posy = posy
|
||||
self.name = name
|
||||
self.sprite:str = ""
|
||||
self.rect:pygame.rect
|
||||
if(sprite != ""):
|
||||
pygame.image.load(sprite)
|
||||
|
||||
pass
|
||||
class GameObject():
|
||||
def __init__(self, name, posx:int, posy:int, sizex, sizey, spritepath:str, surface:pygame.Surface) -> None:
|
||||
self._posx = posx
|
||||
self._posy = posy
|
||||
self._size = [sizex, sizey]
|
||||
self._name = name
|
||||
self._surface = surface
|
||||
self._spritepath:str = ""
|
||||
self._sprite:pygame.Surface
|
||||
self._rect:pygame.rect
|
||||
if(len(spritepath) > 0):
|
||||
self._sprite = pygame.image.load(spritepath)
|
||||
self._rect = self._sprite.get_rect()
|
||||
|
||||
|
||||
def move(self, x,y):
|
||||
self.posx = x
|
||||
self.posy = y
|
||||
pass
|
||||
self._posx += x
|
||||
self._posy += y
|
||||
|
||||
|
||||
def draw(self):
|
||||
pygame.Surface.blit()
|
||||
pass
|
||||
self._rect = pygame.Surface.blit(self._surface, self._sprite, (self._posx, self._posy))
|
||||
|
||||
|
||||
def get_position(self):
|
||||
return(self._posx, self._posy)
|
||||
Reference in New Issue
Block a user