diff --git a/Bilder/Bird.jpg b/Bilder/Bird.jpg new file mode 100644 index 0000000..bc087ef Binary files /dev/null and b/Bilder/Bird.jpg differ diff --git a/Bilder/Grass.jpg b/Bilder/Grass.jpg new file mode 100644 index 0000000..27f468e Binary files /dev/null and b/Bilder/Grass.jpg differ diff --git a/Bilder/Hase.jpg b/Bilder/Hase.jpg new file mode 100644 index 0000000..1f821be Binary files /dev/null and b/Bilder/Hase.jpg differ diff --git a/Bilder/Sky_Backgound.jpg b/Bilder/Sky_Backgound.jpg new file mode 100644 index 0000000..4c78c65 Binary files /dev/null and b/Bilder/Sky_Backgound.jpg differ diff --git a/Bilder/cartoonsky.jpg b/Bilder/cartoonsky.jpg new file mode 100644 index 0000000..164c57f Binary files /dev/null and b/Bilder/cartoonsky.jpg differ diff --git a/Bilder/fliegbird.jpg b/Bilder/fliegbird.jpg new file mode 100644 index 0000000..48f84d3 Binary files /dev/null and b/Bilder/fliegbird.jpg differ diff --git a/Bilder/gutegrapes.jpg b/Bilder/gutegrapes.jpg new file mode 100644 index 0000000..b4545c7 Binary files /dev/null and b/Bilder/gutegrapes.jpg differ diff --git a/Bilder/guterock.png b/Bilder/guterock.png new file mode 100644 index 0000000..a7cf369 Binary files /dev/null and b/Bilder/guterock.png differ diff --git a/Bilder/himmel.jpg b/Bilder/himmel.jpg new file mode 100644 index 0000000..28c3119 Binary files /dev/null and b/Bilder/himmel.jpg differ diff --git a/Bilder/yeswolke.jpg b/Bilder/yeswolke.jpg new file mode 100644 index 0000000..ab3ac98 Binary files /dev/null and b/Bilder/yeswolke.jpg differ diff --git a/README.md b/README.md index 2356afd..75d0d4e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,52 @@ # E-To-Tim-Hasenspiel +## Meine Spielidee +### Bird Dodge +Man spielt einen Vogel der verschiedenen schlechten Objekten, die auf ihn fallen, ausweichen muss. +Zwischendurch werden auch gute Objekte vom Himmel fallen, wie zum Beispiel Beeren oder Früchte. Jedes gute Objekt das aufgesammelt wurde bringt dem Spieler einen Punkt zu seinem Score. +Das Ziel ist es, so viele Punkte wie möglich zu sammeln, bevor man von einem schlechten Objekt getroffen wird, um so seinen Highscore zu erhöhen. + +Den Vogel steuert man frei in jede richtung, während die Objekte von oben auf ihn herabregnen. +Gesteuert wird mit den Tasten W, A, S und D. + +## Protokoll + +### 8.9.2026 +Spieleidee entwickelt und erläutert. +Bildquellen angegeben und die Bilder soweit bearbeitet das sie zumindest annähernd zum Hintergrund passen. +Die erten Bilder eingefügt und auf dem Spielfeld sichtbar gemacht. +Farben der Bilder nochmal angepasst um fließend in den Hintergrund zu verlaufen. + +### 9.9.2026 +Repositorie gemacht. + + + + + + + + + + + + + + + + + + + + +## Bildquellen: +[Grass Image by macrovector on Freepik](https://www.freepik.com/free-vector/seamless-green-grass-pattern_13187581.htm#query=grass%20texture&position=0&from_view=keyword&track=ais&uuid=c689b011-652b-4ad1-a90a-bf3c50762622) + +[Rabbit Symbol by torskaya on Freepik](https://www.freepik.com/icon/rabbit_2687160#fromView=search&page=1&position=19&uuid=3c377ca9-cb56-4be7-aebe-0bcac1702034) + +[yeswolke.jpg](www.bing.com/images/search?view=detailV2&ccid=E5%2bJsB2O&id=A3C6BBE734440900D253934B9F9350FC46654B35&thid=OIP.E5-JsB2OHCJtmmhRyAypoQHaHa&mediaurl=https%3a%2f%2fimg.freepik.com%2fvektoren-premium%2fcartoon-ikone-der-kleinen-flauschigen-wolke-die-am-himmel-fliegt-flaches-vektorelement-fuer-kindergeschichtenbuch-oder-grusskarte_223337-8447.jpg&cdnurl=https%3a%2f%2fth.bing.com%2fth%2fid%2fR.139f89b01d8e1c226d9a6851c80ca9a1%3frik%3dNUtlRvxQk59Lkw%26pid%3dImgRaw%26r%3d0&exph=626&expw=626&q=Himmel+Cartoon+eine+wolke&FORM=IRPRST&ck=64C23B90BE4690235DC3AA895E2709CA&selectedIndex=83&itb=0) + +[gutegrapes.jpg](https://www.bing.com/images/search?view=detailV2&ccid=7oQw0V%2f%2b&id=8F7F7F206A9968FEACBE6C5CCD22FDC66E63DB03&thid=OIP.7oQw0V_-HdYi2jNF6hindwHaE6&mediaurl=https%3a%2f%2fwww.freepnglogos.com%2fuploads%2fgrapes-png%2fmzr-red-grapes-36.png&cdnurl=https%3a%2f%2fth.bing.com%2fth%2fid%2fR.ee8430d15ffe1dd622da3345ea18a777%3frik%3dA9tjbsb9Is1cbA%26pid%3dImgRaw%26r%3d0&exph=1329&expw=2000&q=grapes+png&FORM=IRPRST&ck=2EEA2DED2F6A363B7A07A1CA7C30E2FA&selectedIndex=0&itb=1&ajaxhist=0&ajaxserp=0) + +[guterock.jpg](https://www.bing.com/images/search?view=detailV2&ccid=M%2bC3yN5b&id=19F3110BB8E1E41DF53EC745E364C1DB82627B7D&thid=OIP.M-C3yN5b1chAbGPzB3JW-gHaF-&mediaurl=https%3a%2f%2fi.pinimg.com%2foriginals%2f08%2f5d%2fb3%2f085db39af6bdf1f0d607584bd8f105d3.png&cdnurl=https%3a%2f%2fth.bing.com%2fth%2fid%2fR.33e0b7c8de5bd5c8406c63f3077256fa%3frik%3dfXtigtvBZONFxw%26pid%3dImgRaw%26r%3d0&exph=1168&expw=1447&q=rock+png&FORM=IRPRST&ck=D88D06FCC99FCCFAB523D24E40310DE2&selectedIndex=3&itb=1&ajaxhist=0&ajaxserp=0) + diff --git a/meinspiel.py b/meinspiel.py new file mode 100644 index 0000000..0a8c66c --- /dev/null +++ b/meinspiel.py @@ -0,0 +1,42 @@ +import copy +import pygame + +class MeinSpiel: + bilder = ["Bilder/fliegbird.jpg","Bilder/guterock.png","Bilder/yeswolke.jpg","Bilder/gutegrapes.jpg"] + spielfeld = [] + + def __init__(self, felderX, felderY): + for x in range(felderX): + self.spielfeld.append([]) + for y in range(felderY): + self.spielfeld[x].append(2) + + def anfangsKonfiguration(self): + #self.spielfeld[6][5] = 0 + #self.spielfeld[6][6] = 3 + #self.spielfeld[6][7] = 1 + #def tasteGedrueckt(self, taste): + print("taste gedrückt") + + def tasteGedrueckt(self, taste): + if pygame.K_d == taste : + print("right") + self.spielfeld[0][13] = 0 + for x in range(len(self.spielfeld)): + for y in range(len(self.spielfeld)): + if self.spielfeld[x][y] == 0: + self.spielfeld[x + 1][y] = 0 + self.spielfeld[x][y] = 2 + + + + + #def tasteGedrueckt(self, taste): + if pygame.K_d == taste: + for x in range(len(self.spielfeld)): + for y in range(len(self.spielfeld)): + if self.spielfeld[x][y] == 0: + self.spielfeld[x + 1][y] = 0 + self.spielfeld[x][y] = 2 + + diff --git a/starten.py b/starten.py new file mode 100644 index 0000000..0fbf230 --- /dev/null +++ b/starten.py @@ -0,0 +1,50 @@ +# Importieren u. initialisieren der Pygame-Bibliothek +from meinspiel import MeinSpiel +import pygame +from pygame.locals import * +pygame.init() + + +# Variablen/KONSTANTEN setzen +Breite, Hoehe = 840, 840 +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 +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): + 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 + + # Fenster aktualisieren + pygame.display.flip() + clock.tick(FPS) \ No newline at end of file