29.09.
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -14,8 +14,10 @@ Ich habe ein paar Bugs entfernt (z.B. beim Laden der Grafiken) und versucht, das
|
|||||||
Zu Hause habe ich es endlich geschafft, das Raster zu verschieben.
|
Zu Hause habe ich es endlich geschafft, das Raster zu verschieben.
|
||||||
|
|
||||||
#### 22.09.
|
#### 22.09.
|
||||||
|
Ich habe ein Monster programmiert, das scih zufällig bewegt. Es bewegt sich aber noch nicht ganz so schön...
|
||||||
|
|
||||||
|
#### 29.09.
|
||||||
|
Ich habe das Spielfeld in Ebenen augeteilt. Eine für den Hintergrund und eine für die Spielfiguren.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+24
-37
@@ -7,47 +7,42 @@ pygame.mixer.init()
|
|||||||
class MeinSpiel:
|
class MeinSpiel:
|
||||||
hintergrundstile = ["Sand","Gras"]
|
hintergrundstile = ["Sand","Gras"]
|
||||||
hintergrundstil = random.choice(hintergrundstile)
|
hintergrundstil = random.choice(hintergrundstile)
|
||||||
bilder = ["Bilder/Spieler.xcf"]
|
ebene0bilder = []
|
||||||
for i in range(6):
|
for i in range(6):
|
||||||
bilder.append("Bilder/"+hintergrundstil+str(i+1)+".xcf")
|
ebene0bilder.append("Bilder/"+hintergrundstil+str(i+1)+".xcf")
|
||||||
bilder.append("Bilder/Monster.xcf")
|
ebene0feld = []
|
||||||
spielfeld = []
|
ebene1bilder = ["Bilder/leer.xcf","Bilder/Spieler.xcf","Bilder/Monster.xcf",]
|
||||||
feldunterspieler=random.randint(1,5)
|
ebene1feld = []
|
||||||
felduntermonster=random.randint(1,5)
|
|
||||||
game_over = False
|
game_over = False
|
||||||
|
|
||||||
def __init__(self, felderX, felderY):
|
def __init__(self, felderX, felderY):
|
||||||
for x in range(felderX):
|
for x in range(felderX):
|
||||||
self.spielfeld.append([])
|
self.ebene0feld.append([])
|
||||||
for y in range(felderY):
|
for y in range(felderY):
|
||||||
self.spielfeld[x].append(random.randint(1,6))
|
self.ebene0feld[x].append(random.randint(0,5))
|
||||||
|
|
||||||
|
for x in range(felderX):
|
||||||
|
self.ebene1feld.append([])
|
||||||
|
for y in range(felderY):
|
||||||
|
self.ebene1feld[x].append(0)
|
||||||
|
|
||||||
def anfangsKonfiguration(self):
|
def anfangsKonfiguration(self):
|
||||||
self.spielerx = random.randint(5,9)
|
self.spielerx = random.randint(5,9)
|
||||||
self.spielery = random.randint(5,9)
|
self.spielery = random.randint(5,9)
|
||||||
self.spielfeld[self.spielerx][self.spielery] = 1
|
self.ebene1feld[self.spielerx][self.spielery] = 1
|
||||||
self.monsterx = random.randint(5,9)
|
self.monsterx = random.randint(5,9)
|
||||||
self.monstery = random.randint(5,9)
|
self.monstery = random.randint(5,9)
|
||||||
self.spielfeld[self.monsterx][self.monstery] = 1
|
self.ebene1feld[self.monsterx][self.monstery] = 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def spawnSpieler(self):
|
def spawnSpieler(self):
|
||||||
self.spielfeld[self.spielerx][self.spielery] = 0
|
|
||||||
self.spielfeld[self.monsterx][self.monstery] = self.felduntermonster
|
|
||||||
self.altmonsterx = self.monsterx
|
self.altmonsterx = self.monsterx
|
||||||
self.altmonstery = self.monstery
|
self.altmonstery = self.monstery
|
||||||
self.felduntermonsteralt = self.felduntermonster
|
|
||||||
self.monsterx,self.monstery = monster.bewegen(monster,self.monsterx,self.monstery)
|
self.monsterx,self.monstery = monster.bewegen(monster,self.monsterx,self.monstery)
|
||||||
self.felduntermonster = self.spielfeld[self.monsterx][self.monstery]
|
if self.ebene0feld[self.monsterx][self.monstery] == 5:
|
||||||
|
self.ebene1feld[self.altmonsterx][self.altmonstery] = 2
|
||||||
if self.felduntermonster != 6:
|
self.ebene1feld[self.monsterx][self.monstery] = 0
|
||||||
self.spielfeld[self.monsterx][self.monstery] = 7
|
|
||||||
|
|
||||||
else:
|
|
||||||
self.spielfeld[self.altmonsterx][self.altmonstery] = 7
|
|
||||||
self.spielfeld[self.monsterx][self.monstery] = 6
|
|
||||||
self.felduntermonster = self.felduntermonsteralt
|
|
||||||
self.monsterx = self.altmonsterx
|
self.monsterx = self.altmonsterx
|
||||||
self.monstery = self.altmonstery
|
self.monstery = self.altmonstery
|
||||||
|
|
||||||
@@ -66,9 +61,8 @@ class MeinSpiel:
|
|||||||
|
|
||||||
def bewegen(self,taste,xverschiebungaktuell,yverschiebungaktuell):
|
def bewegen(self,taste,xverschiebungaktuell,yverschiebungaktuell):
|
||||||
verschiebung = [0,0]
|
verschiebung = [0,0]
|
||||||
self.spielfeld[self.spielerx][self.spielery] = self.feldunterspieler
|
self.altspielerx = self.spielerx
|
||||||
posalt=[self.spielerx,self.spielery]
|
self.altspielery = self.spielery
|
||||||
feldunterspieleralt=self.feldunterspieler
|
|
||||||
|
|
||||||
if taste == 1 and self.spielerx < 41:
|
if taste == 1 and self.spielerx < 41:
|
||||||
self.rechts()
|
self.rechts()
|
||||||
@@ -82,13 +76,12 @@ class MeinSpiel:
|
|||||||
if taste == 4 and self.spielery > 0:
|
if taste == 4 and self.spielery > 0:
|
||||||
self.oben()
|
self.oben()
|
||||||
sound.Schrittsound(sound)
|
sound.Schrittsound(sound)
|
||||||
self.feldunterspieler = self.spielfeld[self.spielerx][self.spielery]
|
if self.ebene0feld[self.spielerx][self.spielery]== 5:
|
||||||
if self.feldunterspieler== 6:
|
self.ebene1feld[self.spielerx][self.spielery] = 0
|
||||||
self.spielerx,self.spielery = posalt
|
self.spielerx,self.spielery = self.altspielerx,self.altspielery
|
||||||
self.feldunterspieler=feldunterspieleralt
|
|
||||||
verschiebung = self.hinergrundverschieben(xverschiebungaktuell,yverschiebungaktuell)
|
verschiebung = self.hinergrundverschieben(xverschiebungaktuell,yverschiebungaktuell)
|
||||||
|
self.ebene1feld[self.altspielerx][self.altspielery] = 0
|
||||||
self.spielfeld[self.spielerx][self.spielery] = 0
|
self.ebene1feld[self.spielerx][self.spielery] = 1
|
||||||
return verschiebung
|
return verschiebung
|
||||||
|
|
||||||
|
|
||||||
@@ -135,12 +128,6 @@ class monster:
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
def bewegen(self,xpos,ypos):
|
def bewegen(self,xpos,ypos):
|
||||||
print(self.cooldowny)
|
|
||||||
print()
|
|
||||||
print(self.cooldownx)
|
|
||||||
print()
|
|
||||||
print()
|
|
||||||
print()
|
|
||||||
xrichtung = random.randint(1,50*(self.cooldownx))
|
xrichtung = random.randint(1,50*(self.cooldownx))
|
||||||
if xrichtung == 1 and xpos < 41:
|
if xrichtung == 1 and xpos < 41:
|
||||||
xpos += 1
|
xpos += 1
|
||||||
|
|||||||
+17
-10
@@ -14,22 +14,26 @@ FPS = 60
|
|||||||
SCHWARZ = ( 0, 0, 0)
|
SCHWARZ = ( 0, 0, 0)
|
||||||
WEISS = ( 255, 255, 255)
|
WEISS = ( 255, 255, 255)
|
||||||
Beigegelb = ( 226, 181, 97 )
|
Beigegelb = ( 226, 181, 97 )
|
||||||
pyGameBilder = []
|
pyGameBilderebene0 = []
|
||||||
|
pyGameBilderebene1 = []
|
||||||
xverschiebung = 0
|
xverschiebung = 0
|
||||||
yverschiebung = 0
|
yverschiebung = 0
|
||||||
verschiebung = [0,0]
|
verschiebung = [0,0]
|
||||||
|
|
||||||
# Bilder aus meinSpiel werden für pygame vorbereitet
|
# Bilder aus meinSpiel werden für pygame vorbereitet
|
||||||
meinSpiel = MeinSpiel(FelderX, FelderY)
|
ebene0 = MeinSpiel(FelderX, FelderY)
|
||||||
for fname in meinSpiel.bilder:
|
for fname in ebene0.ebene0bilder:
|
||||||
pyGameBilder.append(pygame.image.load(fname))
|
pyGameBilderebene0.append(pygame.image.load(fname))
|
||||||
|
ebene1 = MeinSpiel(FelderX, FelderY)
|
||||||
|
for fname in ebene1.ebene1bilder:
|
||||||
|
pyGameBilderebene1.append(pygame.image.load(fname))
|
||||||
|
|
||||||
#Anfangskonfiguration für das Spielfeld wird geladen
|
#Anfangskonfiguration für das Spielfeld wird geladen
|
||||||
meinSpiel.anfangsKonfiguration()
|
ebene0.anfangsKonfiguration()
|
||||||
|
|
||||||
# Definieren und Öffnen eines neuen Fensters
|
# Definieren und Öffnen eines neuen Fensters
|
||||||
fenster = pygame.display.set_mode((Breite, Hoehe))
|
fenster = pygame.display.set_mode((Breite, Hoehe))
|
||||||
pygame.display.set_caption("Mein erstes Spiel")
|
pygame.display.set_caption("jjajajajjajajjaaa")
|
||||||
clock = pygame.time.Clock()
|
clock = pygame.time.Clock()
|
||||||
|
|
||||||
# Schleife Hauptprogramm
|
# Schleife Hauptprogramm
|
||||||
@@ -39,19 +43,22 @@ while True:
|
|||||||
# Ü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) or meinSpiel.game_over == True:
|
if event.type==QUIT or (event.type==KEYDOWN and event.key==K_ESCAPE) or ebene0.game_over == True:
|
||||||
pygame.quit()
|
pygame.quit()
|
||||||
if event.type==KEYDOWN:
|
if event.type==KEYDOWN:
|
||||||
verschiebung = meinSpiel.bewegen(event.key-1073741902,xverschiebung,yverschiebung)
|
verschiebung = ebene0.bewegen(event.key-1073741902,xverschiebung,yverschiebung)
|
||||||
|
|
||||||
# Spielfeld löschen
|
# Spielfeld löschen
|
||||||
xverschiebung += verschiebung[0]
|
xverschiebung += verschiebung[0]
|
||||||
yverschiebung += verschiebung[1]
|
yverschiebung += verschiebung[1]
|
||||||
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(pyGameBilderebene0[ebene0.ebene0feld[x][y]],((x+xverschiebung)*Pixel,(y+yverschiebung)*Pixel))
|
||||||
|
for x in range(FelderX):
|
||||||
|
for y in range(FelderY):
|
||||||
|
fenster.blit(pyGameBilderebene1[ebene1.ebene1feld[x][y]],((x+xverschiebung)*Pixel,(y+yverschiebung)*Pixel))
|
||||||
# Spielfeld/figuren zeichnen
|
# Spielfeld/figuren zeichnen
|
||||||
meinSpiel.spawnSpieler()
|
ebene0.spawnSpieler()
|
||||||
# Fenster aktualisieren
|
# Fenster aktualisieren
|
||||||
pygame.display.flip()
|
pygame.display.flip()
|
||||||
clock.tick(FPS)
|
clock.tick(FPS)
|
||||||
Reference in New Issue
Block a user