Python Snake
Verfasst: Samstag 19. März 2022, 16:58
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()
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()