Einrichtung des Git-Repositorys
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 408 KiB |
|
After Width: | Height: | Size: 208 KiB |
|
After Width: | Height: | Size: 522 KiB |
|
After Width: | Height: | Size: 917 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 13 KiB |
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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)
|
||||