diff --git a/Bilder/Goblin.png b/Bilder/Goblin.png new file mode 100644 index 0000000..86563a2 Binary files /dev/null and b/Bilder/Goblin.png differ diff --git a/Bilder/Grass.jpg b/Bilder/Grass.jpg new file mode 100644 index 0000000..27f468e Binary files /dev/null and b/Bilder/Grass.jpg differ diff --git a/Bilder/Hase.jpg b/Bilder/Hase.jpg new file mode 100644 index 0000000..1f821be Binary files /dev/null and b/Bilder/Hase.jpg differ diff --git a/Bilder/Herz.png b/Bilder/Herz.png new file mode 100644 index 0000000..4e4cb88 Binary files /dev/null and b/Bilder/Herz.png differ diff --git a/Bilder/Ritter1.png b/Bilder/Ritter1.png new file mode 100644 index 0000000..c83d65c Binary files /dev/null and b/Bilder/Ritter1.png differ diff --git a/Bilder/Ritter2.png b/Bilder/Ritter2.png new file mode 100644 index 0000000..c6dfe9b Binary files /dev/null and b/Bilder/Ritter2.png differ diff --git a/Bilder/castlebackground.png b/Bilder/castlebackground.png new file mode 100644 index 0000000..f8277ff Binary files /dev/null and b/Bilder/castlebackground.png differ diff --git a/Bilder/steinboden.png b/Bilder/steinboden.png new file mode 100644 index 0000000..137fc47 Binary files /dev/null and b/Bilder/steinboden.png differ diff --git a/README.md b/README.md index f5fc617..2c8c797 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,11 @@ -# E-To-Linus-Hasenspiel -Olla +# MeinErstesSpiel + + +## Meine Spielidee +Man hat einen Ritter der in der Mitte des Spielfelds startet und sich mit seinem Schwert gegen Kobolde verteidige die immer zufällig aus den Spielfeldrändern kommen auf ihn zu laufen. Er muss sie mit seinem Schwert ermorden denn wenn nicht verliert er ein Leben. + +#09.09.2026 +Heute habe ich relativ viel geschafft. Ich habe es hinbekommen der Spieler zu bewegen und habe außerdem noch mehrere Grafiken eingebaut wie zum Beispiel ein Herz für die Lebensanzeige und einen Kobold als Gegener. Jetzt probiere ich den Kobold zum Spieler gehen zu lassen. Jedoch läuft der Kobold noch aus dem Spielfeld heraus. Dies probiere ich nächste Woche zu verbessern. + + +# Bildquellen: \ No newline at end of file diff --git a/meinspiel.py b/meinspiel.py new file mode 100644 index 0000000..455b855 --- /dev/null +++ b/meinspiel.py @@ -0,0 +1,23 @@ +import copy +import pygame + +Startpositionx = (2) +Startpositiony = (2) + +class MeinSpiel: + bilder = ["Bilder/steinboden.png","Bilder/Grass.jpg","Bilder/Ritter2.png"] + spielfeld = [] + + def __init__(self, felderX, felderY): + for x in range(felderX): + self.spielfeld.append([]) + for y in range(felderY): + self.spielfeld[x].append(0) + + def anfangsKonfiguration(self): + self.spielfeld[5][5] = 0 + + def tasteGedrueckt(self, taste): + if pygame.K_w == taste: + print(taste) + \ No newline at end of file diff --git a/starten.py b/starten.py new file mode 100644 index 0000000..dabb671 --- /dev/null +++ b/starten.py @@ -0,0 +1,121 @@ +from meinspiel import MeinSpiel +import pygame +from pygame.locals import * +import random + +pygame.init() + +Spielerfigur = pygame.image.load("Bilder/Ritter2.png") +Gegner = pygame.image.load("Bilder/Goblin.png") +Herzen = pygame.image.load("Bilder/Herz.png") + +spielerX = 6 +spielerY = 6 +HerzX = -1 + +GegnerX = (random.uniform(0,13)) +GegnerY = (random.uniform(0,13)) +Gegnerbewegung = 0.1 + +print(GegnerY) +print(GegnerX) + +# Variablen/KONSTANTEN +Breite, Hoehe = 840, 840 +Pixel = 60 +FelderX, FelderY = int(Breite / Pixel), int(Hoehe / Pixel) +FPS = 60 + +SCHWARZ = (0, 0, 0) +WEISS = (255, 255, 255) + +pyGameBilder = [] + +# Mein Spiel erstellen +meinSpiel = MeinSpiel(FelderX, FelderY) + +# Bilder laden +for fname in meinSpiel.bilder: + pyGameBilder.append(pygame.image.load(fname)) + +# Anfangskonfiguration +meinSpiel.anfangsKonfiguration() + +print(GegnerX) +# Fenster +fenster = pygame.display.set_mode((Breite, Hoehe)) +pygame.display.set_caption("Medival Goblin Dungeon") + +clock = pygame.time.Clock() + +# Hauptschleife +while True: + + # Ereignisse überprüfen + for event in pygame.event.get(): + + # Beenden + if event.type == QUIT: + pygame.quit() + exit() + + if event.type == KEYDOWN: + + if event.key == K_ESCAPE: + pygame.quit() + exit() + + # Bewegung + if event.key == K_w: + spielerY -= 1 + + if event.key == K_s: + spielerY += 1 + + if event.key == K_a: + spielerX -= 1 + + if event.key == K_d: + spielerX += 1 + + meinSpiel.tasteGedrueckt(event.key) + + # Spielfeld zeichnen + + + for x in range(FelderX): + for y in range(FelderY): + fenster.blit( + pyGameBilder[meinSpiel.spielfeld[x][y]], + (x * Pixel, y * Pixel) + ) + # Lebensanzeige + for Herzposition in range(3): + fenster.blit( + Herzen, + (HerzX + Herzposition * 60, 0) + ) + + #Gegner Logik + GegnerY += Gegnerbewegung + GegnerX += Gegnerbewegung + if GegnerY < 13 or GegnerY > 0: + Gegnerbewegung *= -1 + if GegnerX < 13 or GegnerX > 0: + Gegnerbewegung *= -1 + + # Spielfigur und Gegner zeichnen + + + fenster.blit( + Spielerfigur, + (spielerX * Pixel, spielerY * Pixel) + ) + fenster.blit( + Gegner, + (GegnerX * Pixel, GegnerY * Pixel) + ) + # Fenster aktualisieren + pygame.display.flip() + + clock.tick(FPS)