Add items with min_destination and connect to settings

main
Samuel Zielke 7 months ago
parent fd37856e9f
commit 284e58e28e

@ -3,13 +3,11 @@ import random
import settings import settings
class Item(pygame.sprite.Sprite): class Item(pygame.sprite.Sprite):
def __init__(self): def __init__(self, x, y):
super().__init__() super().__init__()
self.image = pygame.image.load(settings.world.items.beer.img).convert_alpha() self.image = pygame.image.load(settings.world.items.beer.img).convert_alpha()
self.image = pygame.transform.scale(self.image, settings.world.items.beer.size) self.image = pygame.transform.scale(self.image, settings.world.items.beer.size)
self.rect = self.image.get_rect() self.rect = self.image.get_rect(topleft=(x, y))
self.rect.x = random.randint(200, 12800)
self.rect.y = random.randint(100, 500)
print(f'create item {self.rect}') if settings.DEBUG else None print(f'create item {self.rect}') if settings.DEBUG else None
def draw(self, screen, camera_offset): def draw(self, screen, camera_offset):

@ -1,8 +1,10 @@
import random
# Einstellungen # Einstellungen
SCREEN_WIDTH = 1280 SCREEN_WIDTH = 1280
SCREEN_HEIGHT = 720 SCREEN_HEIGHT = 720
FPS = 60 FPS = 60
DEBUG = True DEBUG = False
Mute = True Mute = True
START_POINT = "world" # world, menu START_POINT = "world" # world, menu
BACKGROUND_IMG = "../assets/backgrounds/background_III.png" BACKGROUND_IMG = "../assets/backgrounds/background_III.png"
@ -32,6 +34,7 @@ class world:
crop_scale_right = 1400 crop_scale_right = 1400
class obstacle: class obstacle:
amount = random.randint(4, 8)
box = "../assets/obstacles/box.png" box = "../assets/obstacles/box.png"
class items: class items:

@ -9,20 +9,23 @@ class World:
def __init__(self, screen): def __init__(self, screen):
# Hindernisse # Hindernisse
self.obstacles = [] self.obstacles = []
obstacle_count = random.randint(4, 8)
min_distance = 800 # Mindestabstand zwischen Hindernissen
while len(self.obstacles) < obstacle_count: while len(self.obstacles) < settings.world.obstacle.amount:
x = random.randint(500, 12500) x = random.randint(500, 12500)
# Prüfen, ob der neue x weit genug entfernt ist von bestehenden Hindernissen # Prüfen, ob der neue x weit genug entfernt ist von bestehenden Hindernissen
if all(abs(x - obs.rect.x) > min_distance for obs in self.obstacles): if all(abs(x - obs.rect.x) > 800 for obs in self.obstacles):
self.obstacles.append(Obstacle(x, 500, settings.world.obstacle.box)) self.obstacles.append(Obstacle(x, 500, settings.world.obstacle.box))
# ITEMS # ITEMS
self.items = [] self.items = []
for _ in range(settings.world.items.amount): # Erzeuge 5 Items
item = Item() while len(self.items) < settings.world.items.amount:
self.items.append(item) x = random.randint(200, 12800)
y = random.randint(100, 500)
# Prüfen, ob der neue x weit genug entfernt ist von bestehenden Hindernissen
if all(abs(x - item.rect.x) > 200 for item in self.items):
self.items.append(Item(x, y))
# Welt Generierung # Welt Generierung
self.screen = screen self.screen = screen
@ -54,7 +57,7 @@ class World:
# print(score) # print(score)
if score != 0: if score != 0:
self.save_score += 10 self.save_score += 10
print(self.save_score) print(self.save_score) if settings.DEBUG else None
bg_offset = int(camera_offset * 0.3) # Parallax: langsamer bewegen bg_offset = int(camera_offset * 0.3) # Parallax: langsamer bewegen
self.screen.blit(self.background, (-bg_offset, 0)) self.screen.blit(self.background, (-bg_offset, 0))

Loading…
Cancel
Save

Powered by TurnKey Linux.