Compare commits

..

No commits in common. 'b76966421ea7e5aacb9e59849b7d8bc2dd09eed7' and '996c9f61c65af212e9d8838bf11c2e37728ea81f' have entirely different histories.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

@ -1,4 +1,3 @@
from player import Player
import pygame import pygame
import sys import sys
from menu import Menu # Menü importieren from menu import Menu # Menü importieren
@ -14,7 +13,7 @@ def main():
menu = Menu(screen) menu = Menu(screen)
world = World(screen) world = World(screen)
current_scene = settings.START_POINT current_scene = "menu" # oder "world"
running = True running = True
while running: while running:
@ -39,7 +38,6 @@ def main():
if current_scene == "menu": if current_scene == "menu":
menu.draw() menu.draw()
elif current_scene == "world": elif current_scene == "world":
world.player.update(world.ground_rect.top)
world.draw() world.draw()
pygame.display.flip() pygame.display.flip()

@ -1,49 +0,0 @@
import pygame
import settings
class Player:
def __init__(self, x, y):
self.image_normal = pygame.transform.scale(
pygame.image.load(settings.player.fred.normal).convert_alpha(),
settings.player.size
)
self.image_jump = pygame.transform.scale(
pygame.image.load(settings.player.fred.olli).convert_alpha(),
settings.player.size
)
self.image = self.image_normal # Anfangszustand
self.rect = self.image.get_rect(topleft=(x, y))
self.velocity_y = 0
self.speed = 5
self.gravity = 1
self.jump_strength = -12
self.on_ground = False
def update(self, ground_y):
keys = pygame.key.get_pressed()
was_on_ground = self.on_ground
if keys[pygame.K_LEFT]:
self.rect.x -= self.speed
if keys[pygame.K_RIGHT]:
self.rect.x += self.speed
if keys[pygame.K_SPACE] and self.on_ground:
self.velocity_y = self.jump_strength
self.on_ground = False
if self.on_ground and self.image != self.image_normal:
self.image = self.image_normal
elif not self.on_ground and self.image != self.image_jump:
self.image = self.image_jump
if not self.on_ground and was_on_ground and settings.DEBUG:
print("Fred springt!")
self.velocity_y += self.gravity
self.rect.y += self.velocity_y
# Boden-Kollision
if self.rect.bottom >= ground_y:
self.rect.bottom = ground_y
self.velocity_y = 0
self.on_ground = True
def draw(self, screen):
screen.blit(self.image, self.rect)

@ -1,21 +1,14 @@
# Einstellungen # Einstellungen
SCREEN_WIDTH = 1280 SCREEN_WIDTH = 1280
SCREEN_HEIGHT = 720 SCREEN_HEIGHT = 720
FPS = 60 FPS = 30
DEBUG = True DEBUG = True
Mute = True Mute = True
START_POINT = "world" # world, menu
# Schriftarten # Schriftarten
class fonts: class fonts:
PressStart2P = '../assets/fonts/PressStart2P-Regular.ttf' PressStart2P = '../assets/fonts/PressStart2P-Regular.ttf'
class player:
size = (100, 100)
class fred:
normal = "../assets/images/player/fred.png"
olli = "../assets/images/player/fred_olli.png"
# Farben # Farben
class MyColors: class MyColors:
# Allgemein # Allgemein

@ -1,18 +1,15 @@
import pygame import pygame
import settings import settings
from player import Player
class World: class World:
def __init__(self, screen): def __init__(self, screen):
self.screen = screen self.screen = screen
self.background_color = (135, 206, 235) # Himmelblau self.background_color = (135, 206, 235) # Himmelblau
self.ground_rect = pygame.Rect(0, 600, 1280, 120) # Boden self.ground_rect = pygame.Rect(0, 600, 1280, 120) # Boden
self.player = Player(200, 500) # Spieler
def draw(self): def draw(self):
self.screen.fill(self.background_color) self.screen.fill(self.background_color)
pygame.draw.rect(self.screen, (124, 252, 0), self.ground_rect) # Grün für Boden pygame.draw.rect(self.screen, (124, 252, 0), self.ground_rect) # Grün für Boden
self.player.draw(self.screen)
def handle_event(self, event): def handle_event(self, event):
if event.type == pygame.KEYDOWN: if event.type == pygame.KEYDOWN:
@ -20,5 +17,4 @@ class World:
if settings.DEBUG: if settings.DEBUG:
print("ESC-Pressed") print("ESC-Pressed")
return "menu" return "menu"
# self.player.handle_event(event)
return None return None
Loading…
Cancel
Save

Powered by TurnKey Linux.