65 lines
2.0 KiB
Python
65 lines
2.0 KiB
Python
import pygame
|
|
|
|
class GameObject(object):
|
|
objects = list()
|
|
def __init__(self, name, pos_x, pos_y, width, height, image=None) -> None:
|
|
self.name = name
|
|
self.pos_x = pos_x
|
|
self.pos_y = pos_y
|
|
self.width = width
|
|
self.height = height
|
|
self.image = image
|
|
self.objects.append(self)
|
|
pass
|
|
|
|
def get_objectinfo(self):
|
|
print(F"Gameobject-Info: \n",
|
|
F"Name: {self.name}\n",
|
|
F"Position x: {self.pos_x} y: {self.pos_y}\n",
|
|
F"Size = width: {self.width} height: {self.height}"
|
|
)
|
|
|
|
def render(self, screen:pygame.Surface):
|
|
if(self.image is not None):
|
|
screen.blit(self.image, (self.pos_x, self.pos_y, ))
|
|
else:
|
|
print("Kein Image hinterlegt!")
|
|
|
|
def setpos(self, pos_x, pos_y):
|
|
self.pos_x = pos_x
|
|
self.pos_y = pos_y
|
|
|
|
def setsize(self, width, height):
|
|
self.width = width
|
|
self.height = height
|
|
|
|
class Player(GameObject):
|
|
def __init__(self, name, pos_x, pos_y, width, height, image=None) -> None:
|
|
super().__init__(name, pos_x, pos_y, width, height, image)
|
|
self._speed = 10
|
|
|
|
def handle_input(self, event:pygame.event.EventType):
|
|
|
|
keys =pygame.key.get_pressed()
|
|
if(event.type == pygame.KEYDOWN):
|
|
print(event)
|
|
if(keys[pygame.K_LEFT]):
|
|
self.move(-self._speed)
|
|
if(keys[pygame.K_RIGHT]):
|
|
self.move(self._speed)
|
|
#Deaktiviert, vorerst soll Bewegung nur rechts oder links möglich sein
|
|
#if(event.key == pygame.K_UP):
|
|
# self.move(0, -self._speed)
|
|
#if(event.key == pygame.K_DOWN):
|
|
# self.move(0, self._speed)
|
|
if(event.key == pygame.K_SPACE):
|
|
#Fiiirrreee in the hole
|
|
print("Feuer!")
|
|
pass
|
|
|
|
def move(self, x=0, y=0):
|
|
if x != 0:
|
|
self.pos_x += x
|
|
if y != 0:
|
|
self.pos_y += y
|
|
|