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