Seite 1 von 1

Python Snake

Verfasst: Samstag 19. März 2022, 16:58
von xAMIx
Ich habe versucht an der Methode Apfel den Kopf mit insert in Körper hinzuzufügen. Aber wegen pop löscht sich der komplette Körper. Ich wollte versuchen, dass das sich die schlange bewegt. Aber es funktioniert nicht. DANKE im voraus.

import pygame
import random

pygame.init()
screen = pygame.display.set_mode((400,450))
KOPF = [200, 200]
KÖRPER = [[200, 200],[180, 200],[160,200]]
speedx = 0
speedy = 0
A = [random.randint(15,385), random.randint(15,435)]
punkt = 0
länge = 0


def draw():
for i in KÖRPER:
pygame.draw.rect(screen, pygame.Color(255, 0, 0), pygame.Rect(i[0], i[1],19,19))

def score():

font = pygame.font.SysFont("Arial Rounded MT Bold", 25)
img = font.render("SCORE: ", True, pygame.Color(47, 79, 79))
screen.blit(img, (25, 20))

font = pygame.font.SysFont("Arial Rounded MT Bold", 25)
img = font.render(str(punkt), True, pygame.Color(47, 79, 79))
screen.blit(img, (100, 20))

def Apfel():
global punkt, länge
pygame.draw.rect(screen, pygame.Color(0, 0, 255), (A[0], A[1], 15, 15))

KÖRPER.insert(0,list(KOPF))
if KOPF[0] + 19 >= A[0] and KOPF[0] - 19 <= A[0] and KOPF[1] + 19 >= A[1] and KOPF[1] - 19 <= A[1]:
punkt += 1
A[0] = random.randint(15, 385)
A[1] = random.randint(15, 435)
länge += 1
else:
KÖRPER.pop()


while True:
#
screen.fill((0, 0, 0))
KOPF[0] += speedx
KOPF[1] += speedy
#-KEY_BEWEGNUG
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
speedx = -0.3
speedy = 0
if event.key == pygame.K_RIGHT:
speedx = 0.3
speedy = 0
if event.key == pygame.K_UP:
speedy = -0.3
speedx = 0
if event.key == pygame.K_DOWN:
speedy = +0.3
speedx = 0
#-METHODEN
draw()
Apfel()
score()

pygame.display.flip()

Re: Python Snake

Verfasst: Samstag 19. März 2022, 18:34
von __blackjack__
Warum machst Du denn dafür jetzt ein neues Thema auf? Die Frage steht doch bereits hier schon einmal: viewtopic.php?f=1&t=54334