09.09.2026
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
@@ -2,6 +2,14 @@
|
|||||||
|
|
||||||
##Spielidee
|
##Spielidee
|
||||||
|
|
||||||
|
Ich würd gerne ein Memory spiel erstellen. Das Spiel soll 16 Karten haben und somit 8 unterschiedliche Motive. Der Spieler soll mit der Maus die Karten umdreken können. Sobald man ein falsches Paar aufdeckt, sollen sich beide Karten wieder umdrehen. Wenn das Paar richtig aufgedeckt wurde, sollen die Karten vom Spielfeld verschwinden. Wenn alle Katen aufgedeckt wurden, soll sich der Bildschirm ändern und anzeigen, dass man das Spiel gewonnen hat. Eventuell würde ich auch gern ein Timer einbauen, sodass man probieren kann gegen die Zeit zu spielen.
|
||||||
|
|
||||||
##Protkoll
|
##Protkoll
|
||||||
|
09.09.2026
|
||||||
|
Ich habe eine fertige Spielidee und angefangen mich ums Aussehen und Hintergrund zu kümmern
|
||||||
|
|
||||||
|
# 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)
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
import copy
|
||||||
|
import pygame
|
||||||
|
|
||||||
|
class MeinSpiel:
|
||||||
|
bilder = ["Bilder/Hintergrund.jpg","Bilder/Hase.jpg"]
|
||||||
|
spielfeld = []
|
||||||
|
|
||||||
|
def __init__(self, felderX, felderY):
|
||||||
|
for x in range(felderX):
|
||||||
|
self.spielfeld.append([])
|
||||||
|
for y in range(felderY):
|
||||||
|
self.spielfeld[x].append(0)
|
||||||
|
|
||||||
|
def anfangsKonfiguration(self):
|
||||||
|
self.spielfeld[5][5] = 1
|
||||||
|
self.spielfeld[6][2] = 2
|
||||||
|
|
||||||
|
def tasteGedrueckt(self, taste):
|
||||||
|
print("taste gedrückt")
|
||||||
|
|
||||||
|
|
||||||
+51
@@ -0,0 +1,51 @@
|
|||||||
|
# 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)
|
||||||
|
|
||||||
Reference in New Issue
Block a user