13.05.2026, 21:44
(Dieser Beitrag wurde zuletzt bearbeitet: 13.05.2026, 23:14 von Xenos Yifu.)

Code:
# Importieren der notwendigen Bibliotheken
import pygame
import time
import random
# Initialisieren von Pygame
pygame.init()
# Festlegen der Farben
weiß = (255, 255, 255)
schwarz = (0, 0, 0)
rot = (213, 50, 80)
grün = (0, 255, 0)
blau = (50, 153, 213)
# Festlegen der Schriftarten
schriftart = pygame.font.SysFont("bahnschrift", 25)
schlussmeldung_schriftart = pygame.font.SysFont("comicsansms", 50)
# Initialisieren des Spielbretts
spiel_breite = 800
spiel_höhe = 600
spiel_fenster = pygame.display.set_mode((spiel_breite, spiel_höhe))
pygame.display.set_caption('Snake-Spiel')
# Festlegen der Spielgeschwindigkeit
spiel_clock = pygame.time.Clock()
snake_geschwindigkeit = 15
# Größe und Schrittgröße des Snakes festlegen
snake_block = 10
snake_schritt = 10
# Funktion zum Anzeigen des Textes auf dem Spielfeld
def text_anzeigen(text, schriftart, farbe, x, y):
fenster_text = schriftart.render(text, True, farbe)
spiel_fenster.blit(fenster_text, [x, y])
# Funktion für das Ende des Spiels und die Anzeige der Schlussmeldung
def schluss_botschaft(spiel_fenster, schriftart):
fenster_text = schlussmeldung_schriftart.render("Verloren! drücke C zum Wiederholen oder Q zum Beenden", True, rot)
spiel_fenster.blit(fenster_text, [spiel_breite / 6, spiel_höhe / 3])
pygame.display.update()
# Hauptfunktion des Spiels
def snake_spiel():
game_over = False
game_close = False
# Startposition des Snakes
x1 = spiel_breite / 2
y1 = spiel_höhe / 2
# Änderung der Position des Snakes
x1_change = 0
y1_change = 0
# Liste für das Snake-Gestell erstellen
snake_List = []
Länge_des_Snakes = 1
# Position der Frucht zufällig generieren
frucht_x = round(random.randrange(0, spiel_breite - snake_block) / 10.0) * 10.0
frucht_y = round(random.randrange(0, spiel_höhe - snake_block) / 10.0) * 10.0
while not game_over:
# Loop für das Spielende und Anzeige der Schlussmeldung
while game_close == True:
spiel_fenster.fill(blau)
schluss_botschaft(spiel_fenster, schlussmeldung_schriftart)
text_anzeigen("Deine Länge: " + str(Länge_des_Snakes - 1), schriftart, weiß, spiel_breite / 6, spiel_höhe / 2.5)
pygame.display.update()
# Überprüfung auf die Tastendrücke
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_q:
game_over = True
game_close = False
if event.key == pygame.K_c:
snake_spiel()
# Überprüfung auf die Tastendrücke für die Bewegung des Snakes
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x1_change = -snake_schritt
y1_change = 0
elif event.key == pygame.K_RIGHT:
x1_change = snake_schritt
y1_change = 0
elif event.key == pygame.K_UP:
y1_change = -snake_schritt
x1_change = 0
elif event.key == pygame.K_DOWN:
y1_change = snake_schritt
x1_change = 0
# Überprüfung auf Ausstieg aus dem Spielfeld
if x1 >= spiel_breite or x1 < 0 or y1 >= spiel_höhe or y1 < 0:
game_close = True
# Aktualisierung der Position des Snakes
x1 += x1_change
y1 += y1_change
spiel_fenster.fill(blau)
pygame.draw.rect(spiel_fenster, grün, [frucht_x, frucht_y, snake_block, snake_block])
snake_öhrchen = []
snake_öhrchen.append(x1)
snake_öhrchen.append(y1)
snake_List.append(snake_öhrchen)
# Überprüfung auf Überschneidung des Snakes
if len(snake_List) > Länge_des_Snakes:
del snake_List[0]
for x in snake_List[:-1]:
if x == snake_öhrchen:
game_close = True
# Anzeige der Snake auf dem Spielfeld
for segment in snake_List:
pygame.draw.rect(spiel_fenster, schwarz, [segment[0], segment[1], snake_block, snake_block])
# Aktualisierung des Displays und Verzögerung des Spiels
pygame.display.update()
# Überprüfung auf das Auffangen der Frucht und Anpassung der Länge des Snakes
if x1 == frucht_x and y1 == frucht_y:
frucht_x = round(random.randrange(0, spiel_breite - snake_block) / 10.0) * 10.0
frucht_y = round(random.randrange(0, spiel_höhe - snake_block) / 10.0) * 10.0
Länge_des_Snakes += 1
# Steuerung der Spielgeschwindigkeit
spiel_clock.tick(snake_geschwindigkeit)
pygame.quit()
quit()
# Aufruf der Hauptfunktion des Spiels
snake_spiel()
Hypergrid : xenolandia.de:8002:Xenotown
Grid : xenolandia.de:8002
Page: https://Xenopolias.de
Radio Xenolandia
Radiostream | Radio Facebook
Grid : xenolandia.de:8002
Page: https://Xenopolias.de
Radio Xenolandia
Radiostream | Radio Facebook


![[-]](https://www.gridtalk.de/images/collapse.png)