From 3cc8160f06ef7e5883afffb5dddb79abd37e6a27 Mon Sep 17 00:00:00 2001 From: Christian Date: Wed, 7 Aug 2024 21:21:17 +0200 Subject: [PATCH] Some changes... --- .gitignore | 1 + Animation.py | 27 +++++++++++++++++++++++++++ Player.py | 5 +++++ Tilemap.py | 9 ++++----- main.py | 5 +++-- 5 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 Animation.py create mode 100644 Player.py diff --git a/.gitignore b/.gitignore index f900edf..0a44195 100644 --- a/.gitignore +++ b/.gitignore @@ -1673,3 +1673,4 @@ modules/__pycache__/Tilemap.cpython-312.pyc modules/__pycache__/Tileset.cpython-312.pyc modules/__pycache__/Tiletype.cpython-312.pyc modules/__pycache__/Utils.cpython-312.pyc +__pycache__/Animation.cpython-312.pyc diff --git a/Animation.py b/Animation.py new file mode 100644 index 0000000..1a59c81 --- /dev/null +++ b/Animation.py @@ -0,0 +1,27 @@ +import pygame + +class Animation(object): + def __init__(self, image, start_x, start_y, num, width, height, duration) -> None: + self.image = image + + self.start_x = start_x + self.start_y = start_y + self.num = num + self.width = width + self.height = height + + self.duration = duration + self.time = 0 + self.current = 0 + + def render(self, screen, pos): + screen.blit(self.image, pos, pygame.Rect(self.start_x + (self.width * self.current), self.start_y, self.width, self.height)) + + def update(self, time=1): + self.time += time + + if self.time > self.duration: + self.time = 0 + self.current += 1 + if self.current >= self.num: + self.current = 0 \ No newline at end of file diff --git a/Player.py b/Player.py new file mode 100644 index 0000000..a32b729 --- /dev/null +++ b/Player.py @@ -0,0 +1,5 @@ +import pygame + +class Player(object): + def __init__(self) -> None: + pass \ No newline at end of file diff --git a/Tilemap.py b/Tilemap.py index 64c3aa0..d64aa3f 100644 --- a/Tilemap.py +++ b/Tilemap.py @@ -21,15 +21,14 @@ class Tilemap(object): for i in range(0, self.height): self.tiles.append(list()) for j in range(0, self.width): - x = random.randint(0,4) - if x == 0: + if i == 15: self.tiles[i].append("grass") - elif x == 1: + elif i == 15: self.tiles[i].append("water") - elif x == 2: + elif i > 15: self.tiles[i].append("mud") else: - self.tiles[i].append("block") + self.tiles[i].append("empty") def render(self, screen): diff --git a/main.py b/main.py index 0d04e39..db7d0f7 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,6 @@ import pygame import Tilemap +import Animation pygame.init() @@ -29,10 +30,10 @@ def main(): while running: # Framerate auf 30 Frames pro Sekunde beschränken. # Pygame wartet, falls das Programm schneller läuft. - clock.tick(30) + clock.tick(60) # screen Surface mit Schwarz (RGB = 0, 0, 0) füllen. - screen.fill((0, 0, 0)) + screen.fill((198, 209, 255)) # Alle aufgelaufenen Events holen und abarbeiten. for event in pygame.event.get():