Files
E-To-Finley-Hasenspiel/starten2.py
T
2026-10-06 12:11:21 +02:00

59 lines
1.8 KiB
Python

# Importieren u. initialisieren der Pygame-Bibliothek
from meinspiel import MeinSpiel
import pygame
from pygame.locals import *
pygame.init()
# Variablen/KONSTANTEN setzen
Breite, Hoehe = 900, 900
Pixel = 60
FelderX, FelderY = int(Breite / Pixel), int(Hoehe / Pixel)
FPS = 60
SCHWARZ = ( 0, 0, 0)
WEISS = ( 255, 255, 255)
pyGameBilder = []
# Bilder aus meinSpiel werden für pygame vorbereitet
meinSpiel = MeinSpiel(FelderX, FelderY)
for fname in meinSpiel.bilder:
pyGameBilder.append(pygame.image.load(fname))
#Anfangskonfiguration für das Spielfeld wird geladen
meinSpiel.anfangsKonfiguration()
# Definieren und Öffnen eines neuen Fensters
fenster = pygame.display.set_mode((Breite, Hoehe))
pygame.display.set_caption("Mein erstes Spiel")
clock = pygame.time.Clock()
# Schleife Hauptprogramm
counter = 0
while True:
geschwindigkeit = meinSpiel.geschwindigkeit # Geschwindigkeit des balles; niegdriger = schneller
counter+=1
# Ü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)
# Spielfeld löschen
for x in range(FelderX):
for y in range(FelderY):
fenster.blit(pyGameBilder[meinSpiel.spielfeld[x][y]],(x*Pixel,y*Pixel))
# Spielfeld/figuren zeichnen
meinSpiel.bewegeball2() if counter % geschwindigkeit == 0 else None
font = pygame.font.Font(None, 64)
text = font.render(f"{meinSpiel.punkte1}| {meinSpiel.punkte2}", False, WEISS)
textpos = text.get_rect(centerx=fenster.get_width() / 2, y=10)
fenster.blit(text, textpos)
# Fenster aktualisieren
pygame.display.flip()
clock.tick(FPS)