From 937085726c7d0ef34ecc1adc07aaf54d8068e87c Mon Sep 17 00:00:00 2001 From: alstergym Date: Tue, 29 Sep 2026 12:10:58 +0200 Subject: [PATCH] 29.09. --- Bilder/Gras4.xcf | Bin 12165 -> 11993 bytes Bilder/Gras5.xcf | Bin 4705 -> 8680 bytes Bilder/leer.xcf | Bin 0 -> 2220 bytes README.md | 4 +++- meinspiel.py | 61 +++++++++++++++++++---------------------------- starten.py | 27 +++++++++++++-------- 6 files changed, 44 insertions(+), 48 deletions(-) create mode 100644 Bilder/leer.xcf diff --git a/Bilder/Gras4.xcf b/Bilder/Gras4.xcf index bfbeb338ca59f55d079e1c73d950623fbfa9533b..f00a6cbc9939f45ada251c70eb0c87b0358b6154 100644 GIT binary patch delta 1585 zcmb_cu}Z^G6m9HPxCN{B(VD@f9YVpywT+M=6da474T6>o1#!|Pi^5y#AdZ2I4*7yW zz|Fx?XB`B8!GG|cq;=>NVgl#gdk(yF&*MVwr(fsEgc>{Vwd`x(r9QnHTKVkJlsxhU zGa8lS?Dc$>+i)t_VV*x@TDycphpT(1g+xkH}Bl<1}} zb|o2~VgpD7GhmwS$rX&L zUyifgb6IY~sbGhB7NvtNEZD_p0b*EE5y+}sh3lC6O*|PBmt3z3#kobc#FXf!D|RK> zBwGOz!3-Eyp{TUmIx*H--=R+`d{o>ALcu_AF^(y^PM|GnU a-mLF+>$%u@%4>EW$_dEVc}~xE_sw6Hr%HGL delta 1777 zcmcJQ&ui2`6vy56vGNujYtv?nD-;r;fm|$)Gxwebo5chF#FILw^Pb_H zGhR?e3(8>!H0u@tD~~d;G6pMfTlB6^{Pzv^y1!Gq{)e8)q&Aq;I)#@Hr~JR8LOtM_ z3Nr~=yf%JFzXkqTPieuql+KyLSWx^b`r{42C(dOOz%H6fSJpUvyX5bND?a0r9FylBtpCgE+U zOJqz5r_u~-g{h&9JG5!v;14sE*#Mg;-A%Iw1@q;E$Kisg`uORrw-%k)oFaRe)w$oF1+&VTdZPuhM($h@ynfG D0HAlZ diff --git a/Bilder/Gras5.xcf b/Bilder/Gras5.xcf index 928598d56689357231a2a07422bd6d4ebfde6322..814019314e9788c20270fb4dc34ceb6d2855c48b 100644 GIT binary patch literal 8680 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 X1QQh@C9eo?g<^}0FR~KBcLD!TC1bb8 delta 295 zcmaFi{7_|rQ#}g<1A`b4gJ?z|7G+>ywg%Dy>6y6&x|z9&>8ZNuMVTo;A+Y=!jpCBZ zoK%J4{G7}bO)ibJ^yK`U{2~PnFr{0Ro|LFy0EUK|K;B|gR_Vzx!h(}$uw0pJDZ9}%C%%*6c^WF03nM3jdSXoVOP LkL2bV(gAD$`Zhp4 diff --git a/Bilder/leer.xcf b/Bilder/leer.xcf new file mode 100644 index 0000000000000000000000000000000000000000..2464260aad9f43c8541df2e068f1464a0bcdee10 GIT binary patch literal 2220 zcmbtWTTj$L6kfalSw&IN#KecOY8EuxPKyC{v%7?wghT@264CHd+G%%^-qH?Oe9;Gg zgHQfDe+ZtlZFdJ`*#%E?I$vkb`R437b6J=B5lJnFoKRgafi!YO{0sCE=*S4Xo`8<8 zKo=^=6zCn$+n~>KjCM~;rO`joPPjl_wL;%#fq?H44nAIqnJJh}zH-qf>l>TfI5OEW z<-X~%svC0~`@nkS`E(*qJw}qy+HtMW3*#~YneITM>{Qk(%atYKc%dm2qR$cK zkY4c^lpfB{D}>Gf;n6h+Gsh0|RWN5xlgPAq;1Zp}Jg4Wr@{j6qzy;xf)n*CUq@m*^ zOh8~@FX0THH^u}_NlEjWFl|$qdE)L`jm6aW$O(%R9tO>duF?u&ffd>iQnRwZ_o2E_ zS!|UXg<}hH+7PBo0@G(rWi927x`Fjjm$^u`S-fldk;jzQ0)eNYfoXr2RjBYD_rcnr z#$27&>PC&|dVN-}zc+^T-HN%(1Jk<+M-CmyB&&9UBMl(3yTfX-Jd+OEef*=xfT2yv#*!k^CUN` zP{y&w1tT3 znieFgX@^Hlg=0>R%OC zYDPmv1T1P62SzkhD7_N`e-aXG<|ohpP{66=oZf(7BNCRn6h$7lOx%)2ztmo~=l*rZ z<=CyurNwAyz4H=}T1m#fNFN0(?ozz@M%Rv5z;NVNK0FF7UZ7{7FA*>PfHz#SpxBRI zN{*o^y^wHO!bHMvC45i9_a!_b;fH{6zCy+T;M_RZn;b(^dX4xD1lm^;mj47mcOm2L d0!eL=4de$I|CzO&cQJ 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