Stundenende 16.09. (Ist mein Spiel dieses Mal wenigstens in Ordnung?)

This commit is contained in:
alstergym
2026-09-16 11:00:27 +02:00
parent ce1efec3cb
commit e9d80c72a7
3 changed files with 23 additions and 16 deletions
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 860 B

After

Width:  |  Height:  |  Size: 4.4 KiB

+20 -13
View File
@@ -3,8 +3,11 @@ import pygame
import random import random
class MeinSpiel: class MeinSpiel:
bilder = ["Bilder/1.jpg", "Bilder/1.jpg", "Bilder/2.jpg", "Bilder/3.jpg", "Bilder/4.jpg", "Bilder/5.jpg", "Bilder/Hase.jpg"] bilder = []
for i in range(20):
bilder.append("Bilder/"+str(i)+".jpg")
spielfeld = [] spielfeld = []
feldunterspieler=random.randint(0,5)
def __init__(self, felderX, felderY): def __init__(self, felderX, felderY):
for x in range(felderX): for x in range(felderX):
@@ -26,9 +29,11 @@ class MeinSpiel:
def unten(self): def unten(self):
self.spielery += 1 self.spielery += 1
def bewegen(self,taste): def bewegen(self,taste,xverschiebungaktuell,yverschiebungaktuell):
verschiebung = [0,0] verschiebung = [0,0]
self.spielfeld[self.spielerx][self.spielery] = 0 self.spielfeld[self.spielerx][self.spielery] = self.feldunterspieler
posalt=[self.spielerx,self.spielery]
feldunterspieleralt=self.feldunterspieler
if taste == 1: if taste == 1:
self.rechts() self.rechts()
if taste == 2: if taste == 2:
@@ -37,25 +42,27 @@ class MeinSpiel:
self.unten() self.unten()
if taste == 4: if taste == 4:
self.oben() self.oben()
self.feldunterspieler = self.spielfeld[self.spielerx][self.spielery]
verschiebung = self.hinergrundverschieben() if self.feldunterspieler== 5:
self.spielerx,self.spielery = posalt
self.feldunterspieler=feldunterspieleralt
verschiebung = self.hinergrundverschieben(xverschiebungaktuell,yverschiebungaktuell)
self.spielfeld[self.spielerx][self.spielery] = 6 self.spielfeld[self.spielerx][self.spielery] = 6
return verschiebung return verschiebung
def hinergrundverschieben(self,xverschiebungaktuell,yverschiebungaktuell):
def hinergrundverschieben(self):
xverschiebung=0 xverschiebung=0
yverschiebung=0 yverschiebung=0
if self.spielerx >= 13: if self.spielerx >= 11-xverschiebungaktuell:
xverschiebung = -1 xverschiebung = -1
if self.spielerx <= 1: if self.spielerx <= 2-xverschiebungaktuell:
xverschiebung = 1 xverschiebung = 1
if self.spielery >= 13: if self.spielery >= 11-yverschiebungaktuell:
yverschiebung = -1 yverschiebung = -1
if self.spielery <= 1: if self.spielery <= 2-yverschiebungaktuell:
yverschiebung = 1 yverschiebung = 1
verschiebung=[xverschiebung,yverschiebung] verschiebung=[xverschiebung,yverschiebung]
return verschiebung return verschiebung
+3 -3
View File
@@ -15,6 +15,7 @@ WEISS = ( 255, 255, 255)
pyGameBilder = [] pyGameBilder = []
xverschiebung = 0 xverschiebung = 0
yverschiebung = 0 yverschiebung = 0
verschiebung = [0,0]
# Bilder aus meinSpiel werden für pygame vorbereitet # Bilder aus meinSpiel werden für pygame vorbereitet
meinSpiel = MeinSpiel(FelderX, FelderY) meinSpiel = MeinSpiel(FelderX, FelderY)
@@ -31,14 +32,14 @@ clock = pygame.time.Clock()
# Schleife Hauptprogramm # Schleife Hauptprogramm
while True: while True:
verschiebung = [0,0] verschiebung=[0,0]
# Überprüfen, ob Nutzer eine Aktion durchgeführt hat # Überprüfen, ob Nutzer eine Aktion durchgeführt hat
for event in pygame.event.get(): for event in pygame.event.get():
# Beenden bei [ESC] oder [X] # Beenden bei [ESC] oder [X]
if event.type==QUIT or (event.type==KEYDOWN and event.key==K_ESCAPE): if event.type==QUIT or (event.type==KEYDOWN and event.key==K_ESCAPE):
pygame.quit() pygame.quit()
if event.type==KEYDOWN: if event.type==KEYDOWN:
verschiebung = meinSpiel.bewegen(event.key-1073741902) verschiebung = meinSpiel.bewegen(event.key-1073741902,xverschiebung,yverschiebung)
# Spielfeld löschen # Spielfeld löschen
xverschiebung += verschiebung[0] xverschiebung += verschiebung[0]
@@ -46,7 +47,6 @@ while True:
for x in range(FelderX): for x in range(FelderX):
for y in range(FelderY): for y in range(FelderY):
fenster.blit(pyGameBilder[meinSpiel.spielfeld[x][y]],((x+xverschiebung)*Pixel,(y+yverschiebung)*Pixel)) fenster.blit(pyGameBilder[meinSpiel.spielfeld[x][y]],((x+xverschiebung)*Pixel,(y+yverschiebung)*Pixel))
# Spielfeld/figuren zeichnen # Spielfeld/figuren zeichnen
# Fenster aktualisieren # Fenster aktualisieren