Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Open WebUI
#5
Big Grin

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




[-] The following 1 user says Thank You to Xenos Yifu for this post:
  • Dorena Verne
Zitieren


Nachrichten in diesem Thema
Open WebUI - von Xenos Yifu - 13.05.2026, 19:12
RE: LM Studio - von Dorena Verne - 13.05.2026, 20:48
RE: LM Studio - von Xenos Yifu - 13.05.2026, 20:49
RE: LM Studio - von Xenos Yifu - 13.05.2026, 20:50
RE: LM Studio - von Xenos Yifu - 13.05.2026, 21:44
RE: LM Studio - von Xenos Yifu - 13.05.2026, 23:27
RE: Open WebUI - von Xenos Yifu - 13.05.2026, 23:49
RE: Open WebUI - von Xenos Yifu - 14.05.2026, 12:07
RE: Open WebUI - von Xenos Yifu - 14.05.2026, 12:26
RE: Open WebUI - von Xenos Yifu - 14.05.2026, 12:40
RE: Open WebUI - von Dorena Verne - 14.05.2026, 13:05
RE: Open WebUI - von Xenos Yifu - 14.05.2026, 13:32
RE: Open WebUI - von Xenos Yifu - 14.05.2026, 13:36
RE: Open WebUI - von Dorena Verne - 14.05.2026, 13:49
RE: Open WebUI - von Xenos Yifu - 14.05.2026, 13:54
RE: Open WebUI - von Xenos Yifu - 14.05.2026, 13:56

Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Awesomebump : Map Generator -Open Source Moe McAlpine 0 6.043 05.12.2016, 22:41
Letzter Beitrag: Moe McAlpine

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste