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/holz-dunkel-original.jpg b/Bilder/holz-dunkel-original.jpg new file mode 100644 index 0000000..978bd63 Binary files /dev/null and b/Bilder/holz-dunkel-original.jpg differ diff --git a/Bilder/holz-dunkel.jpg b/Bilder/holz-dunkel.jpg new file mode 100644 index 0000000..bb3a170 Binary files /dev/null and b/Bilder/holz-dunkel.jpg differ diff --git a/Bilder/spielfeld-verbindung-schnur-klein.png b/Bilder/spielfeld-verbindung-schnur-klein.png new file mode 100644 index 0000000..1f6eb8b Binary files /dev/null and b/Bilder/spielfeld-verbindung-schnur-klein.png differ diff --git a/Bilder/spielfeld-verbindung-schnur.png b/Bilder/spielfeld-verbindung-schnur.png new file mode 100644 index 0000000..c95d0ae Binary files /dev/null and b/Bilder/spielfeld-verbindung-schnur.png differ diff --git a/Bilder/wood-table-texture-background-cropped.jpg b/Bilder/wood-table-texture-background-cropped.jpg new file mode 100644 index 0000000..9e8f6c2 Binary files /dev/null and b/Bilder/wood-table-texture-background-cropped.jpg differ diff --git a/Bilder/wood-table-texture-background.jpg b/Bilder/wood-table-texture-background.jpg new file mode 100644 index 0000000..56b6b61 Binary files /dev/null and b/Bilder/wood-table-texture-background.jpg differ diff --git a/Bilder/wuerfel-1.png b/Bilder/wuerfel-1.png new file mode 100644 index 0000000..a76f47d Binary files /dev/null and b/Bilder/wuerfel-1.png differ diff --git a/Bilder/wuerfel-2.png b/Bilder/wuerfel-2.png new file mode 100644 index 0000000..5989e01 Binary files /dev/null and b/Bilder/wuerfel-2.png differ diff --git a/Bilder/wuerfel-3.png b/Bilder/wuerfel-3.png new file mode 100644 index 0000000..1591520 Binary files /dev/null and b/Bilder/wuerfel-3.png differ diff --git a/Bilder/wuerfel-4.png b/Bilder/wuerfel-4.png new file mode 100644 index 0000000..4cc885e Binary files /dev/null and b/Bilder/wuerfel-4.png differ diff --git a/Bilder/wuerfel-5.png b/Bilder/wuerfel-5.png new file mode 100644 index 0000000..5a7fcff Binary files /dev/null and b/Bilder/wuerfel-5.png differ diff --git a/Bilder/wuerfel-6.png b/Bilder/wuerfel-6.png new file mode 100644 index 0000000..f76e4e1 Binary files /dev/null and b/Bilder/wuerfel-6.png differ diff --git a/Bilder/wuerfel-vorlage.png b/Bilder/wuerfel-vorlage.png new file mode 100644 index 0000000..767df33 Binary files /dev/null and b/Bilder/wuerfel-vorlage.png differ diff --git a/README.md b/README.md index e2551c9..aaae2e9 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,36 @@ # E-To-Aron-Hasenspiel +## Meine Spielidee + +Brettspiel mit Feldern, bei denen mehrere Spieler mit Spielfiguren zusammen spielen können und durch Würfeln eine bestimmte Anzahl an Feldern vorrücken können. Auf Spezialfeldern passieren besondere Ereignisse (z. B. Minispiele, bei denen man schnell einen Punkt finden & anklicken muss). + +## Protokoll + +### 08.09.2026 + +Ich habe versucht, meinen gewünschten Hintergrund einzufügen, welcher sich nicht (so wie das Standardgras) immer wieder wiederholen soll. Dies hat nicht funktioniert, da jede Änderung an der __init__ Funktion zu Fehlern führt. + +### 02.09.2026 + +Weitere Bilder hinzugefügt (für Hintergrund und Spielfeldgestaltung) und versucht, die Objekte und Text anzeigen zu lassen. Die Textanzeige funktioniert noch nicht (in Kommentaren erklärt). + +### 01.09.2026 + +Würfel-Bilder heruntergeladen (`wuerfel-gesamt.png`) und Würfelbilder 1-4 zugeschnitten. +*Anleitung, um den Hintergrund zu entfernen: https://www.heise.de/tipps-tricks/GIMP-Hintergrund-transparent-machen-so-klappt-s-4304075.html* + +--- + +## Bildquellen + +[Grass Image by macrovector on Freepik](https://www.freepik.com/free-vector/seamless-green-grass-pattern_13187581.htm#query=grass%20texture&position=0&from_view=keyword&track=ais&uuid=c689b011-652b-4ad1-a90a-bf3c50762622) + +[Rabbit Symbol by torskaya on Freepik](https://www.freepik.com/icon/rabbit_2687160#fromView=search&page=1&position=19&uuid=3c377ca9-cb56-4be7-aebe-0bcac1702034) + +[holz-dunkel.jpg](https://cdnb.artstation.com/p/assets/images/images/004/682/457/large/simon-sanchez-madera-tilex1.jpg?1485480359) + +[wuerfel-vorlage.png](https://www.pngwing.com/de/free-png-nptzl) + +[spielfeld-verbindung-schnur.png](https://www.pngmart.com/image/492751/png/492750) + +[wood-table-texture-background.jpg](https://png.pngtree.com/background/20250105/original/pngtree-vintage-wood-table-texture-background-picture-image_13410936.jpg) diff --git a/main.py b/main.py new file mode 100644 index 0000000..f07ae3e --- /dev/null +++ b/main.py @@ -0,0 +1,56 @@ +# Importieren u. initialisieren der Pygame-Bibliothek +from meinspiel import MeinSpiel +import pygame +from pygame.locals import * +pygame.init() + + +# Variablen/KONSTANTEN setzen +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 = [] + +surface = pygame.Surface((400, 300)) + +# Bilder aus meinSpiel werden für pygame vorbereitet +meinSpiel = MeinSpiel(FelderX, FelderY) +for fname in meinSpiel.bilder: + pyGameBilder.append(pygame.image.load(fname)) + +background_img_wood = pygame.image.load("Bilder/wood-table-texture-background-cropped.jpg") + +#Anfangskonfiguration für das Spielfeld wird geladen +#meinSpiel.anfangsKonfiguration() + +# Definieren und Öffnen eines neuen Fensters +screen = pygame.display.set_mode((Breite, Hoehe)) +pygame.display.set_caption("Mein erstes Spiel") +clock = pygame.time.Clock() + +# Schleife Hauptprogramm +while True: + # Überprüfen, ob Nutzer eine Aktion durchgeführt hat + for event in pygame.event.get(): + # Beenden bei [ESC] oder [X] + if event.type==QUIT or (event.type==KEYDOWN and event.key==K_ESCAPE): + pygame.quit() + + # Spiellogik + if event.type==KEYDOWN: + meinSpiel.tasteGedrueckt(event.key) + + screen.blit(background_img_wood, (0,0)) + # Spielfeld löschen + for x in range(FelderX): + for y in range(FelderY): + screen.blit(pyGameBilder[meinSpiel.spielfeld[x][y]],(x*Pixel,y*Pixel)) + + # Spielfeld/figuren zeichnen + + # Fenster aktualisieren + pygame.display.flip() + clock.tick(FPS) \ No newline at end of file diff --git a/meinspiel.py b/meinspiel.py new file mode 100644 index 0000000..12969e9 --- /dev/null +++ b/meinspiel.py @@ -0,0 +1,26 @@ +import copy +import pygame + +class MeinSpiel: + bilder = ["Bilder/Grass.jpg","Bilder/Hase.jpg", "Bilder/wood-table-texture-background.jpg", "Bilder/spielfeld-verbindung-schnur-klein.png"] + spielfeld = [] + + def __init__(self, felderX, felderY): + for x in range(felderX): + self.spielfeld.append([]) + for y in range(felderY): + self.spielfeld[x].append(2) + #pass + + def anfangsKonfiguration(self): + self.spielfeld[5][6] = 1 + self.spielfeld[2][1]= 2 + self.spielfeld[3][1] = 3 + + def tasteGedrueckt(self, taste): + print("taste gedrückt") + + # def renderText(self, text: str, x: int, y: int, color: tuple): + # font = pygame.font.SysFont("David CLM", 74) + # textSurface = font.render(text, True, color) + # self.spielfeld[x][y] = textSurface # <-- hier ist noch ein Problem diff --git a/starten_alt.py b/starten_alt.py new file mode 100644 index 0000000..e160a48 --- /dev/null +++ b/starten_alt.py @@ -0,0 +1,61 @@ +# Importieren u. initialisieren der Pygame-Bibliothek +from meinspiel import MeinSpiel +import pygame +from pygame.locals import * +pygame.init() + + +# Variablen/KONSTANTEN setzen +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 = [] + +# Bilder aus game werden für pygame vorbereitet +game = MeinSpiel(FelderX, FelderY) +for fname in game.background: + pyGameBilder.append(pygame.image.load(fname)) + +#Anfangskonfiguration für das Spielfeld wird geladen +# game.anfangsKonfiguration() + +# Definieren und Öffnen eines neuen Fensters +screen = pygame.display.set_mode((Breite, Hoehe)) + +background = pygame.Surface((Breite, Hoehe)) + +pygame.display.set_caption("Mein erstes Spiel") +clock = pygame.time.Clock() + +# Bilder +schnur = pygame.image.load("Bilder/spielfeld-verbindung-schnur-klein.png") +holz = pygame.image.load("Bilder/holz-dunkel.jpg") + +# Schleife Hauptprogramm +while True: + # Überprüfen, ob Nutzer eine Aktion durchgeführt hat + for event in pygame.event.get(): + # Beenden bei [ESC] oder [X] + if event.type==QUIT or (event.type==KEYDOWN and event.key==K_ESCAPE): + pygame.quit() + + # Spiellogik + if event.type==KEYDOWN: + print(event.key) + # Spielfeld löschen + # for x in range(FelderX): + # for y in range(FelderY): + # screen.blit(pyGameBilder[game.spielfeld[x][y]],(x*Pixel,y*Pixel)) + screen.fill((255,255,255)) + screen.blit(holz, (20,55)) + screen.blit(schnur, (84,40)) + screen.blit(game.renderText("Hallo!", 100, 100, SCHWARZ)) # <-- funktioniert noch nicht, def in meinspiel.py am Ende definiert + + # Spielfeld/figuren zeichnen + + # Fenster aktualisieren + pygame.display.flip() + clock.tick(FPS)