9.9.2026
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||