diff --git a/Bilder/Gras4.xcf b/Bilder/Gras4.xcf index bfbeb33..f00a6cb 100644 Binary files a/Bilder/Gras4.xcf and b/Bilder/Gras4.xcf differ diff --git a/Bilder/Gras5.xcf b/Bilder/Gras5.xcf index 928598d..8140193 100644 Binary files a/Bilder/Gras5.xcf and b/Bilder/Gras5.xcf differ diff --git a/Bilder/leer.xcf b/Bilder/leer.xcf new file mode 100644 index 0000000..2464260 Binary files /dev/null and b/Bilder/leer.xcf differ diff --git a/README.md b/README.md index b902a75..616917c 100644 --- a/README.md +++ b/README.md @@ -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. #### 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. diff --git a/meinspiel.py b/meinspiel.py index e34945c..4f0003a 100644 --- a/meinspiel.py +++ b/meinspiel.py @@ -7,47 +7,42 @@ pygame.mixer.init() class MeinSpiel: hintergrundstile = ["Sand","Gras"] hintergrundstil = random.choice(hintergrundstile) - bilder = ["Bilder/Spieler.xcf"] + ebene0bilder = [] for i in range(6): - bilder.append("Bilder/"+hintergrundstil+str(i+1)+".xcf") - bilder.append("Bilder/Monster.xcf") - spielfeld = [] - feldunterspieler=random.randint(1,5) - felduntermonster=random.randint(1,5) + ebene0bilder.append("Bilder/"+hintergrundstil+str(i+1)+".xcf") + ebene0feld = [] + ebene1bilder = ["Bilder/leer.xcf","Bilder/Spieler.xcf","Bilder/Monster.xcf",] + ebene1feld = [] game_over = False def __init__(self, felderX, felderY): for x in range(felderX): - self.spielfeld.append([]) + self.ebene0feld.append([]) 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): self.spielerx = 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.monstery = random.randint(5,9) - self.spielfeld[self.monsterx][self.monstery] = 1 + self.ebene1feld[self.monsterx][self.monstery] = 2 def spawnSpieler(self): - self.spielfeld[self.spielerx][self.spielery] = 0 - self.spielfeld[self.monsterx][self.monstery] = self.felduntermonster self.altmonsterx = self.monsterx self.altmonstery = self.monstery - self.felduntermonsteralt = self.felduntermonster self.monsterx,self.monstery = monster.bewegen(monster,self.monsterx,self.monstery) - self.felduntermonster = self.spielfeld[self.monsterx][self.monstery] - - if self.felduntermonster != 6: - 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 + if self.ebene0feld[self.monsterx][self.monstery] == 5: + self.ebene1feld[self.altmonsterx][self.altmonstery] = 2 + self.ebene1feld[self.monsterx][self.monstery] = 0 self.monsterx = self.altmonsterx self.monstery = self.altmonstery @@ -66,9 +61,8 @@ class MeinSpiel: def bewegen(self,taste,xverschiebungaktuell,yverschiebungaktuell): verschiebung = [0,0] - self.spielfeld[self.spielerx][self.spielery] = self.feldunterspieler - posalt=[self.spielerx,self.spielery] - feldunterspieleralt=self.feldunterspieler + self.altspielerx = self.spielerx + self.altspielery = self.spielery if taste == 1 and self.spielerx < 41: self.rechts() @@ -82,13 +76,12 @@ class MeinSpiel: if taste == 4 and self.spielery > 0: self.oben() sound.Schrittsound(sound) - self.feldunterspieler = self.spielfeld[self.spielerx][self.spielery] - if self.feldunterspieler== 6: - self.spielerx,self.spielery = posalt - self.feldunterspieler=feldunterspieleralt + if self.ebene0feld[self.spielerx][self.spielery]== 5: + self.ebene1feld[self.spielerx][self.spielery] = 0 + self.spielerx,self.spielery = self.altspielerx,self.altspielery verschiebung = self.hinergrundverschieben(xverschiebungaktuell,yverschiebungaktuell) - - self.spielfeld[self.spielerx][self.spielery] = 0 + self.ebene1feld[self.altspielerx][self.altspielery] = 0 + self.ebene1feld[self.spielerx][self.spielery] = 1 return verschiebung @@ -135,12 +128,6 @@ class monster: def __init__(self): pass def bewegen(self,xpos,ypos): - print(self.cooldowny) - print() - print(self.cooldownx) - print() - print() - print() xrichtung = random.randint(1,50*(self.cooldownx)) if xrichtung == 1 and xpos < 41: xpos += 1 diff --git a/starten.py b/starten.py index 52111df..0356f4d 100644 --- a/starten.py +++ b/starten.py @@ -14,22 +14,26 @@ FPS = 60 SCHWARZ = ( 0, 0, 0) WEISS = ( 255, 255, 255) Beigegelb = ( 226, 181, 97 ) -pyGameBilder = [] +pyGameBilderebene0 = [] +pyGameBilderebene1 = [] xverschiebung = 0 yverschiebung = 0 verschiebung = [0,0] # Bilder aus meinSpiel werden für pygame vorbereitet -meinSpiel = MeinSpiel(FelderX, FelderY) -for fname in meinSpiel.bilder: - pyGameBilder.append(pygame.image.load(fname)) +ebene0 = MeinSpiel(FelderX, FelderY) +for fname in ebene0.ebene0bilder: + 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 -meinSpiel.anfangsKonfiguration() +ebene0.anfangsKonfiguration() # Definieren und Öffnen eines neuen Fensters fenster = pygame.display.set_mode((Breite, Hoehe)) -pygame.display.set_caption("Mein erstes Spiel") +pygame.display.set_caption("jjajajajjajajjaaa") clock = pygame.time.Clock() # Schleife Hauptprogramm @@ -39,19 +43,22 @@ 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) 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() if event.type==KEYDOWN: - verschiebung = meinSpiel.bewegen(event.key-1073741902,xverschiebung,yverschiebung) + verschiebung = ebene0.bewegen(event.key-1073741902,xverschiebung,yverschiebung) # Spielfeld löschen xverschiebung += verschiebung[0] yverschiebung += verschiebung[1] for x in range(FelderX): 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 - meinSpiel.spawnSpieler() + ebene0.spawnSpieler() # Fenster aktualisieren pygame.display.flip() clock.tick(FPS) \ No newline at end of file